Socket
Socket
Sign inDemoInstall

@openzeppelin/contracts

Package Overview
Dependencies
Maintainers
2
Versions
84
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@openzeppelin/contracts - npm Package Compare versions

Comparing version 2.4.0-beta.1 to 2.4.0-beta.2

446

build/Address.json
{
"contractName": "Address",
"abi": [],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xe0812b2b05e37bf0dc866f8ba0a1a36d6dd006ac5b02bfde80e820a2a9e804b8\",\"urls\":[\"bzzr://7010caa641157fce5262c47d6cf10c9d6a6f0094fa327485c4fcf70989ec4532\"]}},\"version\":1}",
"bytecode": "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058201efcbf2ac4b059bf99b5afbbf5cccf66acbe916ed62e14ab0e211d809908cc590029",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058201efcbf2ac4b059bf99b5afbbf5cccf66acbe916ed62e14ab0e211d809908cc590029",
"sourceMap": "93:1565:147:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24",
"deployedSourceMap": "93:1565:147:-;;;;;;;;",
"source": "pragma solidity ^0.5.0;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * This test is non-exhaustive, and there may be false-negatives: during the\n * execution of a contract's constructor, its address will be reported as\n * not containing a contract.\n *\n * IMPORTANT: It is unsafe to assume that an address for which this\n * function returns false is an externally-owned account (EOA) and not a\n * contract.\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies in extcodesize, which returns 0 for contracts in\n // construction, since the code is only stored at the end of the\n // constructor execution.\n \n // According to EIP-1052, 0x0 is the value returned for not-yet created accounts\n // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned\n // for accounts without code, i.e. `keccak256('')`\n bytes32 codehash;\n bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;\n // solhint-disable-next-line no-inline-assembly\n assembly { codehash := extcodehash(account) }\n return (codehash != 0x0 && codehash != accountHash);\n }\n\n /**\n * @dev Converts an `address` into `address payable`. Note that this is\n * simply a type cast: the actual underlying value is not changed.\n */\n function toPayable(address account) internal pure returns (address payable) {\n return address(uint160(account));\n }\n}\n",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xf4bfe37bc0ed72fb1a94abab4acec42dcabc6b2936d684f9a018a61afe2d979a\",\"urls\":[\"bzzr://a0a3a1ea455fc61ea6032cad30321369a478121b32ae8a212a73a54e57dad3b5\"]}},\"version\":1}",
"bytecode": "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058205533d76e10ea1d42193c7d50b3ed20f44a90574103ef0b3416a08d1a07369cfe0029",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058205533d76e10ea1d42193c7d50b3ed20f44a90574103ef0b3416a08d1a07369cfe0029",
"sourceMap": "93:1717:146:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24",
"deployedSourceMap": "93:1717:146:-;;;;;;;;",
"source": "pragma solidity ^0.5.0;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * This test is non-exhaustive, and there may be false-negatives: during the\n * execution of a contract's constructor, its address will be reported as\n * not containing a contract.\n *\n * IMPORTANT: It is unsafe to assume that an address for which this\n * function returns false is an externally-owned account (EOA) and not a\n * contract.\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies in extcodesize, which returns 0 for contracts in\n // construction, since the code is only stored at the end of the\n // constructor execution.\n \n // According to EIP-1052, 0x0 is the value returned for not-yet created accounts\n // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned\n // for accounts without code, i.e. `keccak256('')`\n bytes32 codehash;\n bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;\n // solhint-disable-next-line no-inline-assembly\n assembly { codehash := extcodehash(account) }\n return (codehash != 0x0 && codehash != accountHash);\n }\n\n /**\n * @dev Converts an `address` into `address payable`. Note that this is\n * simply a type cast: the actual underlying value is not changed.\n *\n * NOTE: This is a feature of the next version of OpenZeppelin Contracts.\n * @dev Get it via `npm install @openzeppelin/contracts@next`.\n */\n function toPayable(address account) internal pure returns (address payable) {\n return address(uint160(account));\n }\n}\n",
"sourcePath": "/home/frangio/oz/contracts/contracts/utils/Address.sol",

@@ -15,10 +15,10 @@ "ast": {

"Address": [
13333
13210
]
},
"id": 13334,
"id": 13211,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 13293,
"id": 13170,
"literals": [

@@ -31,3 +31,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:147"
"src": "0:23:146"
},

@@ -40,5 +40,5 @@ {

"fullyImplemented": true,
"id": 13333,
"id": 13210,
"linearizedBaseContracts": [
13333
13210
],

@@ -50,9 +50,9 @@ "name": "Address",

"body": {
"id": 13317,
"id": 13194,
"nodeType": "Block",
"src": "623:739:147",
"src": "623:739:146",
"statements": [
{
"assignments": [
13301
13178
],

@@ -62,7 +62,7 @@ "declarations": [

"constant": false,
"id": 13301,
"id": 13178,
"name": "codehash",
"nodeType": "VariableDeclaration",
"scope": 13317,
"src": "1070:16:147",
"scope": 13194,
"src": "1070:16:146",
"stateVariable": false,

@@ -75,6 +75,6 @@ "storageLocation": "default",

"typeName": {
"id": 13300,
"id": 13177,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1070:7:147",
"src": "1070:7:146",
"typeDescriptions": {

@@ -89,10 +89,10 @@ "typeIdentifier": "t_bytes32",

],
"id": 13302,
"id": 13179,
"initialValue": null,
"nodeType": "VariableDeclarationStatement",
"src": "1070:16:147"
"src": "1070:16:146"
},
{
"assignments": [
13304
13181
],

@@ -102,7 +102,7 @@ "declarations": [

"constant": false,
"id": 13304,
"id": 13181,
"name": "accountHash",
"nodeType": "VariableDeclaration",
"scope": 13317,
"src": "1096:19:147",
"scope": 13194,
"src": "1096:19:146",
"stateVariable": false,

@@ -115,6 +115,6 @@ "storageLocation": "default",

"typeName": {
"id": 13303,
"id": 13180,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1096:7:147",
"src": "1096:7:146",
"typeDescriptions": {

@@ -129,7 +129,7 @@ "typeIdentifier": "t_bytes32",

],
"id": 13306,
"id": 13183,
"initialValue": {
"argumentTypes": null,
"hexValue": "307863356432343630313836663732333363393237653764623264636337303363306535303062363533636138323237336237626661643830343564383561343730",
"id": 13305,
"id": 13182,
"isConstant": false,

@@ -141,3 +141,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "1118:66:147",
"src": "1118:66:146",
"subdenomination": null,

@@ -151,3 +151,3 @@ "typeDescriptions": {

"nodeType": "VariableDeclarationStatement",
"src": "1096:88:147"
"src": "1096:88:146"
},

@@ -158,6 +158,6 @@ {

"codehash": {
"declaration": 13301,
"declaration": 13178,
"isOffset": false,
"isSlot": false,
"src": "1261:8:147",
"src": "1261:8:146",
"valueSize": 1

@@ -168,6 +168,6 @@ }

"account": {
"declaration": 13295,
"declaration": 13172,
"isOffset": false,
"isSlot": false,
"src": "1285:7:147",
"src": "1285:7:146",
"valueSize": 1

@@ -177,6 +177,6 @@ }

],
"id": 13307,
"id": 13184,
"nodeType": "InlineAssembly",
"operations": "{\n codehash := extcodehash(account)\n}",
"src": "1250:60:147"
"src": "1250:60:146"
},

@@ -193,3 +193,3 @@ {

},
"id": 13314,
"id": 13191,
"isConstant": false,

@@ -205,3 +205,3 @@ "isLValue": false,

},
"id": 13310,
"id": 13187,
"isConstant": false,

@@ -213,8 +213,8 @@ "isLValue": false,

"argumentTypes": null,
"id": 13308,
"id": 13185,
"name": "codehash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13301,
"src": "1312:8:147",
"referencedDeclaration": 13178,
"src": "1312:8:146",
"typeDescriptions": {

@@ -230,3 +230,3 @@ "typeIdentifier": "t_bytes32",

"hexValue": "307830",
"id": 13309,
"id": 13186,
"isConstant": false,

@@ -238,3 +238,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "1324:3:147",
"src": "1324:3:146",
"subdenomination": null,

@@ -247,3 +247,3 @@ "typeDescriptions": {

},
"src": "1312:15:147",
"src": "1312:15:146",
"typeDescriptions": {

@@ -262,3 +262,3 @@ "typeIdentifier": "t_bool",

},
"id": 13313,
"id": 13190,
"isConstant": false,

@@ -270,8 +270,8 @@ "isLValue": false,

"argumentTypes": null,
"id": 13311,
"id": 13188,
"name": "codehash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13301,
"src": "1331:8:147",
"referencedDeclaration": 13178,
"src": "1331:8:146",
"typeDescriptions": {

@@ -286,8 +286,8 @@ "typeIdentifier": "t_bytes32",

"argumentTypes": null,
"id": 13312,
"id": 13189,
"name": "accountHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13304,
"src": "1343:11:147",
"referencedDeclaration": 13181,
"src": "1343:11:146",
"typeDescriptions": {

@@ -298,3 +298,3 @@ "typeIdentifier": "t_bytes32",

},
"src": "1331:23:147",
"src": "1331:23:146",
"typeDescriptions": {

@@ -305,3 +305,3 @@ "typeIdentifier": "t_bool",

},
"src": "1312:42:147",
"src": "1312:42:146",
"typeDescriptions": {

@@ -313,3 +313,3 @@ "typeIdentifier": "t_bool",

],
"id": 13315,
"id": 13192,
"isConstant": false,

@@ -321,3 +321,3 @@ "isInlineArray": false,

"nodeType": "TupleExpression",
"src": "1311:44:147",
"src": "1311:44:146",
"typeDescriptions": {

@@ -328,6 +328,6 @@ "typeIdentifier": "t_bool",

},
"functionReturnParameters": 13299,
"id": 13316,
"functionReturnParameters": 13176,
"id": 13193,
"nodeType": "Return",
"src": "1304:51:147"
"src": "1304:51:146"
}

@@ -337,3 +337,3 @@ ]

"documentation": "@dev Returns true if `account` is a contract.\n * This test is non-exhaustive, and there may be false-negatives: during the\nexecution of a contract's constructor, its address will be reported as\nnot containing a contract.\n * IMPORTANT: It is unsafe to assume that an address for which this\nfunction returns false is an externally-owned account (EOA) and not a\ncontract.",
"id": 13318,
"id": 13195,
"implemented": true,

@@ -345,3 +345,3 @@ "kind": "function",

"parameters": {
"id": 13296,
"id": 13173,
"nodeType": "ParameterList",

@@ -351,7 +351,7 @@ "parameters": [

"constant": false,
"id": 13295,
"id": 13172,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 13318,
"src": "577:15:147",
"scope": 13195,
"src": "577:15:146",
"stateVariable": false,

@@ -364,6 +364,6 @@ "storageLocation": "default",

"typeName": {
"id": 13294,
"id": 13171,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "577:7:147",
"src": "577:7:146",
"stateMutability": "nonpayable",

@@ -379,6 +379,6 @@ "typeDescriptions": {

],
"src": "576:17:147"
"src": "576:17:146"
},
"returnParameters": {
"id": 13299,
"id": 13176,
"nodeType": "ParameterList",

@@ -388,7 +388,7 @@ "parameters": [

"constant": false,
"id": 13298,
"id": 13175,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 13318,
"src": "617:4:147",
"scope": 13195,
"src": "617:4:146",
"stateVariable": false,

@@ -401,6 +401,6 @@ "storageLocation": "default",

"typeName": {
"id": 13297,
"id": 13174,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "617:4:147",
"src": "617:4:146",
"typeDescriptions": {

@@ -415,6 +415,6 @@ "typeIdentifier": "t_bool",

],
"src": "616:6:147"
"src": "616:6:146"
},
"scope": 13333,
"src": "557:805:147",
"scope": 13210,
"src": "557:805:146",
"stateMutability": "view",

@@ -426,5 +426,5 @@ "superFunction": null,

"body": {
"id": 13331,
"id": 13208,
"nodeType": "Block",
"src": "1607:49:147",
"src": "1759:49:146",
"statements": [

@@ -440,8 +440,8 @@ {

"argumentTypes": null,
"id": 13327,
"id": 13204,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13320,
"src": "1640:7:147",
"referencedDeclaration": 13197,
"src": "1792:7:146",
"typeDescriptions": {

@@ -460,3 +460,3 @@ "typeIdentifier": "t_address",

],
"id": 13326,
"id": 13203,
"isConstant": false,

@@ -467,3 +467,3 @@ "isLValue": false,

"nodeType": "ElementaryTypeNameExpression",
"src": "1632:7:147",
"src": "1784:7:146",
"typeDescriptions": {

@@ -475,3 +475,3 @@ "typeIdentifier": "t_type$_t_uint160_$",

},
"id": 13328,
"id": 13205,
"isConstant": false,

@@ -484,3 +484,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "1632:16:147",
"src": "1784:16:146",
"typeDescriptions": {

@@ -499,3 +499,3 @@ "typeIdentifier": "t_uint160",

],
"id": 13325,
"id": 13202,
"isConstant": false,

@@ -506,3 +506,3 @@ "isLValue": false,

"nodeType": "ElementaryTypeNameExpression",
"src": "1624:7:147",
"src": "1776:7:146",
"typeDescriptions": {

@@ -514,3 +514,3 @@ "typeIdentifier": "t_type$_t_address_$",

},
"id": 13329,
"id": 13206,
"isConstant": false,

@@ -523,3 +523,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "1624:25:147",
"src": "1776:25:146",
"typeDescriptions": {

@@ -530,11 +530,11 @@ "typeIdentifier": "t_address_payable",

},
"functionReturnParameters": 13324,
"id": 13330,
"functionReturnParameters": 13201,
"id": 13207,
"nodeType": "Return",
"src": "1617:32:147"
"src": "1769:32:146"
}
]
},
"documentation": "@dev Converts an `address` into `address payable`. Note that this is\nsimply a type cast: the actual underlying value is not changed.",
"id": 13332,
"documentation": "@dev Converts an `address` into `address payable`. Note that this is\nsimply a type cast: the actual underlying value is not changed.\n * NOTE: This is a feature of the next version of OpenZeppelin Contracts.\n@dev Get it via `npm install @openzeppelin/contracts@next`.",
"id": 13209,
"implemented": true,

@@ -546,3 +546,3 @@ "kind": "function",

"parameters": {
"id": 13321,
"id": 13198,
"nodeType": "ParameterList",

@@ -552,7 +552,7 @@ "parameters": [

"constant": false,
"id": 13320,
"id": 13197,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 13332,
"src": "1550:15:147",
"scope": 13209,
"src": "1702:15:146",
"stateVariable": false,

@@ -565,6 +565,6 @@ "storageLocation": "default",

"typeName": {
"id": 13319,
"id": 13196,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1550:7:147",
"src": "1702:7:146",
"stateMutability": "nonpayable",

@@ -580,6 +580,6 @@ "typeDescriptions": {

],
"src": "1549:17:147"
"src": "1701:17:146"
},
"returnParameters": {
"id": 13324,
"id": 13201,
"nodeType": "ParameterList",

@@ -589,7 +589,7 @@ "parameters": [

"constant": false,
"id": 13323,
"id": 13200,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 13332,
"src": "1590:15:147",
"scope": 13209,
"src": "1742:15:146",
"stateVariable": false,

@@ -602,6 +602,6 @@ "storageLocation": "default",

"typeName": {
"id": 13322,
"id": 13199,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1590:15:147",
"src": "1742:15:146",
"stateMutability": "payable",

@@ -617,6 +617,6 @@ "typeDescriptions": {

],
"src": "1589:17:147"
"src": "1741:17:146"
},
"scope": 13333,
"src": "1531:125:147",
"scope": 13210,
"src": "1683:125:146",
"stateMutability": "pure",

@@ -627,7 +627,7 @@ "superFunction": null,

],
"scope": 13334,
"src": "93:1565:147"
"scope": 13211,
"src": "93:1717:146"
}
],
"src": "0:1659:147"
"src": "0:1811:146"
},

@@ -638,10 +638,10 @@ "legacyAST": {

"Address": [
13333
13210
]
},
"id": 13334,
"id": 13211,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 13293,
"id": 13170,
"literals": [

@@ -654,3 +654,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:147"
"src": "0:23:146"
},

@@ -663,5 +663,5 @@ {

"fullyImplemented": true,
"id": 13333,
"id": 13210,
"linearizedBaseContracts": [
13333
13210
],

@@ -673,9 +673,9 @@ "name": "Address",

"body": {
"id": 13317,
"id": 13194,
"nodeType": "Block",
"src": "623:739:147",
"src": "623:739:146",
"statements": [
{
"assignments": [
13301
13178
],

@@ -685,7 +685,7 @@ "declarations": [

"constant": false,
"id": 13301,
"id": 13178,
"name": "codehash",
"nodeType": "VariableDeclaration",
"scope": 13317,
"src": "1070:16:147",
"scope": 13194,
"src": "1070:16:146",
"stateVariable": false,

@@ -698,6 +698,6 @@ "storageLocation": "default",

"typeName": {
"id": 13300,
"id": 13177,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1070:7:147",
"src": "1070:7:146",
"typeDescriptions": {

@@ -712,10 +712,10 @@ "typeIdentifier": "t_bytes32",

],
"id": 13302,
"id": 13179,
"initialValue": null,
"nodeType": "VariableDeclarationStatement",
"src": "1070:16:147"
"src": "1070:16:146"
},
{
"assignments": [
13304
13181
],

@@ -725,7 +725,7 @@ "declarations": [

"constant": false,
"id": 13304,
"id": 13181,
"name": "accountHash",
"nodeType": "VariableDeclaration",
"scope": 13317,
"src": "1096:19:147",
"scope": 13194,
"src": "1096:19:146",
"stateVariable": false,

@@ -738,6 +738,6 @@ "storageLocation": "default",

"typeName": {
"id": 13303,
"id": 13180,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1096:7:147",
"src": "1096:7:146",
"typeDescriptions": {

@@ -752,7 +752,7 @@ "typeIdentifier": "t_bytes32",

],
"id": 13306,
"id": 13183,
"initialValue": {
"argumentTypes": null,
"hexValue": "307863356432343630313836663732333363393237653764623264636337303363306535303062363533636138323237336237626661643830343564383561343730",
"id": 13305,
"id": 13182,
"isConstant": false,

@@ -764,3 +764,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "1118:66:147",
"src": "1118:66:146",
"subdenomination": null,

@@ -774,3 +774,3 @@ "typeDescriptions": {

"nodeType": "VariableDeclarationStatement",
"src": "1096:88:147"
"src": "1096:88:146"
},

@@ -781,6 +781,6 @@ {

"codehash": {
"declaration": 13301,
"declaration": 13178,
"isOffset": false,
"isSlot": false,
"src": "1261:8:147",
"src": "1261:8:146",
"valueSize": 1

@@ -791,6 +791,6 @@ }

"account": {
"declaration": 13295,
"declaration": 13172,
"isOffset": false,
"isSlot": false,
"src": "1285:7:147",
"src": "1285:7:146",
"valueSize": 1

@@ -800,6 +800,6 @@ }

],
"id": 13307,
"id": 13184,
"nodeType": "InlineAssembly",
"operations": "{\n codehash := extcodehash(account)\n}",
"src": "1250:60:147"
"src": "1250:60:146"
},

@@ -816,3 +816,3 @@ {

},
"id": 13314,
"id": 13191,
"isConstant": false,

@@ -828,3 +828,3 @@ "isLValue": false,

},
"id": 13310,
"id": 13187,
"isConstant": false,

@@ -836,8 +836,8 @@ "isLValue": false,

"argumentTypes": null,
"id": 13308,
"id": 13185,
"name": "codehash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13301,
"src": "1312:8:147",
"referencedDeclaration": 13178,
"src": "1312:8:146",
"typeDescriptions": {

@@ -853,3 +853,3 @@ "typeIdentifier": "t_bytes32",

"hexValue": "307830",
"id": 13309,
"id": 13186,
"isConstant": false,

@@ -861,3 +861,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "1324:3:147",
"src": "1324:3:146",
"subdenomination": null,

@@ -870,3 +870,3 @@ "typeDescriptions": {

},
"src": "1312:15:147",
"src": "1312:15:146",
"typeDescriptions": {

@@ -885,3 +885,3 @@ "typeIdentifier": "t_bool",

},
"id": 13313,
"id": 13190,
"isConstant": false,

@@ -893,8 +893,8 @@ "isLValue": false,

"argumentTypes": null,
"id": 13311,
"id": 13188,
"name": "codehash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13301,
"src": "1331:8:147",
"referencedDeclaration": 13178,
"src": "1331:8:146",
"typeDescriptions": {

@@ -909,8 +909,8 @@ "typeIdentifier": "t_bytes32",

"argumentTypes": null,
"id": 13312,
"id": 13189,
"name": "accountHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13304,
"src": "1343:11:147",
"referencedDeclaration": 13181,
"src": "1343:11:146",
"typeDescriptions": {

@@ -921,3 +921,3 @@ "typeIdentifier": "t_bytes32",

},
"src": "1331:23:147",
"src": "1331:23:146",
"typeDescriptions": {

@@ -928,3 +928,3 @@ "typeIdentifier": "t_bool",

},
"src": "1312:42:147",
"src": "1312:42:146",
"typeDescriptions": {

@@ -936,3 +936,3 @@ "typeIdentifier": "t_bool",

],
"id": 13315,
"id": 13192,
"isConstant": false,

@@ -944,3 +944,3 @@ "isInlineArray": false,

"nodeType": "TupleExpression",
"src": "1311:44:147",
"src": "1311:44:146",
"typeDescriptions": {

@@ -951,6 +951,6 @@ "typeIdentifier": "t_bool",

},
"functionReturnParameters": 13299,
"id": 13316,
"functionReturnParameters": 13176,
"id": 13193,
"nodeType": "Return",
"src": "1304:51:147"
"src": "1304:51:146"
}

@@ -960,3 +960,3 @@ ]

"documentation": "@dev Returns true if `account` is a contract.\n * This test is non-exhaustive, and there may be false-negatives: during the\nexecution of a contract's constructor, its address will be reported as\nnot containing a contract.\n * IMPORTANT: It is unsafe to assume that an address for which this\nfunction returns false is an externally-owned account (EOA) and not a\ncontract.",
"id": 13318,
"id": 13195,
"implemented": true,

@@ -968,3 +968,3 @@ "kind": "function",

"parameters": {
"id": 13296,
"id": 13173,
"nodeType": "ParameterList",

@@ -974,7 +974,7 @@ "parameters": [

"constant": false,
"id": 13295,
"id": 13172,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 13318,
"src": "577:15:147",
"scope": 13195,
"src": "577:15:146",
"stateVariable": false,

@@ -987,6 +987,6 @@ "storageLocation": "default",

"typeName": {
"id": 13294,
"id": 13171,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "577:7:147",
"src": "577:7:146",
"stateMutability": "nonpayable",

@@ -1002,6 +1002,6 @@ "typeDescriptions": {

],
"src": "576:17:147"
"src": "576:17:146"
},
"returnParameters": {
"id": 13299,
"id": 13176,
"nodeType": "ParameterList",

@@ -1011,7 +1011,7 @@ "parameters": [

"constant": false,
"id": 13298,
"id": 13175,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 13318,
"src": "617:4:147",
"scope": 13195,
"src": "617:4:146",
"stateVariable": false,

@@ -1024,6 +1024,6 @@ "storageLocation": "default",

"typeName": {
"id": 13297,
"id": 13174,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "617:4:147",
"src": "617:4:146",
"typeDescriptions": {

@@ -1038,6 +1038,6 @@ "typeIdentifier": "t_bool",

],
"src": "616:6:147"
"src": "616:6:146"
},
"scope": 13333,
"src": "557:805:147",
"scope": 13210,
"src": "557:805:146",
"stateMutability": "view",

@@ -1049,5 +1049,5 @@ "superFunction": null,

"body": {
"id": 13331,
"id": 13208,
"nodeType": "Block",
"src": "1607:49:147",
"src": "1759:49:146",
"statements": [

@@ -1063,8 +1063,8 @@ {

"argumentTypes": null,
"id": 13327,
"id": 13204,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13320,
"src": "1640:7:147",
"referencedDeclaration": 13197,
"src": "1792:7:146",
"typeDescriptions": {

@@ -1083,3 +1083,3 @@ "typeIdentifier": "t_address",

],
"id": 13326,
"id": 13203,
"isConstant": false,

@@ -1090,3 +1090,3 @@ "isLValue": false,

"nodeType": "ElementaryTypeNameExpression",
"src": "1632:7:147",
"src": "1784:7:146",
"typeDescriptions": {

@@ -1098,3 +1098,3 @@ "typeIdentifier": "t_type$_t_uint160_$",

},
"id": 13328,
"id": 13205,
"isConstant": false,

@@ -1107,3 +1107,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "1632:16:147",
"src": "1784:16:146",
"typeDescriptions": {

@@ -1122,3 +1122,3 @@ "typeIdentifier": "t_uint160",

],
"id": 13325,
"id": 13202,
"isConstant": false,

@@ -1129,3 +1129,3 @@ "isLValue": false,

"nodeType": "ElementaryTypeNameExpression",
"src": "1624:7:147",
"src": "1776:7:146",
"typeDescriptions": {

@@ -1137,3 +1137,3 @@ "typeIdentifier": "t_type$_t_address_$",

},
"id": 13329,
"id": 13206,
"isConstant": false,

@@ -1146,3 +1146,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "1624:25:147",
"src": "1776:25:146",
"typeDescriptions": {

@@ -1153,11 +1153,11 @@ "typeIdentifier": "t_address_payable",

},
"functionReturnParameters": 13324,
"id": 13330,
"functionReturnParameters": 13201,
"id": 13207,
"nodeType": "Return",
"src": "1617:32:147"
"src": "1769:32:146"
}
]
},
"documentation": "@dev Converts an `address` into `address payable`. Note that this is\nsimply a type cast: the actual underlying value is not changed.",
"id": 13332,
"documentation": "@dev Converts an `address` into `address payable`. Note that this is\nsimply a type cast: the actual underlying value is not changed.\n * NOTE: This is a feature of the next version of OpenZeppelin Contracts.\n@dev Get it via `npm install @openzeppelin/contracts@next`.",
"id": 13209,
"implemented": true,

@@ -1169,3 +1169,3 @@ "kind": "function",

"parameters": {
"id": 13321,
"id": 13198,
"nodeType": "ParameterList",

@@ -1175,7 +1175,7 @@ "parameters": [

"constant": false,
"id": 13320,
"id": 13197,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 13332,
"src": "1550:15:147",
"scope": 13209,
"src": "1702:15:146",
"stateVariable": false,

@@ -1188,6 +1188,6 @@ "storageLocation": "default",

"typeName": {
"id": 13319,
"id": 13196,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1550:7:147",
"src": "1702:7:146",
"stateMutability": "nonpayable",

@@ -1203,6 +1203,6 @@ "typeDescriptions": {

],
"src": "1549:17:147"
"src": "1701:17:146"
},
"returnParameters": {
"id": 13324,
"id": 13201,
"nodeType": "ParameterList",

@@ -1212,7 +1212,7 @@ "parameters": [

"constant": false,
"id": 13323,
"id": 13200,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 13332,
"src": "1590:15:147",
"scope": 13209,
"src": "1742:15:146",
"stateVariable": false,

@@ -1225,6 +1225,6 @@ "storageLocation": "default",

"typeName": {
"id": 13322,
"id": 13199,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1590:15:147",
"src": "1742:15:146",
"stateMutability": "payable",

@@ -1240,6 +1240,6 @@ "typeDescriptions": {

],
"src": "1589:17:147"
"src": "1741:17:146"
},
"scope": 13333,
"src": "1531:125:147",
"scope": 13210,
"src": "1683:125:146",
"stateMutability": "pure",

@@ -1250,7 +1250,7 @@ "superFunction": null,

],
"scope": 13334,
"src": "93:1565:147"
"scope": 13211,
"src": "93:1717:146"
}
],
"src": "0:1659:147"
"src": "0:1811:146"
},

@@ -1263,3 +1263,3 @@ "compiler": {

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.862Z",
"updatedAt": "2019-08-16T19:32:31.378Z",
"devdoc": {

@@ -1266,0 +1266,0 @@ "details": "Collection of functions related to the address type",

@@ -43,7 +43,7 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isContract\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"toPayable\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/AddressImpl.sol\":\"AddressImpl\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/mocks/AddressImpl.sol\":{\"keccak256\":\"0x4ee9f19411545270c7535d7bf55b1b6823976f4af3cd9364cb265fad29cbea84\",\"urls\":[\"bzzr://a7487bd54d48b19a8f7db11443e33dca1f5e40d762e8f899f18c8051fa5d823b\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xe0812b2b05e37bf0dc866f8ba0a1a36d6dd006ac5b02bfde80e820a2a9e804b8\",\"urls\":[\"bzzr://7010caa641157fce5262c47d6cf10c9d6a6f0094fa327485c4fcf70989ec4532\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b506101c0806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063162790551461003b57806351ecabd614610097575b600080fd5b61007d6004803603602081101561005157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061011b565b604051808215151515815260200191505060405180910390f35b6100d9600480360360208110156100ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061012d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006101268261013f565b9050919050565b60006101388261018a565b9050919050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156101815750808214155b92505050919050565b600081905091905056fea165627a7a72305820ac910b8a41c5642834b9bc29632ce95f4b4d8564c368f89bf348d77d515bef2c0029",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063162790551461003b57806351ecabd614610097575b600080fd5b61007d6004803603602081101561005157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061011b565b604051808215151515815260200191505060405180910390f35b6100d9600480360360208110156100ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061012d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006101268261013f565b9050919050565b60006101388261018a565b9050919050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156101815750808214155b92505050919050565b600081905091905056fea165627a7a72305820ac910b8a41c5642834b9bc29632ce95f4b4d8564c368f89bf348d77d515bef2c0029",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isContract\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"toPayable\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/AddressImpl.sol\":\"AddressImpl\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/mocks/AddressImpl.sol\":{\"keccak256\":\"0x4ee9f19411545270c7535d7bf55b1b6823976f4af3cd9364cb265fad29cbea84\",\"urls\":[\"bzzr://a7487bd54d48b19a8f7db11443e33dca1f5e40d762e8f899f18c8051fa5d823b\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xf4bfe37bc0ed72fb1a94abab4acec42dcabc6b2936d684f9a018a61afe2d979a\",\"urls\":[\"bzzr://a0a3a1ea455fc61ea6032cad30321369a478121b32ae8a212a73a54e57dad3b5\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b506101c0806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063162790551461003b57806351ecabd614610097575b600080fd5b61007d6004803603602081101561005157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061011b565b604051808215151515815260200191505060405180910390f35b6100d9600480360360208110156100ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061012d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006101268261013f565b9050919050565b60006101388261018a565b9050919050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156101815750808214155b92505050919050565b600081905091905056fea165627a7a7230582004ed67d03474df9e92e54bc4589fbe91492dacaea61fbd5855def61edb78575c0029",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063162790551461003b57806351ecabd614610097575b600080fd5b61007d6004803603602081101561005157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061011b565b604051808215151515815260200191505060405180910390f35b6100d9600480360360208110156100ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061012d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006101268261013f565b9050919050565b60006101388261018a565b9050919050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156101815750808214155b92505050919050565b600081905091905056fea165627a7a7230582004ed67d03474df9e92e54bc4589fbe91492dacaea61fbd5855def61edb78575c0029",
"sourceMap": "57:278:49:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;57:278:49;;;;;;;",
"deployedSourceMap": "57:278:49:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;57:278:49;;;;;;;;;;;;;;;;;;;;;;;;84:117;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;84:117:49;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;207:126;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;207:126:49;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;84:117;144:4;167:27;186:7;167:18;:27::i;:::-;160:34;;84:117;;;:::o;207:126::-;266:15;300:26;318:7;300:17;:26::i;:::-;293:33;;207:126;;;:::o;557:805:147:-;617:4;1070:16;1096:19;1118:66;1096:88;;;;1285:7;1273:20;1261:32;;1324:3;1312:15;;:8;:15;;:42;;;;;1343:11;1331:8;:23;;1312:42;1304:51;;;;557:805;;;:::o;1531:125::-;1590:15;1640:7;1617:32;;1531:125;;;:::o",
"deployedSourceMap": "57:278:49:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;57:278:49;;;;;;;;;;;;;;;;;;;;;;;;84:117;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;84:117:49;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;207:126;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;207:126:49;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;84:117;144:4;167:27;186:7;167:18;:27::i;:::-;160:34;;84:117;;;:::o;207:126::-;266:15;300:26;318:7;300:17;:26::i;:::-;293:33;;207:126;;;:::o;557:805:146:-;617:4;1070:16;1096:19;1118:66;1096:88;;;;1285:7;1273:20;1261:32;;1324:3;1312:15;;:8;:15;;:42;;;;;1343:11;1331:8;:23;;1312:42;1304:51;;;;557:805;;;:::o;1683:125::-;1742:15;1792:7;1769:32;;1683:125;;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../utils/Address.sol\";\n\ncontract AddressImpl {\n function isContract(address account) external view returns (bool) {\n return Address.isContract(account);\n }\n\n function toPayable(address account) external pure returns (address payable) {\n return Address.toPayable(account);\n }\n}\n",

@@ -55,10 +55,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/AddressImpl.sol",

"AddressImpl": [
5560
5539
]
},
"id": 5561,
"id": 5540,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5532,
"id": 5511,
"literals": [

@@ -76,6 +76,6 @@ "solidity",

"file": "../utils/Address.sol",
"id": 5533,
"id": 5512,
"nodeType": "ImportDirective",
"scope": 5561,
"sourceUnit": 13334,
"scope": 5540,
"sourceUnit": 13211,
"src": "25:30:49",

@@ -91,5 +91,5 @@ "symbolAliases": [],

"fullyImplemented": true,
"id": 5560,
"id": 5539,
"linearizedBaseContracts": [
5560
5539
],

@@ -101,3 +101,3 @@ "name": "AddressImpl",

"body": {
"id": 5545,
"id": 5524,
"nodeType": "Block",

@@ -112,7 +112,7 @@ "src": "150:51:49",

"argumentTypes": null,
"id": 5542,
"id": 5521,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5535,
"referencedDeclaration": 5514,
"src": "186:7:49",

@@ -134,14 +134,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5540,
"id": 5519,
"name": "Address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13333,
"referencedDeclaration": 13210,
"src": "167:7:49",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Address_$13333_$",
"typeIdentifier": "t_type$_t_contract$_Address_$13210_$",
"typeString": "type(library Address)"
}
},
"id": 5541,
"id": 5520,
"isConstant": false,

@@ -153,3 +153,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 13318,
"referencedDeclaration": 13195,
"src": "167:18:49",

@@ -161,3 +161,3 @@ "typeDescriptions": {

},
"id": 5543,
"id": 5522,
"isConstant": false,

@@ -176,4 +176,4 @@ "isLValue": false,

},
"functionReturnParameters": 5539,
"id": 5544,
"functionReturnParameters": 5518,
"id": 5523,
"nodeType": "Return",

@@ -185,3 +185,3 @@ "src": "160:34:49"

"documentation": null,
"id": 5546,
"id": 5525,
"implemented": true,

@@ -193,3 +193,3 @@ "kind": "function",

"parameters": {
"id": 5536,
"id": 5515,
"nodeType": "ParameterList",

@@ -199,6 +199,6 @@ "parameters": [

"constant": false,
"id": 5535,
"id": 5514,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 5546,
"scope": 5525,
"src": "104:15:49",

@@ -212,3 +212,3 @@ "stateVariable": false,

"typeName": {
"id": 5534,
"id": 5513,
"name": "address",

@@ -230,3 +230,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5539,
"id": 5518,
"nodeType": "ParameterList",

@@ -236,6 +236,6 @@ "parameters": [

"constant": false,
"id": 5538,
"id": 5517,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 5546,
"scope": 5525,
"src": "144:4:49",

@@ -249,3 +249,3 @@ "stateVariable": false,

"typeName": {
"id": 5537,
"id": 5516,
"name": "bool",

@@ -265,3 +265,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 5560,
"scope": 5539,
"src": "84:117:49",

@@ -274,3 +274,3 @@ "stateMutability": "view",

"body": {
"id": 5558,
"id": 5537,
"nodeType": "Block",

@@ -285,7 +285,7 @@ "src": "283:50:49",

"argumentTypes": null,
"id": 5555,
"id": 5534,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5548,
"referencedDeclaration": 5527,
"src": "318:7:49",

@@ -307,14 +307,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5553,
"id": 5532,
"name": "Address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13333,
"referencedDeclaration": 13210,
"src": "300:7:49",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Address_$13333_$",
"typeIdentifier": "t_type$_t_contract$_Address_$13210_$",
"typeString": "type(library Address)"
}
},
"id": 5554,
"id": 5533,
"isConstant": false,

@@ -326,3 +326,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 13332,
"referencedDeclaration": 13209,
"src": "300:17:49",

@@ -334,3 +334,3 @@ "typeDescriptions": {

},
"id": 5556,
"id": 5535,
"isConstant": false,

@@ -349,4 +349,4 @@ "isLValue": false,

},
"functionReturnParameters": 5552,
"id": 5557,
"functionReturnParameters": 5531,
"id": 5536,
"nodeType": "Return",

@@ -358,3 +358,3 @@ "src": "293:33:49"

"documentation": null,
"id": 5559,
"id": 5538,
"implemented": true,

@@ -366,3 +366,3 @@ "kind": "function",

"parameters": {
"id": 5549,
"id": 5528,
"nodeType": "ParameterList",

@@ -372,6 +372,6 @@ "parameters": [

"constant": false,
"id": 5548,
"id": 5527,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 5559,
"scope": 5538,
"src": "226:15:49",

@@ -385,3 +385,3 @@ "stateVariable": false,

"typeName": {
"id": 5547,
"id": 5526,
"name": "address",

@@ -403,3 +403,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5552,
"id": 5531,
"nodeType": "ParameterList",

@@ -409,6 +409,6 @@ "parameters": [

"constant": false,
"id": 5551,
"id": 5530,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 5559,
"scope": 5538,
"src": "266:15:49",

@@ -422,3 +422,3 @@ "stateVariable": false,

"typeName": {
"id": 5550,
"id": 5529,
"name": "address",

@@ -439,3 +439,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 5560,
"scope": 5539,
"src": "207:126:49",

@@ -447,3 +447,3 @@ "stateMutability": "pure",

],
"scope": 5561,
"scope": 5540,
"src": "57:278:49"

@@ -458,10 +458,10 @@ }

"AddressImpl": [
5560
5539
]
},
"id": 5561,
"id": 5540,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5532,
"id": 5511,
"literals": [

@@ -479,6 +479,6 @@ "solidity",

"file": "../utils/Address.sol",
"id": 5533,
"id": 5512,
"nodeType": "ImportDirective",
"scope": 5561,
"sourceUnit": 13334,
"scope": 5540,
"sourceUnit": 13211,
"src": "25:30:49",

@@ -494,5 +494,5 @@ "symbolAliases": [],

"fullyImplemented": true,
"id": 5560,
"id": 5539,
"linearizedBaseContracts": [
5560
5539
],

@@ -504,3 +504,3 @@ "name": "AddressImpl",

"body": {
"id": 5545,
"id": 5524,
"nodeType": "Block",

@@ -515,7 +515,7 @@ "src": "150:51:49",

"argumentTypes": null,
"id": 5542,
"id": 5521,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5535,
"referencedDeclaration": 5514,
"src": "186:7:49",

@@ -537,14 +537,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5540,
"id": 5519,
"name": "Address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13333,
"referencedDeclaration": 13210,
"src": "167:7:49",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Address_$13333_$",
"typeIdentifier": "t_type$_t_contract$_Address_$13210_$",
"typeString": "type(library Address)"
}
},
"id": 5541,
"id": 5520,
"isConstant": false,

@@ -556,3 +556,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 13318,
"referencedDeclaration": 13195,
"src": "167:18:49",

@@ -564,3 +564,3 @@ "typeDescriptions": {

},
"id": 5543,
"id": 5522,
"isConstant": false,

@@ -579,4 +579,4 @@ "isLValue": false,

},
"functionReturnParameters": 5539,
"id": 5544,
"functionReturnParameters": 5518,
"id": 5523,
"nodeType": "Return",

@@ -588,3 +588,3 @@ "src": "160:34:49"

"documentation": null,
"id": 5546,
"id": 5525,
"implemented": true,

@@ -596,3 +596,3 @@ "kind": "function",

"parameters": {
"id": 5536,
"id": 5515,
"nodeType": "ParameterList",

@@ -602,6 +602,6 @@ "parameters": [

"constant": false,
"id": 5535,
"id": 5514,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 5546,
"scope": 5525,
"src": "104:15:49",

@@ -615,3 +615,3 @@ "stateVariable": false,

"typeName": {
"id": 5534,
"id": 5513,
"name": "address",

@@ -633,3 +633,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5539,
"id": 5518,
"nodeType": "ParameterList",

@@ -639,6 +639,6 @@ "parameters": [

"constant": false,
"id": 5538,
"id": 5517,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 5546,
"scope": 5525,
"src": "144:4:49",

@@ -652,3 +652,3 @@ "stateVariable": false,

"typeName": {
"id": 5537,
"id": 5516,
"name": "bool",

@@ -668,3 +668,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 5560,
"scope": 5539,
"src": "84:117:49",

@@ -677,3 +677,3 @@ "stateMutability": "view",

"body": {
"id": 5558,
"id": 5537,
"nodeType": "Block",

@@ -688,7 +688,7 @@ "src": "283:50:49",

"argumentTypes": null,
"id": 5555,
"id": 5534,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5548,
"referencedDeclaration": 5527,
"src": "318:7:49",

@@ -710,14 +710,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5553,
"id": 5532,
"name": "Address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13333,
"referencedDeclaration": 13210,
"src": "300:7:49",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Address_$13333_$",
"typeIdentifier": "t_type$_t_contract$_Address_$13210_$",
"typeString": "type(library Address)"
}
},
"id": 5554,
"id": 5533,
"isConstant": false,

@@ -729,3 +729,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 13332,
"referencedDeclaration": 13209,
"src": "300:17:49",

@@ -737,3 +737,3 @@ "typeDescriptions": {

},
"id": 5556,
"id": 5535,
"isConstant": false,

@@ -752,4 +752,4 @@ "isLValue": false,

},
"functionReturnParameters": 5552,
"id": 5557,
"functionReturnParameters": 5531,
"id": 5536,
"nodeType": "Return",

@@ -761,3 +761,3 @@ "src": "293:33:49"

"documentation": null,
"id": 5559,
"id": 5538,
"implemented": true,

@@ -769,3 +769,3 @@ "kind": "function",

"parameters": {
"id": 5549,
"id": 5528,
"nodeType": "ParameterList",

@@ -775,6 +775,6 @@ "parameters": [

"constant": false,
"id": 5548,
"id": 5527,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 5559,
"scope": 5538,
"src": "226:15:49",

@@ -788,3 +788,3 @@ "stateVariable": false,

"typeName": {
"id": 5547,
"id": 5526,
"name": "address",

@@ -806,3 +806,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5552,
"id": 5531,
"nodeType": "ParameterList",

@@ -812,6 +812,6 @@ "parameters": [

"constant": false,
"id": 5551,
"id": 5530,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 5559,
"scope": 5538,
"src": "266:15:49",

@@ -825,3 +825,3 @@ "stateVariable": false,

"typeName": {
"id": 5550,
"id": 5529,
"name": "address",

@@ -842,3 +842,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 5560,
"scope": 5539,
"src": "207:126:49",

@@ -850,3 +850,3 @@ "stateMutability": "pure",

],
"scope": 5561,
"scope": 5540,
"src": "57:278:49"

@@ -863,3 +863,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.721Z",
"updatedAt": "2019-08-16T19:32:31.239Z",
"devdoc": {

@@ -866,0 +866,0 @@ "methods": {}

@@ -158,7 +158,7 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"remainingTokens\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenWallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"rate\",\"type\":\"uint256\"},{\"name\":\"wallet\",\"type\":\"address\"},{\"name\":\"token\",\"type\":\"address\"},{\"name\":\"tokenWallet\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"remainingTokens()\":{\"details\":\"Checks the amount of tokens left in the allowance.\",\"return\":\"Amount of tokens left in the allowance\"},\"token()\":{\"return\":\"the token being sold.\"},\"tokenWallet()\":{\"return\":\"the address of the wallet that will hold the tokens.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/AllowanceCrowdsaleImpl.sol\":\"AllowanceCrowdsaleImpl\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/emission/AllowanceCrowdsale.sol\":{\"keccak256\":\"0x29502dd6dabc9950df59707968e8ff6a3b45c809b0ee32e9f4d6914fba0aee96\",\"urls\":[\"bzzr://bd2fcba21c24cc4897319ad5cf57a91b7a86855394b9165d9339ebabb11c8bc2\"]},\"/home/frangio/oz/contracts/contracts/math/Math.sol\":{\"keccak256\":\"0x4b5aa451e4e8801478708f94b118a7821c0500d676255eaf89fc78c14856ce4e\",\"urls\":[\"bzzr://200d5728b32858918810d8d7a8db1406ee9b157ad5026f050e6d864a696b9080\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/mocks/AllowanceCrowdsaleImpl.sol\":{\"keccak256\":\"0x9b2c8937a718a55bdd8e1729e9ed654686f77925ae9fb80453c88a26629443ad\",\"urls\":[\"bzzr://c5ba7cae9204fa121e4256926dcd613705c88e2bb247142c9cf14ccce40c38a7\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xe0812b2b05e37bf0dc866f8ba0a1a36d6dd006ac5b02bfde80e820a2a9e804b8\",\"urls\":[\"bzzr://7010caa641157fce5262c47d6cf10c9d6a6f0094fa327485c4fcf70989ec4532\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b5060405160808061117e8339810180604052608081101561003057600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050808484846001600081905550600083116100e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f43726f776473616c653a2072617465206973203000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610167576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806111596025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156101ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806111356024913960400191505060405180910390fd5b8260038190555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156102ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001806111016034913960400191505060405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050610dad806103546000396000f3fe6080604052600436106100705760003560e01c8063bf5839031161004e578063bf5839031461012f578063bff99c6c1461015a578063ec8ac4d8146101b1578063fc0c546a146101f557610070565b80632c4e722e146100825780634042b66f146100ad578063521eb273146100d8575b61008061007b61024c565b610254565b005b34801561008e57600080fd5b506100976103b8565b6040518082815260200191505060405180910390f35b3480156100b957600080fd5b506100c26103c2565b6040518082815260200191505060405180910390f35b3480156100e457600080fd5b506100ed6103cc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013b57600080fd5b506101446103f6565b6040518082815260200191505060405180910390f35b34801561016657600080fd5b5061016f6105fb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101f3600480360360208110156101c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610254565b005b34801561020157600080fd5b5061020a610625565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b600160008082825401925050819055506000805490506000349050610279838261064f565b600061028482610750565b905061029b8260045461076e90919063ffffffff16565b6004819055506102ab84826107f6565b8373ffffffffffffffffffffffffffffffffffffffff166102ca61024c565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a36103298483610804565b610331610808565b61033b8483610873565b505060005481146103b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6000600454905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006105f6610403610625565b73ffffffffffffffffffffffffffffffffffffffff166370a08231600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156104a157600080fd5b505afa1580156104b5573d6000803e3d6000fd5b505050506040513d60208110156104cb57600080fd5b81019080805190602001909291905050506104e4610625565b73ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156105b657600080fd5b505afa1580156105ca573d6000803e3d6000fd5b505050506040513d60208110156105e057600080fd5b8101908080519060200190929190505050610877565b905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610d2e602a913960400191505060405180910390fd5b600081141561074c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b60006107676003548361089090919063ffffffff16565b9050919050565b6000808284019050838110156107ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6108008282610916565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610870573d6000803e3d6000fd5b50565b5050565b60008183106108865781610888565b825b905092915050565b6000808314156108a35760009050610910565b60008284029050828482816108b457fe5b041461090b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610d0d6021913960400191505060405180910390fd5b809150505b92915050565b61096c600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383610946610625565b73ffffffffffffffffffffffffffffffffffffffff16610970909392919063ffffffff16565b5050565b610a70848573ffffffffffffffffffffffffffffffffffffffff166323b872dd905060e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610a76565b50505050565b610a958273ffffffffffffffffffffffffffffffffffffffff16610cc1565b610b07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310610b565780518252602082019150602081019050602083039250610b33565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610bb8576040519150601f19603f3d011682016040523d82523d6000602084013e610bbd565b606091505b509150915081610c35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115610cbb57808060200190516020811015610c5457600080fd5b8101908080519060200190929190505050610cba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610d58602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b8214158015610d035750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a7230582070439044e2d7bf02df65aca49d098fa284ab827201a745f88d7adca1bd24afdf0029416c6c6f77616e636543726f776473616c653a20746f6b656e2077616c6c657420697320746865207a65726f206164647265737343726f776473616c653a20746f6b656e20697320746865207a65726f206164647265737343726f776473616c653a2077616c6c657420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x6080604052600436106100705760003560e01c8063bf5839031161004e578063bf5839031461012f578063bff99c6c1461015a578063ec8ac4d8146101b1578063fc0c546a146101f557610070565b80632c4e722e146100825780634042b66f146100ad578063521eb273146100d8575b61008061007b61024c565b610254565b005b34801561008e57600080fd5b506100976103b8565b6040518082815260200191505060405180910390f35b3480156100b957600080fd5b506100c26103c2565b6040518082815260200191505060405180910390f35b3480156100e457600080fd5b506100ed6103cc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013b57600080fd5b506101446103f6565b6040518082815260200191505060405180910390f35b34801561016657600080fd5b5061016f6105fb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101f3600480360360208110156101c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610254565b005b34801561020157600080fd5b5061020a610625565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b600160008082825401925050819055506000805490506000349050610279838261064f565b600061028482610750565b905061029b8260045461076e90919063ffffffff16565b6004819055506102ab84826107f6565b8373ffffffffffffffffffffffffffffffffffffffff166102ca61024c565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a36103298483610804565b610331610808565b61033b8483610873565b505060005481146103b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6000600454905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006105f6610403610625565b73ffffffffffffffffffffffffffffffffffffffff166370a08231600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156104a157600080fd5b505afa1580156104b5573d6000803e3d6000fd5b505050506040513d60208110156104cb57600080fd5b81019080805190602001909291905050506104e4610625565b73ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156105b657600080fd5b505afa1580156105ca573d6000803e3d6000fd5b505050506040513d60208110156105e057600080fd5b8101908080519060200190929190505050610877565b905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610d2e602a913960400191505060405180910390fd5b600081141561074c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b60006107676003548361089090919063ffffffff16565b9050919050565b6000808284019050838110156107ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6108008282610916565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610870573d6000803e3d6000fd5b50565b5050565b60008183106108865781610888565b825b905092915050565b6000808314156108a35760009050610910565b60008284029050828482816108b457fe5b041461090b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610d0d6021913960400191505060405180910390fd5b809150505b92915050565b61096c600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383610946610625565b73ffffffffffffffffffffffffffffffffffffffff16610970909392919063ffffffff16565b5050565b610a70848573ffffffffffffffffffffffffffffffffffffffff166323b872dd905060e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610a76565b50505050565b610a958273ffffffffffffffffffffffffffffffffffffffff16610cc1565b610b07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310610b565780518252602082019150602081019050602083039250610b33565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610bb8576040519150601f19603f3d011682016040523d82523d6000602084013e610bbd565b606091505b509150915081610c35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115610cbb57808060200190516020811015610c5457600080fd5b8101908080519060200190929190505050610cba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610d58602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b8214158015610d035750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a7230582070439044e2d7bf02df65aca49d098fa284ab827201a745f88d7adca1bd24afdf0029",
"sourceMap": "117:310:50:-;;;177:248;8:9:-1;5:2;;;30:1;27;20:12;5:2;177:248:50;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;177:248:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:11;296:4;302:6;310:5;879:1:149;863:13;:17;;;;2416:1:15;2409:4;:8;2401:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2478:1;2460:20;;:6;:20;;;;2452:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2566:1;2540:28;;2548:5;2540:28;;;;2532:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2628:4;2620:5;:12;;;;2652:6;2642:7;;:16;;;;;;;;;;;;;;;;;;2677:5;2668:6;;:14;;;;;;;;;;;;;;;;;;2319:370;;;746:1:20;723:25;;:11;:25;;;;715:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;830:11;815:12;;:26;;;;;;;;;;;;;;;;;;664:184;177:248:50;;;;117:310;;;;;;",
"deployedSourceMap": "117:310:50:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3017:23:15;3027:12;:10;:12::i;:::-;3017:9;:23::i;:::-;117:310:50;3430:75:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3430:75:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3568:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3568:85:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3258:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3258:87:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1166:170:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1166:170:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;938:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;938:89:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3910:605:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3910:605:15;;;;;;;;;;;;;;;;;;;:::i;:::-;;3106:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3106:76:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;791:88:0;836:7;862:10;855:17;;791:88;:::o;3910:605:15:-;1313:1:149;1296:13;;:18;;;;;;;;;;;1324:20;1347:13;;1324:36;;3988:17:15;4008:9;3988:29;;4027:44;4048:11;4061:9;4027:20;:44::i;:::-;4130:14;4147:26;4163:9;4147:15;:26::i;:::-;4130:43;;4221:25;4236:9;4221:10;;:14;;:25;;;;:::i;:::-;4208:10;:38;;;;4257:37;4274:11;4287:6;4257:16;:37::i;:::-;4339:11;4309:61;;4325:12;:10;:12::i;:::-;4309:61;;;4352:9;4363:6;4309:61;;;;;;;;;;;;;;;;;;;;;;;;4381:46;4404:11;4417:9;4381:22;:46::i;:::-;4438:15;:13;:15::i;:::-;4463:45;4485:11;4498:9;4463:21;:45::i;:::-;1370:1:149;;1405:13;;1389:12;:29;1381:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3910:605:15;;:::o;3430:75::-;3467:7;3493:5;;3486:12;;3430:75;:::o;3568:85::-;3610:7;3636:10;;3629:17;;3568:85;:::o;3258:87::-;3297:15;3331:7;;;;;;;;;;;3324:14;;3258:87;:::o;1166:170:20:-;1214:7;1240:89;1249:7;:5;:7::i;:::-;:17;;;1267:12;;;;;;;;;;;1249:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1249:31:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1249:31:20;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1249:31:20;;;;;;;;;;;;;;;;1282:7;:5;:7::i;:::-;:17;;;1300:12;;;;;;;;;;;1322:4;1282:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1282:46:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1282:46:20;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1282:46:20;;;;;;;;;;;;;;;;1240:8;:89::i;:::-;1233:96;;1166:170;:::o;938:89::-;982:7;1008:12;;;;;;;;;;;1001:19;;938:89;:::o;3106:76:15:-;3144:6;3169;;;;;;;;;;;3162:13;;3106:76;:::o;5057:376::-;5182:1;5159:25;;:11;:25;;;;5151:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5262:1;5249:9;:14;;5241:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5057:376;;:::o;7358:120::-;7425:7;7451:20;7465:5;;7451:9;:13;;:20;;;;:::i;:::-;7444:27;;7358:120;;;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;6560:134:15:-;6647:40;6662:11;6675;6647:14;:40::i;:::-;6560:134;;:::o;6964:145::-;;;:::o;7565:78::-;7609:7;;;;;;;;;;;:16;;:27;7626:9;7609:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7609:27:15;7565:78::o;5728:149::-;;;:::o;358:104:47:-;416:7;446:1;442;:5;:13;;454:1;442:13;;;450:1;442:13;435:20;;358:104;;;;:::o;2119:459:48:-;2177:7;2423:1;2418;:6;2414:45;;;2447:1;2440:8;;;;2414:45;2469:9;2485:1;2481;:5;2469:17;;2513:1;2508;2504;:5;;;;;;:10;2496:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2570:1;2563:8;;;2119:459;;;;;:::o;1527:156:20:-;1612:64;1637:12;;;;;;;;;;;1651:11;1664;1612:7;:5;:7::i;:::-;:24;;;;:64;;;;;;:::i;:::-;1527:156;;:::o;842:202:127:-;942:95;961:5;991;:18;;;:27;;;;1020:4;1026:2;1030:5;968:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;968:68:127;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;968:68:127;942:18;:95::i;:::-;842:202;;;;:::o;2666:1095::-;3261:27;3269:5;3261:25;;;:27::i;:::-;3253:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3395:12;3409:23;3444:5;3436:19;;3456:4;3436:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3436:25:127;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3394:67:127;;;;3479:7;3471:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3558:1;3538:10;:17;:21;3534:221;;;3678:10;3667:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3667:30:127;;;;;;;;;;;;;;;;3659:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3534:221;2666:1095;;;;:::o;557:805:147:-;617:4;1070:16;1096:19;1118:66;1096:88;;;;1285:7;1273:20;1261:32;;1324:3;1312:15;;:8;:15;;:42;;;;;1343:11;1331:8;:23;;1312:42;1304:51;;;;557:805;;;:::o",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"remainingTokens\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenWallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"rate\",\"type\":\"uint256\"},{\"name\":\"wallet\",\"type\":\"address\"},{\"name\":\"token\",\"type\":\"address\"},{\"name\":\"tokenWallet\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"remainingTokens()\":{\"details\":\"Checks the amount of tokens left in the allowance.\",\"return\":\"Amount of tokens left in the allowance\"},\"token()\":{\"return\":\"the token being sold.\"},\"tokenWallet()\":{\"return\":\"the address of the wallet that will hold the tokens.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/AllowanceCrowdsaleImpl.sol\":\"AllowanceCrowdsaleImpl\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/emission/AllowanceCrowdsale.sol\":{\"keccak256\":\"0x29502dd6dabc9950df59707968e8ff6a3b45c809b0ee32e9f4d6914fba0aee96\",\"urls\":[\"bzzr://bd2fcba21c24cc4897319ad5cf57a91b7a86855394b9165d9339ebabb11c8bc2\"]},\"/home/frangio/oz/contracts/contracts/math/Math.sol\":{\"keccak256\":\"0x4b5aa451e4e8801478708f94b118a7821c0500d676255eaf89fc78c14856ce4e\",\"urls\":[\"bzzr://200d5728b32858918810d8d7a8db1406ee9b157ad5026f050e6d864a696b9080\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/mocks/AllowanceCrowdsaleImpl.sol\":{\"keccak256\":\"0x9b2c8937a718a55bdd8e1729e9ed654686f77925ae9fb80453c88a26629443ad\",\"urls\":[\"bzzr://c5ba7cae9204fa121e4256926dcd613705c88e2bb247142c9cf14ccce40c38a7\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xf4bfe37bc0ed72fb1a94abab4acec42dcabc6b2936d684f9a018a61afe2d979a\",\"urls\":[\"bzzr://a0a3a1ea455fc61ea6032cad30321369a478121b32ae8a212a73a54e57dad3b5\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b5060405160808061117e8339810180604052608081101561003057600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050808484846001600081905550600083116100e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f43726f776473616c653a2072617465206973203000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610167576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806111596025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156101ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806111356024913960400191505060405180910390fd5b8260038190555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156102ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001806111016034913960400191505060405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050610dad806103546000396000f3fe6080604052600436106100705760003560e01c8063bf5839031161004e578063bf5839031461012f578063bff99c6c1461015a578063ec8ac4d8146101b1578063fc0c546a146101f557610070565b80632c4e722e146100825780634042b66f146100ad578063521eb273146100d8575b61008061007b61024c565b610254565b005b34801561008e57600080fd5b506100976103b8565b6040518082815260200191505060405180910390f35b3480156100b957600080fd5b506100c26103c2565b6040518082815260200191505060405180910390f35b3480156100e457600080fd5b506100ed6103cc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013b57600080fd5b506101446103f6565b6040518082815260200191505060405180910390f35b34801561016657600080fd5b5061016f6105fb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101f3600480360360208110156101c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610254565b005b34801561020157600080fd5b5061020a610625565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b600160008082825401925050819055506000805490506000349050610279838261064f565b600061028482610750565b905061029b8260045461076e90919063ffffffff16565b6004819055506102ab84826107f6565b8373ffffffffffffffffffffffffffffffffffffffff166102ca61024c565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a36103298483610804565b610331610808565b61033b8483610873565b505060005481146103b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6000600454905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006105f6610403610625565b73ffffffffffffffffffffffffffffffffffffffff166370a08231600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156104a157600080fd5b505afa1580156104b5573d6000803e3d6000fd5b505050506040513d60208110156104cb57600080fd5b81019080805190602001909291905050506104e4610625565b73ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156105b657600080fd5b505afa1580156105ca573d6000803e3d6000fd5b505050506040513d60208110156105e057600080fd5b8101908080519060200190929190505050610877565b905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610d2e602a913960400191505060405180910390fd5b600081141561074c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b60006107676003548361089090919063ffffffff16565b9050919050565b6000808284019050838110156107ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6108008282610916565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610870573d6000803e3d6000fd5b50565b5050565b60008183106108865781610888565b825b905092915050565b6000808314156108a35760009050610910565b60008284029050828482816108b457fe5b041461090b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610d0d6021913960400191505060405180910390fd5b809150505b92915050565b61096c600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383610946610625565b73ffffffffffffffffffffffffffffffffffffffff16610970909392919063ffffffff16565b5050565b610a70848573ffffffffffffffffffffffffffffffffffffffff166323b872dd905060e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610a76565b50505050565b610a958273ffffffffffffffffffffffffffffffffffffffff16610cc1565b610b07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310610b565780518252602082019150602081019050602083039250610b33565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610bb8576040519150601f19603f3d011682016040523d82523d6000602084013e610bbd565b606091505b509150915081610c35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115610cbb57808060200190516020811015610c5457600080fd5b8101908080519060200190929190505050610cba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610d58602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b8214158015610d035750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a723058205bec4a2122c89c3002cf405c430834245770e0030d39cdb5042440544c5460200029416c6c6f77616e636543726f776473616c653a20746f6b656e2077616c6c657420697320746865207a65726f206164647265737343726f776473616c653a20746f6b656e20697320746865207a65726f206164647265737343726f776473616c653a2077616c6c657420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x6080604052600436106100705760003560e01c8063bf5839031161004e578063bf5839031461012f578063bff99c6c1461015a578063ec8ac4d8146101b1578063fc0c546a146101f557610070565b80632c4e722e146100825780634042b66f146100ad578063521eb273146100d8575b61008061007b61024c565b610254565b005b34801561008e57600080fd5b506100976103b8565b6040518082815260200191505060405180910390f35b3480156100b957600080fd5b506100c26103c2565b6040518082815260200191505060405180910390f35b3480156100e457600080fd5b506100ed6103cc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013b57600080fd5b506101446103f6565b6040518082815260200191505060405180910390f35b34801561016657600080fd5b5061016f6105fb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101f3600480360360208110156101c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610254565b005b34801561020157600080fd5b5061020a610625565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b600160008082825401925050819055506000805490506000349050610279838261064f565b600061028482610750565b905061029b8260045461076e90919063ffffffff16565b6004819055506102ab84826107f6565b8373ffffffffffffffffffffffffffffffffffffffff166102ca61024c565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a36103298483610804565b610331610808565b61033b8483610873565b505060005481146103b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6000600454905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006105f6610403610625565b73ffffffffffffffffffffffffffffffffffffffff166370a08231600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156104a157600080fd5b505afa1580156104b5573d6000803e3d6000fd5b505050506040513d60208110156104cb57600080fd5b81019080805190602001909291905050506104e4610625565b73ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156105b657600080fd5b505afa1580156105ca573d6000803e3d6000fd5b505050506040513d60208110156105e057600080fd5b8101908080519060200190929190505050610877565b905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610d2e602a913960400191505060405180910390fd5b600081141561074c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b60006107676003548361089090919063ffffffff16565b9050919050565b6000808284019050838110156107ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6108008282610916565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610870573d6000803e3d6000fd5b50565b5050565b60008183106108865781610888565b825b905092915050565b6000808314156108a35760009050610910565b60008284029050828482816108b457fe5b041461090b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610d0d6021913960400191505060405180910390fd5b809150505b92915050565b61096c600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383610946610625565b73ffffffffffffffffffffffffffffffffffffffff16610970909392919063ffffffff16565b5050565b610a70848573ffffffffffffffffffffffffffffffffffffffff166323b872dd905060e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610a76565b50505050565b610a958273ffffffffffffffffffffffffffffffffffffffff16610cc1565b610b07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310610b565780518252602082019150602081019050602083039250610b33565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610bb8576040519150601f19603f3d011682016040523d82523d6000602084013e610bbd565b606091505b509150915081610c35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115610cbb57808060200190516020811015610c5457600080fd5b8101908080519060200190929190505050610cba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610d58602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b8214158015610d035750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a723058205bec4a2122c89c3002cf405c430834245770e0030d39cdb5042440544c5460200029",
"sourceMap": "117:310:50:-;;;177:248;8:9:-1;5:2;;;30:1;27;20:12;5:2;177:248:50;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;177:248:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:11;296:4;302:6;310:5;879:1:148;863:13;:17;;;;2416:1:15;2409:4;:8;2401:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2478:1;2460:20;;:6;:20;;;;2452:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2566:1;2540:28;;2548:5;2540:28;;;;2532:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2628:4;2620:5;:12;;;;2652:6;2642:7;;:16;;;;;;;;;;;;;;;;;;2677:5;2668:6;;:14;;;;;;;;;;;;;;;;;;2319:370;;;746:1:20;723:25;;:11;:25;;;;715:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;830:11;815:12;;:26;;;;;;;;;;;;;;;;;;664:184;177:248:50;;;;117:310;;;;;;",
"deployedSourceMap": "117:310:50:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3017:23:15;3027:12;:10;:12::i;:::-;3017:9;:23::i;:::-;117:310:50;3430:75:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3430:75:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3568:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3568:85:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3258:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3258:87:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1166:170:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1166:170:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;938:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;938:89:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3910:605:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3910:605:15;;;;;;;;;;;;;;;;;;;:::i;:::-;;3106:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3106:76:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;791:88:0;836:7;862:10;855:17;;791:88;:::o;3910:605:15:-;1313:1:148;1296:13;;:18;;;;;;;;;;;1324:20;1347:13;;1324:36;;3988:17:15;4008:9;3988:29;;4027:44;4048:11;4061:9;4027:20;:44::i;:::-;4130:14;4147:26;4163:9;4147:15;:26::i;:::-;4130:43;;4221:25;4236:9;4221:10;;:14;;:25;;;;:::i;:::-;4208:10;:38;;;;4257:37;4274:11;4287:6;4257:16;:37::i;:::-;4339:11;4309:61;;4325:12;:10;:12::i;:::-;4309:61;;;4352:9;4363:6;4309:61;;;;;;;;;;;;;;;;;;;;;;;;4381:46;4404:11;4417:9;4381:22;:46::i;:::-;4438:15;:13;:15::i;:::-;4463:45;4485:11;4498:9;4463:21;:45::i;:::-;1370:1:148;;1405:13;;1389:12;:29;1381:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3910:605:15;;:::o;3430:75::-;3467:7;3493:5;;3486:12;;3430:75;:::o;3568:85::-;3610:7;3636:10;;3629:17;;3568:85;:::o;3258:87::-;3297:15;3331:7;;;;;;;;;;;3324:14;;3258:87;:::o;1166:170:20:-;1214:7;1240:89;1249:7;:5;:7::i;:::-;:17;;;1267:12;;;;;;;;;;;1249:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1249:31:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1249:31:20;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1249:31:20;;;;;;;;;;;;;;;;1282:7;:5;:7::i;:::-;:17;;;1300:12;;;;;;;;;;;1322:4;1282:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1282:46:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1282:46:20;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1282:46:20;;;;;;;;;;;;;;;;1240:8;:89::i;:::-;1233:96;;1166:170;:::o;938:89::-;982:7;1008:12;;;;;;;;;;;1001:19;;938:89;:::o;3106:76:15:-;3144:6;3169;;;;;;;;;;;3162:13;;3106:76;:::o;5057:376::-;5182:1;5159:25;;:11;:25;;;;5151:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5262:1;5249:9;:14;;5241:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5057:376;;:::o;7358:120::-;7425:7;7451:20;7465:5;;7451:9;:13;;:20;;;;:::i;:::-;7444:27;;7358:120;;;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;6560:134:15:-;6647:40;6662:11;6675;6647:14;:40::i;:::-;6560:134;;:::o;6964:145::-;;;:::o;7565:78::-;7609:7;;;;;;;;;;;:16;;:27;7626:9;7609:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7609:27:15;7565:78::o;5728:149::-;;;:::o;358:104:47:-;416:7;446:1;442;:5;:13;;454:1;442:13;;;450:1;442:13;435:20;;358:104;;;;:::o;2271:459:48:-;2329:7;2575:1;2570;:6;2566:45;;;2599:1;2592:8;;;;2566:45;2621:9;2637:1;2633;:5;2621:17;;2665:1;2660;2656;:5;;;;;;:10;2648:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2722:1;2715:8;;;2271:459;;;;;:::o;1527:156:20:-;1612:64;1637:12;;;;;;;;;;;1651:11;1664;1612:7;:5;:7::i;:::-;:24;;;;:64;;;;;;:::i;:::-;1527:156;;:::o;842:202:126:-;942:95;961:5;991;:18;;;:27;;;;1020:4;1026:2;1030:5;968:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;968:68:126;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;968:68:126;942:18;:95::i;:::-;842:202;;;;:::o;2666:1095::-;3261:27;3269:5;3261:25;;;:27::i;:::-;3253:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3395:12;3409:23;3444:5;3436:19;;3456:4;3436:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3436:25:126;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3394:67:126;;;;3479:7;3471:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3558:1;3538:10;:17;:21;3534:221;;;3678:10;3667:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3667:30:126;;;;;;;;;;;;;;;;3659:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3534:221;2666:1095;;;;:::o;557:805:146:-;617:4;1070:16;1096:19;1118:66;1096:88;;;;1285:7;1273:20;1261:32;;1324:3;1312:15;;:8;:15;;:42;;;;;1343:11;1331:8;:23;;1312:42;1304:51;;;;557:805;;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../token/ERC20/IERC20.sol\";\nimport \"../crowdsale/emission/AllowanceCrowdsale.sol\";\n\ncontract AllowanceCrowdsaleImpl is AllowanceCrowdsale {\n constructor (uint256 rate, address payable wallet, IERC20 token, address tokenWallet)\n public\n Crowdsale(rate, wallet, token)\n AllowanceCrowdsale(tokenWallet)\n {\n // solhint-disable-previous-line no-empty-blocks\n }\n}\n",

@@ -170,10 +170,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/AllowanceCrowdsaleImpl.sol",

"AllowanceCrowdsaleImpl": [
5587
5566
]
},
"id": 5588,
"id": 5567,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5562,
"id": 5541,
"literals": [

@@ -191,6 +191,6 @@ "solidity",

"file": "../token/ERC20/IERC20.sol",
"id": 5563,
"id": 5542,
"nodeType": "ImportDirective",
"scope": 5588,
"sourceUnit": 10270,
"scope": 5567,
"sourceUnit": 10147,
"src": "25:35:50",

@@ -203,6 +203,6 @@ "symbolAliases": [],

"file": "../crowdsale/emission/AllowanceCrowdsale.sol",
"id": 5564,
"id": 5543,
"nodeType": "ImportDirective",
"scope": 5588,
"sourceUnit": 2572,
"scope": 5567,
"sourceUnit": 2551,
"src": "61:54:50",

@@ -218,13 +218,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 5565,
"id": 5544,
"name": "AllowanceCrowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2571,
"referencedDeclaration": 2550,
"src": "152:18:50",
"typeDescriptions": {
"typeIdentifier": "t_contract$_AllowanceCrowdsale_$2571",
"typeIdentifier": "t_contract$_AllowanceCrowdsale_$2550",
"typeString": "contract AllowanceCrowdsale"
}
},
"id": 5566,
"id": 5545,
"nodeType": "InheritanceSpecifier",

@@ -236,5 +236,5 @@ "src": "152:18:50"

26,
2134,
2571,
13448
2113,
2550,
13325
],

@@ -244,8 +244,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 5587,
"id": 5566,
"linearizedBaseContracts": [
5587,
2571,
2134,
13448,
5566,
2550,
2113,
13325,
26

@@ -258,3 +258,3 @@ ],

"body": {
"id": 5585,
"id": 5564,
"nodeType": "Block",

@@ -265,3 +265,3 @@ "src": "361:64:50",

"documentation": null,
"id": 5586,
"id": 5565,
"implemented": true,

@@ -274,7 +274,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 5577,
"id": 5556,
"name": "rate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5568,
"referencedDeclaration": 5547,
"src": "296:4:50",

@@ -288,7 +288,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5578,
"id": 5557,
"name": "wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"referencedDeclaration": 5549,
"src": "302:6:50",

@@ -302,10 +302,10 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5579,
"id": 5558,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5572,
"referencedDeclaration": 5551,
"src": "310:5:50",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -315,13 +315,13 @@ }

],
"id": 5580,
"id": 5559,
"modifierName": {
"argumentTypes": null,
"id": 5576,
"id": 5555,
"name": "Crowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "286:9:50",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2134_$",
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2113_$",
"typeString": "type(contract Crowdsale)"

@@ -337,7 +337,7 @@ }

"argumentTypes": null,
"id": 5582,
"id": 5561,
"name": "tokenWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5574,
"referencedDeclaration": 5553,
"src": "344:11:50",

@@ -350,13 +350,13 @@ "typeDescriptions": {

],
"id": 5583,
"id": 5562,
"modifierName": {
"argumentTypes": null,
"id": 5581,
"id": 5560,
"name": "AllowanceCrowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2571,
"referencedDeclaration": 2550,
"src": "325:18:50",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_AllowanceCrowdsale_$2571_$",
"typeIdentifier": "t_type$_t_contract$_AllowanceCrowdsale_$2550_$",
"typeString": "type(contract AllowanceCrowdsale)"

@@ -372,3 +372,3 @@ }

"parameters": {
"id": 5575,
"id": 5554,
"nodeType": "ParameterList",

@@ -378,6 +378,6 @@ "parameters": [

"constant": false,
"id": 5568,
"id": 5547,
"name": "rate",
"nodeType": "VariableDeclaration",
"scope": 5586,
"scope": 5565,
"src": "190:12:50",

@@ -391,3 +391,3 @@ "stateVariable": false,

"typeName": {
"id": 5567,
"id": 5546,
"name": "uint256",

@@ -406,6 +406,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 5570,
"id": 5549,
"name": "wallet",
"nodeType": "VariableDeclaration",
"scope": 5586,
"scope": 5565,
"src": "204:22:50",

@@ -419,3 +419,3 @@ "stateVariable": false,

"typeName": {
"id": 5569,
"id": 5548,
"name": "address",

@@ -435,6 +435,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 5572,
"id": 5551,
"name": "token",
"nodeType": "VariableDeclaration",
"scope": 5586,
"scope": 5565,
"src": "228:12:50",

@@ -444,3 +444,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -450,9 +450,9 @@ },

"contractScope": null,
"id": 5571,
"id": 5550,
"name": "IERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10269,
"referencedDeclaration": 10146,
"src": "228:6:50",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -466,6 +466,6 @@ }

"constant": false,
"id": 5574,
"id": 5553,
"name": "tokenWallet",
"nodeType": "VariableDeclaration",
"scope": 5586,
"scope": 5565,
"src": "242:19:50",

@@ -479,3 +479,3 @@ "stateVariable": false,

"typeName": {
"id": 5573,
"id": 5552,
"name": "address",

@@ -497,3 +497,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5584,
"id": 5563,
"nodeType": "ParameterList",

@@ -503,3 +503,3 @@ "parameters": [],

},
"scope": 5587,
"scope": 5566,
"src": "177:248:50",

@@ -511,3 +511,3 @@ "stateMutability": "nonpayable",

],
"scope": 5588,
"scope": 5567,
"src": "117:310:50"

@@ -522,10 +522,10 @@ }

"AllowanceCrowdsaleImpl": [
5587
5566
]
},
"id": 5588,
"id": 5567,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5562,
"id": 5541,
"literals": [

@@ -543,6 +543,6 @@ "solidity",

"file": "../token/ERC20/IERC20.sol",
"id": 5563,
"id": 5542,
"nodeType": "ImportDirective",
"scope": 5588,
"sourceUnit": 10270,
"scope": 5567,
"sourceUnit": 10147,
"src": "25:35:50",

@@ -555,6 +555,6 @@ "symbolAliases": [],

"file": "../crowdsale/emission/AllowanceCrowdsale.sol",
"id": 5564,
"id": 5543,
"nodeType": "ImportDirective",
"scope": 5588,
"sourceUnit": 2572,
"scope": 5567,
"sourceUnit": 2551,
"src": "61:54:50",

@@ -570,13 +570,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 5565,
"id": 5544,
"name": "AllowanceCrowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2571,
"referencedDeclaration": 2550,
"src": "152:18:50",
"typeDescriptions": {
"typeIdentifier": "t_contract$_AllowanceCrowdsale_$2571",
"typeIdentifier": "t_contract$_AllowanceCrowdsale_$2550",
"typeString": "contract AllowanceCrowdsale"
}
},
"id": 5566,
"id": 5545,
"nodeType": "InheritanceSpecifier",

@@ -588,5 +588,5 @@ "src": "152:18:50"

26,
2134,
2571,
13448
2113,
2550,
13325
],

@@ -596,8 +596,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 5587,
"id": 5566,
"linearizedBaseContracts": [
5587,
2571,
2134,
13448,
5566,
2550,
2113,
13325,
26

@@ -610,3 +610,3 @@ ],

"body": {
"id": 5585,
"id": 5564,
"nodeType": "Block",

@@ -617,3 +617,3 @@ "src": "361:64:50",

"documentation": null,
"id": 5586,
"id": 5565,
"implemented": true,

@@ -626,7 +626,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 5577,
"id": 5556,
"name": "rate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5568,
"referencedDeclaration": 5547,
"src": "296:4:50",

@@ -640,7 +640,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5578,
"id": 5557,
"name": "wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"referencedDeclaration": 5549,
"src": "302:6:50",

@@ -654,10 +654,10 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5579,
"id": 5558,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5572,
"referencedDeclaration": 5551,
"src": "310:5:50",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -667,13 +667,13 @@ }

],
"id": 5580,
"id": 5559,
"modifierName": {
"argumentTypes": null,
"id": 5576,
"id": 5555,
"name": "Crowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "286:9:50",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2134_$",
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2113_$",
"typeString": "type(contract Crowdsale)"

@@ -689,7 +689,7 @@ }

"argumentTypes": null,
"id": 5582,
"id": 5561,
"name": "tokenWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5574,
"referencedDeclaration": 5553,
"src": "344:11:50",

@@ -702,13 +702,13 @@ "typeDescriptions": {

],
"id": 5583,
"id": 5562,
"modifierName": {
"argumentTypes": null,
"id": 5581,
"id": 5560,
"name": "AllowanceCrowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2571,
"referencedDeclaration": 2550,
"src": "325:18:50",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_AllowanceCrowdsale_$2571_$",
"typeIdentifier": "t_type$_t_contract$_AllowanceCrowdsale_$2550_$",
"typeString": "type(contract AllowanceCrowdsale)"

@@ -724,3 +724,3 @@ }

"parameters": {
"id": 5575,
"id": 5554,
"nodeType": "ParameterList",

@@ -730,6 +730,6 @@ "parameters": [

"constant": false,
"id": 5568,
"id": 5547,
"name": "rate",
"nodeType": "VariableDeclaration",
"scope": 5586,
"scope": 5565,
"src": "190:12:50",

@@ -743,3 +743,3 @@ "stateVariable": false,

"typeName": {
"id": 5567,
"id": 5546,
"name": "uint256",

@@ -758,6 +758,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 5570,
"id": 5549,
"name": "wallet",
"nodeType": "VariableDeclaration",
"scope": 5586,
"scope": 5565,
"src": "204:22:50",

@@ -771,3 +771,3 @@ "stateVariable": false,

"typeName": {
"id": 5569,
"id": 5548,
"name": "address",

@@ -787,6 +787,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 5572,
"id": 5551,
"name": "token",
"nodeType": "VariableDeclaration",
"scope": 5586,
"scope": 5565,
"src": "228:12:50",

@@ -796,3 +796,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -802,9 +802,9 @@ },

"contractScope": null,
"id": 5571,
"id": 5550,
"name": "IERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10269,
"referencedDeclaration": 10146,
"src": "228:6:50",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -818,6 +818,6 @@ }

"constant": false,
"id": 5574,
"id": 5553,
"name": "tokenWallet",
"nodeType": "VariableDeclaration",
"scope": 5586,
"scope": 5565,
"src": "242:19:50",

@@ -831,3 +831,3 @@ "stateVariable": false,

"typeName": {
"id": 5573,
"id": 5552,
"name": "address",

@@ -849,3 +849,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5584,
"id": 5563,
"nodeType": "ParameterList",

@@ -855,3 +855,3 @@ "parameters": [],

},
"scope": 5587,
"scope": 5566,
"src": "177:248:50",

@@ -863,3 +863,3 @@ "stateMutability": "nonpayable",

],
"scope": 5588,
"scope": 5567,
"src": "117:310:50"

@@ -876,3 +876,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.722Z",
"updatedAt": "2019-08-16T19:32:31.240Z",
"devdoc": {

@@ -879,0 +879,0 @@ "methods": {

@@ -39,3 +39,3 @@ {

"sourceMap": "56:301:51:-;;;145:76;8:9:-1;5:2;;;30:1;27;20:12;5:2;145:76:51;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;145:76:51;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;0:373;;145:76:51;;;;;;208:6;200:5;:14;;;;;;;;;;;;:::i;:::-;;145:76;56:301;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;",
"deployedSourceMap": "56:301:51:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;56:301:51;;;;;;;;;;;;;;;;;;;227:128;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;227:128:51;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;292:7;318:30;339:8;318:5;:20;;:30;;;;:::i;:::-;311:37;;227:128;;;:::o;549:892:148:-;638:7;677:1;661:5;:12;;;;:17;657:56;;;701:1;694:8;;;;657:56;723:11;737:1;723:15;;748:12;763:5;:12;;;;748:27;;786:414;799:4;793:3;:10;786:414;;;819:11;833:23;846:3;851:4;833:12;:23::i;:::-;819:37;;1086:7;1073:5;1079:3;1073:10;;;;;;;;;;;;;;;;:20;1069:121;;;1120:3;1113:10;;1069:121;;;1174:1;1168:3;:7;1162:13;;1069:121;786:414;;;;1323:1;1317:3;:7;:36;;;;;1346:7;1328:5;1340:1;1334:3;:7;1328:14;;;;;;;;;;;;;;;;:25;1317:36;1313:122;;;1382:1;1376:3;:7;1369:14;;;;;;1313:122;1421:3;1414:10;;;;549:892;;;;;:::o;575:190:47:-;637:7;756:1;751;747;:5;;;;;;743:1;739;:5;;;;;;:13;738:19;;;;;;732:1;728;:5;;;;;;722:1;718;:5;;;;;;717:17;:41;710:48;;575:190;;;;:::o",
"deployedSourceMap": "56:301:51:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;56:301:51;;;;;;;;;;;;;;;;;;;227:128;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;227:128:51;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;292:7;318:30;339:8;318:5;:20;;:30;;;;:::i;:::-;311:37;;227:128;;;:::o;549:892:147:-;638:7;677:1;661:5;:12;;;;:17;657:56;;;701:1;694:8;;;;657:56;723:11;737:1;723:15;;748:12;763:5;:12;;;;748:27;;786:414;799:4;793:3;:10;786:414;;;819:11;833:23;846:3;851:4;833:12;:23::i;:::-;819:37;;1086:7;1073:5;1079:3;1073:10;;;;;;;;;;;;;;;;:20;1069:121;;;1120:3;1113:10;;1069:121;;;1174:1;1168:3;:7;1162:13;;1069:121;786:414;;;;1323:1;1317:3;:7;:36;;;;;1346:7;1328:5;1340:1;1334:3;:7;1328:14;;;;;;;;;;;;;;;;:25;1317:36;1313:122;;;1382:1;1376:3;:7;1369:14;;;;;;1313:122;1421:3;1414:10;;;;549:892;;;;;:::o;575:190:47:-;637:7;756:1;751;747;:5;;;;;;743:1;739;:5;;;;;;:13;738:19;;;;;;732:1;728;:5;;;;;;722:1;718;:5;;;;;;717:17;:41;710:48;;575:190;;;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../utils/Arrays.sol\";\n\ncontract ArraysImpl {\n using Arrays for uint256[];\n\n uint256[] private array;\n\n constructor (uint256[] memory _array) public {\n array = _array;\n }\n\n function findUpperBound(uint256 _element) external view returns (uint256) {\n return array.findUpperBound(_element);\n }\n}\n",

@@ -47,10 +47,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/ArraysImpl.sol",

"ArraysImpl": [
5622
5601
]
},
"id": 5623,
"id": 5602,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5589,
"id": 5568,
"literals": [

@@ -68,6 +68,6 @@ "solidity",

"file": "../utils/Arrays.sol",
"id": 5590,
"id": 5569,
"nodeType": "ImportDirective",
"scope": 5623,
"sourceUnit": 13417,
"scope": 5602,
"sourceUnit": 13294,
"src": "25:29:51",

@@ -83,5 +83,5 @@ "symbolAliases": [],

"fullyImplemented": true,
"id": 5622,
"id": 5601,
"linearizedBaseContracts": [
5622
5601
],

@@ -92,12 +92,12 @@ "name": "ArraysImpl",

{
"id": 5594,
"id": 5573,
"libraryName": {
"contractScope": null,
"id": 5591,
"id": 5570,
"name": "Arrays",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 13416,
"referencedDeclaration": 13293,
"src": "88:6:51",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arrays_$13416",
"typeIdentifier": "t_contract$_Arrays_$13293",
"typeString": "library Arrays"

@@ -110,3 +110,3 @@ }

"baseType": {
"id": 5592,
"id": 5571,
"name": "uint256",

@@ -120,3 +120,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 5593,
"id": 5572,
"length": null,

@@ -133,6 +133,6 @@ "nodeType": "ArrayTypeName",

"constant": false,
"id": 5597,
"id": 5576,
"name": "array",
"nodeType": "VariableDeclaration",
"scope": 5622,
"scope": 5601,
"src": "115:23:51",

@@ -147,3 +147,3 @@ "stateVariable": true,

"baseType": {
"id": 5595,
"id": 5574,
"name": "uint256",

@@ -157,3 +157,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 5596,
"id": 5575,
"length": null,

@@ -172,3 +172,3 @@ "nodeType": "ArrayTypeName",

"body": {
"id": 5607,
"id": 5586,
"nodeType": "Block",

@@ -180,3 +180,3 @@ "src": "190:31:51",

"argumentTypes": null,
"id": 5605,
"id": 5584,
"isConstant": false,

@@ -188,7 +188,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 5603,
"id": 5582,
"name": "array",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5597,
"referencedDeclaration": 5576,
"src": "200:5:51",

@@ -204,7 +204,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5604,
"id": 5583,
"name": "_array",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5600,
"referencedDeclaration": 5579,
"src": "208:6:51",

@@ -222,3 +222,3 @@ "typeDescriptions": {

},
"id": 5606,
"id": 5585,
"nodeType": "ExpressionStatement",

@@ -230,3 +230,3 @@ "src": "200:14:51"

"documentation": null,
"id": 5608,
"id": 5587,
"implemented": true,

@@ -238,3 +238,3 @@ "kind": "constructor",

"parameters": {
"id": 5601,
"id": 5580,
"nodeType": "ParameterList",

@@ -244,6 +244,6 @@ "parameters": [

"constant": false,
"id": 5600,
"id": 5579,
"name": "_array",
"nodeType": "VariableDeclaration",
"scope": 5608,
"scope": 5587,
"src": "158:23:51",

@@ -258,3 +258,3 @@ "stateVariable": false,

"baseType": {
"id": 5598,
"id": 5577,
"name": "uint256",

@@ -268,3 +268,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 5599,
"id": 5578,
"length": null,

@@ -285,3 +285,3 @@ "nodeType": "ArrayTypeName",

"returnParameters": {
"id": 5602,
"id": 5581,
"nodeType": "ParameterList",

@@ -291,3 +291,3 @@ "parameters": [],

},
"scope": 5622,
"scope": 5601,
"src": "145:76:51",

@@ -300,3 +300,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 5620,
"id": 5599,
"nodeType": "Block",

@@ -311,7 +311,7 @@ "src": "301:54:51",

"argumentTypes": null,
"id": 5617,
"id": 5596,
"name": "_element",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5610,
"referencedDeclaration": 5589,
"src": "339:8:51",

@@ -333,7 +333,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5615,
"id": 5594,
"name": "array",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5597,
"referencedDeclaration": 5576,
"src": "318:5:51",

@@ -345,3 +345,3 @@ "typeDescriptions": {

},
"id": 5616,
"id": 5595,
"isConstant": false,

@@ -353,3 +353,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 13415,
"referencedDeclaration": 13292,
"src": "318:20:51",

@@ -361,3 +361,3 @@ "typeDescriptions": {

},
"id": 5618,
"id": 5597,
"isConstant": false,

@@ -376,4 +376,4 @@ "isLValue": false,

},
"functionReturnParameters": 5614,
"id": 5619,
"functionReturnParameters": 5593,
"id": 5598,
"nodeType": "Return",

@@ -385,3 +385,3 @@ "src": "311:37:51"

"documentation": null,
"id": 5621,
"id": 5600,
"implemented": true,

@@ -393,3 +393,3 @@ "kind": "function",

"parameters": {
"id": 5611,
"id": 5590,
"nodeType": "ParameterList",

@@ -399,6 +399,6 @@ "parameters": [

"constant": false,
"id": 5610,
"id": 5589,
"name": "_element",
"nodeType": "VariableDeclaration",
"scope": 5621,
"scope": 5600,
"src": "251:16:51",

@@ -412,3 +412,3 @@ "stateVariable": false,

"typeName": {
"id": 5609,
"id": 5588,
"name": "uint256",

@@ -429,3 +429,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5614,
"id": 5593,
"nodeType": "ParameterList",

@@ -435,6 +435,6 @@ "parameters": [

"constant": false,
"id": 5613,
"id": 5592,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 5621,
"scope": 5600,
"src": "292:7:51",

@@ -448,3 +448,3 @@ "stateVariable": false,

"typeName": {
"id": 5612,
"id": 5591,
"name": "uint256",

@@ -464,3 +464,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 5622,
"scope": 5601,
"src": "227:128:51",

@@ -472,3 +472,3 @@ "stateMutability": "view",

],
"scope": 5623,
"scope": 5602,
"src": "56:301:51"

@@ -483,10 +483,10 @@ }

"ArraysImpl": [
5622
5601
]
},
"id": 5623,
"id": 5602,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5589,
"id": 5568,
"literals": [

@@ -504,6 +504,6 @@ "solidity",

"file": "../utils/Arrays.sol",
"id": 5590,
"id": 5569,
"nodeType": "ImportDirective",
"scope": 5623,
"sourceUnit": 13417,
"scope": 5602,
"sourceUnit": 13294,
"src": "25:29:51",

@@ -519,5 +519,5 @@ "symbolAliases": [],

"fullyImplemented": true,
"id": 5622,
"id": 5601,
"linearizedBaseContracts": [
5622
5601
],

@@ -528,12 +528,12 @@ "name": "ArraysImpl",

{
"id": 5594,
"id": 5573,
"libraryName": {
"contractScope": null,
"id": 5591,
"id": 5570,
"name": "Arrays",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 13416,
"referencedDeclaration": 13293,
"src": "88:6:51",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arrays_$13416",
"typeIdentifier": "t_contract$_Arrays_$13293",
"typeString": "library Arrays"

@@ -546,3 +546,3 @@ }

"baseType": {
"id": 5592,
"id": 5571,
"name": "uint256",

@@ -556,3 +556,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 5593,
"id": 5572,
"length": null,

@@ -569,6 +569,6 @@ "nodeType": "ArrayTypeName",

"constant": false,
"id": 5597,
"id": 5576,
"name": "array",
"nodeType": "VariableDeclaration",
"scope": 5622,
"scope": 5601,
"src": "115:23:51",

@@ -583,3 +583,3 @@ "stateVariable": true,

"baseType": {
"id": 5595,
"id": 5574,
"name": "uint256",

@@ -593,3 +593,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 5596,
"id": 5575,
"length": null,

@@ -608,3 +608,3 @@ "nodeType": "ArrayTypeName",

"body": {
"id": 5607,
"id": 5586,
"nodeType": "Block",

@@ -616,3 +616,3 @@ "src": "190:31:51",

"argumentTypes": null,
"id": 5605,
"id": 5584,
"isConstant": false,

@@ -624,7 +624,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 5603,
"id": 5582,
"name": "array",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5597,
"referencedDeclaration": 5576,
"src": "200:5:51",

@@ -640,7 +640,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5604,
"id": 5583,
"name": "_array",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5600,
"referencedDeclaration": 5579,
"src": "208:6:51",

@@ -658,3 +658,3 @@ "typeDescriptions": {

},
"id": 5606,
"id": 5585,
"nodeType": "ExpressionStatement",

@@ -666,3 +666,3 @@ "src": "200:14:51"

"documentation": null,
"id": 5608,
"id": 5587,
"implemented": true,

@@ -674,3 +674,3 @@ "kind": "constructor",

"parameters": {
"id": 5601,
"id": 5580,
"nodeType": "ParameterList",

@@ -680,6 +680,6 @@ "parameters": [

"constant": false,
"id": 5600,
"id": 5579,
"name": "_array",
"nodeType": "VariableDeclaration",
"scope": 5608,
"scope": 5587,
"src": "158:23:51",

@@ -694,3 +694,3 @@ "stateVariable": false,

"baseType": {
"id": 5598,
"id": 5577,
"name": "uint256",

@@ -704,3 +704,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 5599,
"id": 5578,
"length": null,

@@ -721,3 +721,3 @@ "nodeType": "ArrayTypeName",

"returnParameters": {
"id": 5602,
"id": 5581,
"nodeType": "ParameterList",

@@ -727,3 +727,3 @@ "parameters": [],

},
"scope": 5622,
"scope": 5601,
"src": "145:76:51",

@@ -736,3 +736,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 5620,
"id": 5599,
"nodeType": "Block",

@@ -747,7 +747,7 @@ "src": "301:54:51",

"argumentTypes": null,
"id": 5617,
"id": 5596,
"name": "_element",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5610,
"referencedDeclaration": 5589,
"src": "339:8:51",

@@ -769,7 +769,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5615,
"id": 5594,
"name": "array",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5597,
"referencedDeclaration": 5576,
"src": "318:5:51",

@@ -781,3 +781,3 @@ "typeDescriptions": {

},
"id": 5616,
"id": 5595,
"isConstant": false,

@@ -789,3 +789,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 13415,
"referencedDeclaration": 13292,
"src": "318:20:51",

@@ -797,3 +797,3 @@ "typeDescriptions": {

},
"id": 5618,
"id": 5597,
"isConstant": false,

@@ -812,4 +812,4 @@ "isLValue": false,

},
"functionReturnParameters": 5614,
"id": 5619,
"functionReturnParameters": 5593,
"id": 5598,
"nodeType": "Return",

@@ -821,3 +821,3 @@ "src": "311:37:51"

"documentation": null,
"id": 5621,
"id": 5600,
"implemented": true,

@@ -829,3 +829,3 @@ "kind": "function",

"parameters": {
"id": 5611,
"id": 5590,
"nodeType": "ParameterList",

@@ -835,6 +835,6 @@ "parameters": [

"constant": false,
"id": 5610,
"id": 5589,
"name": "_element",
"nodeType": "VariableDeclaration",
"scope": 5621,
"scope": 5600,
"src": "251:16:51",

@@ -848,3 +848,3 @@ "stateVariable": false,

"typeName": {
"id": 5609,
"id": 5588,
"name": "uint256",

@@ -865,3 +865,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5614,
"id": 5593,
"nodeType": "ParameterList",

@@ -871,6 +871,6 @@ "parameters": [

"constant": false,
"id": 5613,
"id": 5592,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 5621,
"scope": 5600,
"src": "292:7:51",

@@ -884,3 +884,3 @@ "stateVariable": false,

"typeName": {
"id": 5612,
"id": 5591,
"name": "uint256",

@@ -900,3 +900,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 5622,
"scope": 5601,
"src": "227:128:51",

@@ -908,3 +908,3 @@ "stateMutability": "view",

],
"scope": 5623,
"scope": 5602,
"src": "56:301:51"

@@ -921,3 +921,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.723Z",
"updatedAt": "2019-08-16T19:32:31.241Z",
"devdoc": {

@@ -924,0 +924,0 @@ "methods": {}

@@ -158,7 +158,7 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"cap\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"capReached\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"rate\",\"type\":\"uint256\"},{\"name\":\"wallet\",\"type\":\"address\"},{\"name\":\"token\",\"type\":\"address\"},{\"name\":\"cap\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"cap()\":{\"return\":\"the cap of the crowdsale.\"},\"capReached()\":{\"details\":\"Checks whether the cap has been reached.\",\"return\":\"Whether the cap was reached\"},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/CappedCrowdsaleImpl.sol\":\"CappedCrowdsaleImpl\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/validation/CappedCrowdsale.sol\":{\"keccak256\":\"0x5ae16586a3b5e976aae1a08fdf109ead3840961aa0a1f5b4590d4adf5cdad3b5\",\"urls\":[\"bzzr://3128e606836af985a2c445aa5c5886c6ac6181d8edf565a2a2743fe502859ba2\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/mocks/CappedCrowdsaleImpl.sol\":{\"keccak256\":\"0xf144e5dfc01c8f0ef06553087320183d83ea63eb326a9d4cbec952d12765fbf1\",\"urls\":[\"bzzr://0dd622c5a725852433fd46b7da3243841ee566eb2302333ba8c3bd0fc5a66c0d\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xe0812b2b05e37bf0dc866f8ba0a1a36d6dd006ac5b02bfde80e820a2a9e804b8\",\"urls\":[\"bzzr://7010caa641157fce5262c47d6cf10c9d6a6f0094fa327485c4fcf70989ec4532\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50604051608080610f0f8339810180604052608081101561003057600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050808484846001600081905550600083116100e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f43726f776473616c653a2072617465206973203000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610167576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610eea6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156101ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180610ec66024913960400191505060405180910390fd5b8260038190555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050600081116102ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43617070656443726f776473616c653a2063617020697320300000000000000081525060200191505060405180910390fd5b806005819055505050505050610bbc8061030a6000396000f3fe6080604052600436106100705760003560e01c80634f9359451161004e5780634f93594514610103578063521eb27314610132578063ec8ac4d814610189578063fc0c546a146101cd57610070565b80632c4e722e14610082578063355274ea146100ad5780634042b66f146100d8575b61008061007b610224565b61022c565b005b34801561008e57600080fd5b50610097610390565b6040518082815260200191505060405180910390f35b3480156100b957600080fd5b506100c261039a565b6040518082815260200191505060405180910390f35b3480156100e457600080fd5b506100ed6103a4565b6040518082815260200191505060405180910390f35b34801561010f57600080fd5b506101186103ae565b604051808215151515815260200191505060405180910390f35b34801561013e57600080fd5b506101476103c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101cb6004803603602081101561019f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061022c565b005b3480156101d957600080fd5b506101e26103ec565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b6001600080828254019250508190555060008054905060003490506102518382610416565b600061025c826104b5565b9050610273826004546104d390919063ffffffff16565b600481905550610283848261055b565b8373ffffffffffffffffffffffffffffffffffffffff166102a2610224565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a36103018483610569565b61030961056d565b61031384836105d8565b5050600054811461038c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6000600554905090565b6000600454905090565b60006005546103bb6103a4565b1015905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61042082826105dc565b60055461043d8261042f6103a4565b6104d390919063ffffffff16565b11156104b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f43617070656443726f776473616c653a2063617020657863656564656400000081525060200191505060405180910390fd5b5050565b60006104cc600354836106dd90919063ffffffff16565b9050919050565b600080828401905083811015610551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6105658282610763565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156105d5573d6000803e3d6000fd5b50565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610662576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610b3d602a913960400191505060405180910390fd5b60008114156106d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b6000808314156106f0576000905061075d565b600082840290508284828161070157fe5b0414610758576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610b1c6021913960400191505060405180910390fd5b809150505b92915050565b6107b08282600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107b49092919063ffffffff16565b5050565b610880838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610885565b505050565b6108a48273ffffffffffffffffffffffffffffffffffffffff16610ad0565b610916576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106109655780518252602082019150602081019050602083039250610942565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146109c7576040519150601f19603f3d011682016040523d82523d6000602084013e6109cc565b606091505b509150915081610a44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115610aca57808060200190516020811015610a6357600080fd5b8101908080519060200190929190505050610ac9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610b67602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b8214158015610b125750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a723058200b030473fdea46798beb8a648ca7a2a93982fee89ee8ed7fe35c4a655b1250a8002943726f776473616c653a20746f6b656e20697320746865207a65726f206164647265737343726f776473616c653a2077616c6c657420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x6080604052600436106100705760003560e01c80634f9359451161004e5780634f93594514610103578063521eb27314610132578063ec8ac4d814610189578063fc0c546a146101cd57610070565b80632c4e722e14610082578063355274ea146100ad5780634042b66f146100d8575b61008061007b610224565b61022c565b005b34801561008e57600080fd5b50610097610390565b6040518082815260200191505060405180910390f35b3480156100b957600080fd5b506100c261039a565b6040518082815260200191505060405180910390f35b3480156100e457600080fd5b506100ed6103a4565b6040518082815260200191505060405180910390f35b34801561010f57600080fd5b506101186103ae565b604051808215151515815260200191505060405180910390f35b34801561013e57600080fd5b506101476103c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101cb6004803603602081101561019f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061022c565b005b3480156101d957600080fd5b506101e26103ec565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b6001600080828254019250508190555060008054905060003490506102518382610416565b600061025c826104b5565b9050610273826004546104d390919063ffffffff16565b600481905550610283848261055b565b8373ffffffffffffffffffffffffffffffffffffffff166102a2610224565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a36103018483610569565b61030961056d565b61031384836105d8565b5050600054811461038c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6000600554905090565b6000600454905090565b60006005546103bb6103a4565b1015905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61042082826105dc565b60055461043d8261042f6103a4565b6104d390919063ffffffff16565b11156104b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f43617070656443726f776473616c653a2063617020657863656564656400000081525060200191505060405180910390fd5b5050565b60006104cc600354836106dd90919063ffffffff16565b9050919050565b600080828401905083811015610551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6105658282610763565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156105d5573d6000803e3d6000fd5b50565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610662576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610b3d602a913960400191505060405180910390fd5b60008114156106d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b6000808314156106f0576000905061075d565b600082840290508284828161070157fe5b0414610758576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610b1c6021913960400191505060405180910390fd5b809150505b92915050565b6107b08282600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107b49092919063ffffffff16565b5050565b610880838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610885565b505050565b6108a48273ffffffffffffffffffffffffffffffffffffffff16610ad0565b610916576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106109655780518252602082019150602081019050602083039250610942565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146109c7576040519150601f19603f3d011682016040523d82523d6000602084013e6109cc565b606091505b509150915081610a44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115610aca57808060200190516020811015610a6357600080fd5b8101908080519060200190929190505050610ac9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610b67602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b8214158015610b125750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a723058200b030473fdea46798beb8a648ca7a2a93982fee89ee8ed7fe35c4a655b1250a80029",
"sourceMap": "116:285:52:-;;;170:229;8:9:-1;5:2;;;30:1;27;20:12;5:2;170:229:52;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;170:229:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;326:3;281:4;287:6;295:5;879:1:149;863:13;:17;;;;2416:1:15;2409:4;:8;2401:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2478:1;2460:20;;:6;:20;;;;2452:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2566:1;2540:28;;2548:5;2540:28;;;;2532:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2628:4;2620:5;:12;;;;2652:6;2642:7;;:16;;;;;;;;;;;;;;;;;;2677:5;2668:6;;:14;;;;;;;;;;;;;;;;;;2319:370;;;488:1:23;482:3;:7;474:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;536:3;529:4;:10;;;;431:115;170:229:52;;;;116:285;;;;;;",
"deployedSourceMap": "116:285:52:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3017:23:15;3027:12;:10;:12::i;:::-;3017:9;:23::i;:::-;116:285:52;3430:75:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3430:75:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;609:73:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;609:73:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3568:85:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3568:85:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;800:92:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;800:92:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3258:87:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3258:87:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3910:605;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3910:605:15;;;;;;;;;;;;;;;;;;;:::i;:::-;;3106:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3106:76:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;791:88:0;836:7;862:10;855:17;;791:88;:::o;3910:605:15:-;1313:1:149;1296:13;;:18;;;;;;;;;;;1324:20;1347:13;;1324:36;;3988:17:15;4008:9;3988:29;;4027:44;4048:11;4061:9;4027:20;:44::i;:::-;4130:14;4147:26;4163:9;4147:15;:26::i;:::-;4130:43;;4221:25;4236:9;4221:10;;:14;;:25;;;;:::i;:::-;4208:10;:38;;;;4257:37;4274:11;4287:6;4257:16;:37::i;:::-;4339:11;4309:61;;4325:12;:10;:12::i;:::-;4309:61;;;4352:9;4363:6;4309:61;;;;;;;;;;;;;;;;;;;;;;;;4381:46;4404:11;4417:9;4381:22;:46::i;:::-;4438:15;:13;:15::i;:::-;4463:45;4485:11;4498:9;4463:21;:45::i;:::-;1370:1:149;;1405:13;;1389:12;:29;1381:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3910:605:15;;:::o;3430:75::-;3467:7;3493:5;;3486:12;;3430:75;:::o;609:73:23:-;645:7;671:4;;664:11;;609:73;:::o;3568:85:15:-;3610:7;3636:10;;3629:17;;3568:85;:::o;800:92:23:-;843:4;881;;866:11;:9;:11::i;:::-;:19;;859:26;;800:92;:::o;3258:87:15:-;3297:15;3331:7;;;;;;;;;;;3324:14;;3258:87;:::o;3106:76::-;3144:6;3169;;;;;;;;;;;3162:13;;3106:76;:::o;1088:237:23:-;1182:50;1209:11;1222:9;1182:26;:50::i;:::-;1280:4;;1250:26;1266:9;1250:11;:9;:11::i;:::-;:15;;:26;;;;:::i;:::-;:34;;1242:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1088:237;;:::o;7358:120:15:-;7425:7;7451:20;7465:5;;7451:9;:13;;:20;;;;:::i;:::-;7444:27;;7358:120;;;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;6560:134:15:-;6647:40;6662:11;6675;6647:14;:40::i;:::-;6560:134;;:::o;6964:145::-;;;:::o;7565:78::-;7609:7;;;;;;;;;;;:16;;:27;7626:9;7609:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7609:27:15;7565:78::o;5728:149::-;;;:::o;5057:376::-;5182:1;5159:25;;:11;:25;;;;5151:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5262:1;5249:9;:14;;5241:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5057:376;;:::o;2119:459:48:-;2177:7;2423:1;2418;:6;2414:45;;;2447:1;2440:8;;;;2414:45;2469:9;2485:1;2481;:5;2469:17;;2513:1;2508;2504;:5;;;;;;:10;2496:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2570:1;2563:8;;;2119:459;;;;;:::o;6157:137:15:-;6242:45;6262:11;6275;6242:6;;;;;;;;;;;:19;;;;:45;;;;;:::i;:::-;6157:137;;:::o;662:174:127:-;744:85;763:5;793;:14;;;:23;;;;818:2;822:5;770:58;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;770:58:127;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;770:58:127;744:18;:85::i;:::-;662:174;;;:::o;2666:1095::-;3261:27;3269:5;3261:25;;;:27::i;:::-;3253:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3395:12;3409:23;3444:5;3436:19;;3456:4;3436:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3436:25:127;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3394:67:127;;;;3479:7;3471:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3558:1;3538:10;:17;:21;3534:221;;;3678:10;3667:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3667:30:127;;;;;;;;;;;;;;;;3659:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3534:221;2666:1095;;;;:::o;557:805:147:-;617:4;1070:16;1096:19;1118:66;1096:88;;;;1285:7;1273:20;1261:32;;1324:3;1312:15;;:8;:15;;:42;;;;;1343:11;1331:8;:23;;1312:42;1304:51;;;;557:805;;;:::o",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"cap\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"capReached\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"rate\",\"type\":\"uint256\"},{\"name\":\"wallet\",\"type\":\"address\"},{\"name\":\"token\",\"type\":\"address\"},{\"name\":\"cap\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"cap()\":{\"return\":\"the cap of the crowdsale.\"},\"capReached()\":{\"details\":\"Checks whether the cap has been reached.\",\"return\":\"Whether the cap was reached\"},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/CappedCrowdsaleImpl.sol\":\"CappedCrowdsaleImpl\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/validation/CappedCrowdsale.sol\":{\"keccak256\":\"0x5ae16586a3b5e976aae1a08fdf109ead3840961aa0a1f5b4590d4adf5cdad3b5\",\"urls\":[\"bzzr://3128e606836af985a2c445aa5c5886c6ac6181d8edf565a2a2743fe502859ba2\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/mocks/CappedCrowdsaleImpl.sol\":{\"keccak256\":\"0xf144e5dfc01c8f0ef06553087320183d83ea63eb326a9d4cbec952d12765fbf1\",\"urls\":[\"bzzr://0dd622c5a725852433fd46b7da3243841ee566eb2302333ba8c3bd0fc5a66c0d\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xf4bfe37bc0ed72fb1a94abab4acec42dcabc6b2936d684f9a018a61afe2d979a\",\"urls\":[\"bzzr://a0a3a1ea455fc61ea6032cad30321369a478121b32ae8a212a73a54e57dad3b5\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50604051608080610f0f8339810180604052608081101561003057600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050808484846001600081905550600083116100e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f43726f776473616c653a2072617465206973203000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610167576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610eea6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156101ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180610ec66024913960400191505060405180910390fd5b8260038190555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050600081116102ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43617070656443726f776473616c653a2063617020697320300000000000000081525060200191505060405180910390fd5b806005819055505050505050610bbc8061030a6000396000f3fe6080604052600436106100705760003560e01c80634f9359451161004e5780634f93594514610103578063521eb27314610132578063ec8ac4d814610189578063fc0c546a146101cd57610070565b80632c4e722e14610082578063355274ea146100ad5780634042b66f146100d8575b61008061007b610224565b61022c565b005b34801561008e57600080fd5b50610097610390565b6040518082815260200191505060405180910390f35b3480156100b957600080fd5b506100c261039a565b6040518082815260200191505060405180910390f35b3480156100e457600080fd5b506100ed6103a4565b6040518082815260200191505060405180910390f35b34801561010f57600080fd5b506101186103ae565b604051808215151515815260200191505060405180910390f35b34801561013e57600080fd5b506101476103c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101cb6004803603602081101561019f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061022c565b005b3480156101d957600080fd5b506101e26103ec565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b6001600080828254019250508190555060008054905060003490506102518382610416565b600061025c826104b5565b9050610273826004546104d390919063ffffffff16565b600481905550610283848261055b565b8373ffffffffffffffffffffffffffffffffffffffff166102a2610224565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a36103018483610569565b61030961056d565b61031384836105d8565b5050600054811461038c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6000600554905090565b6000600454905090565b60006005546103bb6103a4565b1015905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61042082826105dc565b60055461043d8261042f6103a4565b6104d390919063ffffffff16565b11156104b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f43617070656443726f776473616c653a2063617020657863656564656400000081525060200191505060405180910390fd5b5050565b60006104cc600354836106dd90919063ffffffff16565b9050919050565b600080828401905083811015610551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6105658282610763565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156105d5573d6000803e3d6000fd5b50565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610662576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610b3d602a913960400191505060405180910390fd5b60008114156106d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b6000808314156106f0576000905061075d565b600082840290508284828161070157fe5b0414610758576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610b1c6021913960400191505060405180910390fd5b809150505b92915050565b6107b08282600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107b49092919063ffffffff16565b5050565b610880838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610885565b505050565b6108a48273ffffffffffffffffffffffffffffffffffffffff16610ad0565b610916576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106109655780518252602082019150602081019050602083039250610942565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146109c7576040519150601f19603f3d011682016040523d82523d6000602084013e6109cc565b606091505b509150915081610a44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115610aca57808060200190516020811015610a6357600080fd5b8101908080519060200190929190505050610ac9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610b67602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b8214158015610b125750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a723058200a617890510e47fae79c5b7cdf5307df5ca05e678d36c0cacd7dcec03912d49d002943726f776473616c653a20746f6b656e20697320746865207a65726f206164647265737343726f776473616c653a2077616c6c657420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x6080604052600436106100705760003560e01c80634f9359451161004e5780634f93594514610103578063521eb27314610132578063ec8ac4d814610189578063fc0c546a146101cd57610070565b80632c4e722e14610082578063355274ea146100ad5780634042b66f146100d8575b61008061007b610224565b61022c565b005b34801561008e57600080fd5b50610097610390565b6040518082815260200191505060405180910390f35b3480156100b957600080fd5b506100c261039a565b6040518082815260200191505060405180910390f35b3480156100e457600080fd5b506100ed6103a4565b6040518082815260200191505060405180910390f35b34801561010f57600080fd5b506101186103ae565b604051808215151515815260200191505060405180910390f35b34801561013e57600080fd5b506101476103c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101cb6004803603602081101561019f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061022c565b005b3480156101d957600080fd5b506101e26103ec565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b6001600080828254019250508190555060008054905060003490506102518382610416565b600061025c826104b5565b9050610273826004546104d390919063ffffffff16565b600481905550610283848261055b565b8373ffffffffffffffffffffffffffffffffffffffff166102a2610224565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a36103018483610569565b61030961056d565b61031384836105d8565b5050600054811461038c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6000600554905090565b6000600454905090565b60006005546103bb6103a4565b1015905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61042082826105dc565b60055461043d8261042f6103a4565b6104d390919063ffffffff16565b11156104b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f43617070656443726f776473616c653a2063617020657863656564656400000081525060200191505060405180910390fd5b5050565b60006104cc600354836106dd90919063ffffffff16565b9050919050565b600080828401905083811015610551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6105658282610763565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156105d5573d6000803e3d6000fd5b50565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610662576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610b3d602a913960400191505060405180910390fd5b60008114156106d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b6000808314156106f0576000905061075d565b600082840290508284828161070157fe5b0414610758576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610b1c6021913960400191505060405180910390fd5b809150505b92915050565b6107b08282600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107b49092919063ffffffff16565b5050565b610880838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610885565b505050565b6108a48273ffffffffffffffffffffffffffffffffffffffff16610ad0565b610916576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106109655780518252602082019150602081019050602083039250610942565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146109c7576040519150601f19603f3d011682016040523d82523d6000602084013e6109cc565b606091505b509150915081610a44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115610aca57808060200190516020811015610a6357600080fd5b8101908080519060200190929190505050610ac9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610b67602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b8214158015610b125750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a723058200a617890510e47fae79c5b7cdf5307df5ca05e678d36c0cacd7dcec03912d49d0029",
"sourceMap": "116:285:52:-;;;170:229;8:9:-1;5:2;;;30:1;27;20:12;5:2;170:229:52;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;170:229:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;326:3;281:4;287:6;295:5;879:1:148;863:13;:17;;;;2416:1:15;2409:4;:8;2401:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2478:1;2460:20;;:6;:20;;;;2452:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2566:1;2540:28;;2548:5;2540:28;;;;2532:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2628:4;2620:5;:12;;;;2652:6;2642:7;;:16;;;;;;;;;;;;;;;;;;2677:5;2668:6;;:14;;;;;;;;;;;;;;;;;;2319:370;;;488:1:23;482:3;:7;474:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;536:3;529:4;:10;;;;431:115;170:229:52;;;;116:285;;;;;;",
"deployedSourceMap": "116:285:52:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3017:23:15;3027:12;:10;:12::i;:::-;3017:9;:23::i;:::-;116:285:52;3430:75:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3430:75:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;609:73:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;609:73:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3568:85:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3568:85:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;800:92:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;800:92:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3258:87:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3258:87:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3910:605;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3910:605:15;;;;;;;;;;;;;;;;;;;:::i;:::-;;3106:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3106:76:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;791:88:0;836:7;862:10;855:17;;791:88;:::o;3910:605:15:-;1313:1:148;1296:13;;:18;;;;;;;;;;;1324:20;1347:13;;1324:36;;3988:17:15;4008:9;3988:29;;4027:44;4048:11;4061:9;4027:20;:44::i;:::-;4130:14;4147:26;4163:9;4147:15;:26::i;:::-;4130:43;;4221:25;4236:9;4221:10;;:14;;:25;;;;:::i;:::-;4208:10;:38;;;;4257:37;4274:11;4287:6;4257:16;:37::i;:::-;4339:11;4309:61;;4325:12;:10;:12::i;:::-;4309:61;;;4352:9;4363:6;4309:61;;;;;;;;;;;;;;;;;;;;;;;;4381:46;4404:11;4417:9;4381:22;:46::i;:::-;4438:15;:13;:15::i;:::-;4463:45;4485:11;4498:9;4463:21;:45::i;:::-;1370:1:148;;1405:13;;1389:12;:29;1381:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3910:605:15;;:::o;3430:75::-;3467:7;3493:5;;3486:12;;3430:75;:::o;609:73:23:-;645:7;671:4;;664:11;;609:73;:::o;3568:85:15:-;3610:7;3636:10;;3629:17;;3568:85;:::o;800:92:23:-;843:4;881;;866:11;:9;:11::i;:::-;:19;;859:26;;800:92;:::o;3258:87:15:-;3297:15;3331:7;;;;;;;;;;;3324:14;;3258:87;:::o;3106:76::-;3144:6;3169;;;;;;;;;;;3162:13;;3106:76;:::o;1088:237:23:-;1182:50;1209:11;1222:9;1182:26;:50::i;:::-;1280:4;;1250:26;1266:9;1250:11;:9;:11::i;:::-;:15;;:26;;;;:::i;:::-;:34;;1242:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1088:237;;:::o;7358:120:15:-;7425:7;7451:20;7465:5;;7451:9;:13;;:20;;;;:::i;:::-;7444:27;;7358:120;;;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;6560:134:15:-;6647:40;6662:11;6675;6647:14;:40::i;:::-;6560:134;;:::o;6964:145::-;;;:::o;7565:78::-;7609:7;;;;;;;;;;;:16;;:27;7626:9;7609:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7609:27:15;7565:78::o;5728:149::-;;;:::o;5057:376::-;5182:1;5159:25;;:11;:25;;;;5151:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5262:1;5249:9;:14;;5241:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5057:376;;:::o;2271:459:48:-;2329:7;2575:1;2570;:6;2566:45;;;2599:1;2592:8;;;;2566:45;2621:9;2637:1;2633;:5;2621:17;;2665:1;2660;2656;:5;;;;;;:10;2648:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2722:1;2715:8;;;2271:459;;;;;:::o;6157:137:15:-;6242:45;6262:11;6275;6242:6;;;;;;;;;;;:19;;;;:45;;;;;:::i;:::-;6157:137;;:::o;662:174:126:-;744:85;763:5;793;:14;;;:23;;;;818:2;822:5;770:58;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;770:58:126;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;770:58:126;744:18;:85::i;:::-;662:174;;;:::o;2666:1095::-;3261:27;3269:5;3261:25;;;:27::i;:::-;3253:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3395:12;3409:23;3444:5;3436:19;;3456:4;3436:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3436:25:126;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3394:67:126;;;;3479:7;3471:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3558:1;3538:10;:17;:21;3534:221;;;3678:10;3667:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3667:30:126;;;;;;;;;;;;;;;;3659:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3534:221;2666:1095;;;;:::o;557:805:146:-;617:4;1070:16;1096:19;1118:66;1096:88;;;;1285:7;1273:20;1261:32;;1324:3;1312:15;;:8;:15;;:42;;;;;1343:11;1331:8;:23;;1312:42;1304:51;;;;557:805;;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../token/ERC20/IERC20.sol\";\nimport \"../crowdsale/validation/CappedCrowdsale.sol\";\n\ncontract CappedCrowdsaleImpl is CappedCrowdsale {\n constructor (uint256 rate, address payable wallet, IERC20 token, uint256 cap)\n public\n Crowdsale(rate, wallet, token)\n CappedCrowdsale(cap)\n {\n // solhint-disable-previous-line no-empty-blocks\n }\n}\n",

@@ -170,10 +170,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/CappedCrowdsaleImpl.sol",

"CappedCrowdsaleImpl": [
5649
5628
]
},
"id": 5650,
"id": 5629,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5624,
"id": 5603,
"literals": [

@@ -191,6 +191,6 @@ "solidity",

"file": "../token/ERC20/IERC20.sol",
"id": 5625,
"id": 5604,
"nodeType": "ImportDirective",
"scope": 5650,
"sourceUnit": 10270,
"scope": 5629,
"sourceUnit": 10147,
"src": "25:35:52",

@@ -203,6 +203,6 @@ "symbolAliases": [],

"file": "../crowdsale/validation/CappedCrowdsale.sol",
"id": 5626,
"id": 5605,
"nodeType": "ImportDirective",
"scope": 5650,
"sourceUnit": 2812,
"scope": 5629,
"sourceUnit": 2791,
"src": "61:53:52",

@@ -218,13 +218,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 5627,
"id": 5606,
"name": "CappedCrowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2811,
"referencedDeclaration": 2790,
"src": "148:15:52",
"typeDescriptions": {
"typeIdentifier": "t_contract$_CappedCrowdsale_$2811",
"typeIdentifier": "t_contract$_CappedCrowdsale_$2790",
"typeString": "contract CappedCrowdsale"
}
},
"id": 5628,
"id": 5607,
"nodeType": "InheritanceSpecifier",

@@ -236,5 +236,5 @@ "src": "148:15:52"

26,
2134,
2811,
13448
2113,
2790,
13325
],

@@ -244,8 +244,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 5649,
"id": 5628,
"linearizedBaseContracts": [
5649,
2811,
2134,
13448,
5628,
2790,
2113,
13325,
26

@@ -258,3 +258,3 @@ ],

"body": {
"id": 5647,
"id": 5626,
"nodeType": "Block",

@@ -265,3 +265,3 @@ "src": "335:64:52",

"documentation": null,
"id": 5648,
"id": 5627,
"implemented": true,

@@ -274,7 +274,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 5639,
"id": 5618,
"name": "rate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5630,
"referencedDeclaration": 5609,
"src": "281:4:52",

@@ -288,7 +288,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5640,
"id": 5619,
"name": "wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5632,
"referencedDeclaration": 5611,
"src": "287:6:52",

@@ -302,10 +302,10 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5641,
"id": 5620,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5634,
"referencedDeclaration": 5613,
"src": "295:5:52",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -315,13 +315,13 @@ }

],
"id": 5642,
"id": 5621,
"modifierName": {
"argumentTypes": null,
"id": 5638,
"id": 5617,
"name": "Crowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "271:9:52",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2134_$",
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2113_$",
"typeString": "type(contract Crowdsale)"

@@ -337,7 +337,7 @@ }

"argumentTypes": null,
"id": 5644,
"id": 5623,
"name": "cap",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5636,
"referencedDeclaration": 5615,
"src": "326:3:52",

@@ -350,13 +350,13 @@ "typeDescriptions": {

],
"id": 5645,
"id": 5624,
"modifierName": {
"argumentTypes": null,
"id": 5643,
"id": 5622,
"name": "CappedCrowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2811,
"referencedDeclaration": 2790,
"src": "310:15:52",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_CappedCrowdsale_$2811_$",
"typeIdentifier": "t_type$_t_contract$_CappedCrowdsale_$2790_$",
"typeString": "type(contract CappedCrowdsale)"

@@ -372,3 +372,3 @@ }

"parameters": {
"id": 5637,
"id": 5616,
"nodeType": "ParameterList",

@@ -378,6 +378,6 @@ "parameters": [

"constant": false,
"id": 5630,
"id": 5609,
"name": "rate",
"nodeType": "VariableDeclaration",
"scope": 5648,
"scope": 5627,
"src": "183:12:52",

@@ -391,3 +391,3 @@ "stateVariable": false,

"typeName": {
"id": 5629,
"id": 5608,
"name": "uint256",

@@ -406,6 +406,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 5632,
"id": 5611,
"name": "wallet",
"nodeType": "VariableDeclaration",
"scope": 5648,
"scope": 5627,
"src": "197:22:52",

@@ -419,3 +419,3 @@ "stateVariable": false,

"typeName": {
"id": 5631,
"id": 5610,
"name": "address",

@@ -435,6 +435,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 5634,
"id": 5613,
"name": "token",
"nodeType": "VariableDeclaration",
"scope": 5648,
"scope": 5627,
"src": "221:12:52",

@@ -444,3 +444,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -450,9 +450,9 @@ },

"contractScope": null,
"id": 5633,
"id": 5612,
"name": "IERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10269,
"referencedDeclaration": 10146,
"src": "221:6:52",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -466,6 +466,6 @@ }

"constant": false,
"id": 5636,
"id": 5615,
"name": "cap",
"nodeType": "VariableDeclaration",
"scope": 5648,
"scope": 5627,
"src": "235:11:52",

@@ -479,3 +479,3 @@ "stateVariable": false,

"typeName": {
"id": 5635,
"id": 5614,
"name": "uint256",

@@ -496,3 +496,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5646,
"id": 5625,
"nodeType": "ParameterList",

@@ -502,3 +502,3 @@ "parameters": [],

},
"scope": 5649,
"scope": 5628,
"src": "170:229:52",

@@ -510,3 +510,3 @@ "stateMutability": "nonpayable",

],
"scope": 5650,
"scope": 5629,
"src": "116:285:52"

@@ -521,10 +521,10 @@ }

"CappedCrowdsaleImpl": [
5649
5628
]
},
"id": 5650,
"id": 5629,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5624,
"id": 5603,
"literals": [

@@ -542,6 +542,6 @@ "solidity",

"file": "../token/ERC20/IERC20.sol",
"id": 5625,
"id": 5604,
"nodeType": "ImportDirective",
"scope": 5650,
"sourceUnit": 10270,
"scope": 5629,
"sourceUnit": 10147,
"src": "25:35:52",

@@ -554,6 +554,6 @@ "symbolAliases": [],

"file": "../crowdsale/validation/CappedCrowdsale.sol",
"id": 5626,
"id": 5605,
"nodeType": "ImportDirective",
"scope": 5650,
"sourceUnit": 2812,
"scope": 5629,
"sourceUnit": 2791,
"src": "61:53:52",

@@ -569,13 +569,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 5627,
"id": 5606,
"name": "CappedCrowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2811,
"referencedDeclaration": 2790,
"src": "148:15:52",
"typeDescriptions": {
"typeIdentifier": "t_contract$_CappedCrowdsale_$2811",
"typeIdentifier": "t_contract$_CappedCrowdsale_$2790",
"typeString": "contract CappedCrowdsale"
}
},
"id": 5628,
"id": 5607,
"nodeType": "InheritanceSpecifier",

@@ -587,5 +587,5 @@ "src": "148:15:52"

26,
2134,
2811,
13448
2113,
2790,
13325
],

@@ -595,8 +595,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 5649,
"id": 5628,
"linearizedBaseContracts": [
5649,
2811,
2134,
13448,
5628,
2790,
2113,
13325,
26

@@ -609,3 +609,3 @@ ],

"body": {
"id": 5647,
"id": 5626,
"nodeType": "Block",

@@ -616,3 +616,3 @@ "src": "335:64:52",

"documentation": null,
"id": 5648,
"id": 5627,
"implemented": true,

@@ -625,7 +625,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 5639,
"id": 5618,
"name": "rate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5630,
"referencedDeclaration": 5609,
"src": "281:4:52",

@@ -639,7 +639,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5640,
"id": 5619,
"name": "wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5632,
"referencedDeclaration": 5611,
"src": "287:6:52",

@@ -653,10 +653,10 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5641,
"id": 5620,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5634,
"referencedDeclaration": 5613,
"src": "295:5:52",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -666,13 +666,13 @@ }

],
"id": 5642,
"id": 5621,
"modifierName": {
"argumentTypes": null,
"id": 5638,
"id": 5617,
"name": "Crowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "271:9:52",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2134_$",
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2113_$",
"typeString": "type(contract Crowdsale)"

@@ -688,7 +688,7 @@ }

"argumentTypes": null,
"id": 5644,
"id": 5623,
"name": "cap",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5636,
"referencedDeclaration": 5615,
"src": "326:3:52",

@@ -701,13 +701,13 @@ "typeDescriptions": {

],
"id": 5645,
"id": 5624,
"modifierName": {
"argumentTypes": null,
"id": 5643,
"id": 5622,
"name": "CappedCrowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2811,
"referencedDeclaration": 2790,
"src": "310:15:52",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_CappedCrowdsale_$2811_$",
"typeIdentifier": "t_type$_t_contract$_CappedCrowdsale_$2790_$",
"typeString": "type(contract CappedCrowdsale)"

@@ -723,3 +723,3 @@ }

"parameters": {
"id": 5637,
"id": 5616,
"nodeType": "ParameterList",

@@ -729,6 +729,6 @@ "parameters": [

"constant": false,
"id": 5630,
"id": 5609,
"name": "rate",
"nodeType": "VariableDeclaration",
"scope": 5648,
"scope": 5627,
"src": "183:12:52",

@@ -742,3 +742,3 @@ "stateVariable": false,

"typeName": {
"id": 5629,
"id": 5608,
"name": "uint256",

@@ -757,6 +757,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 5632,
"id": 5611,
"name": "wallet",
"nodeType": "VariableDeclaration",
"scope": 5648,
"scope": 5627,
"src": "197:22:52",

@@ -770,3 +770,3 @@ "stateVariable": false,

"typeName": {
"id": 5631,
"id": 5610,
"name": "address",

@@ -786,6 +786,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 5634,
"id": 5613,
"name": "token",
"nodeType": "VariableDeclaration",
"scope": 5648,
"scope": 5627,
"src": "221:12:52",

@@ -795,3 +795,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -801,9 +801,9 @@ },

"contractScope": null,
"id": 5633,
"id": 5612,
"name": "IERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10269,
"referencedDeclaration": 10146,
"src": "221:6:52",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -817,6 +817,6 @@ }

"constant": false,
"id": 5636,
"id": 5615,
"name": "cap",
"nodeType": "VariableDeclaration",
"scope": 5648,
"scope": 5627,
"src": "235:11:52",

@@ -830,3 +830,3 @@ "stateVariable": false,

"typeName": {
"id": 5635,
"id": 5614,
"name": "uint256",

@@ -847,3 +847,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5646,
"id": 5625,
"nodeType": "ParameterList",

@@ -853,3 +853,3 @@ "parameters": [],

},
"scope": 5649,
"scope": 5628,
"src": "170:229:52",

@@ -861,3 +861,3 @@ "stateMutability": "nonpayable",

],
"scope": 5650,
"scope": 5629,
"src": "116:285:52"

@@ -874,3 +874,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.724Z",
"updatedAt": "2019-08-16T19:32:31.242Z",
"devdoc": {

@@ -877,0 +877,0 @@ "methods": {

@@ -105,10 +105,10 @@ {

"CapperRoleMock": [
5683
5662
]
},
"id": 5684,
"id": 5663,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5651,
"id": 5630,
"literals": [

@@ -126,6 +126,6 @@ "solidity",

"file": "../access/roles/CapperRole.sol",
"id": 5652,
"id": 5631,
"nodeType": "ImportDirective",
"scope": 5684,
"sourceUnit": 1317,
"scope": 5663,
"sourceUnit": 1296,
"src": "25:40:53",

@@ -141,13 +141,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 5653,
"id": 5632,
"name": "CapperRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1316,
"referencedDeclaration": 1295,
"src": "94:10:53",
"typeDescriptions": {
"typeIdentifier": "t_contract$_CapperRole_$1316",
"typeIdentifier": "t_contract$_CapperRole_$1295",
"typeString": "contract CapperRole"
}
},
"id": 5654,
"id": 5633,
"nodeType": "InheritanceSpecifier",

@@ -159,3 +159,3 @@ "src": "94:10:53"

26,
1316
1295
],

@@ -165,6 +165,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 5683,
"id": 5662,
"linearizedBaseContracts": [
5683,
1316,
5662,
1295,
26

@@ -177,3 +177,3 @@ ],

"body": {
"id": 5663,
"id": 5642,
"nodeType": "Block",

@@ -188,7 +188,7 @@ "src": "157:39:53",

"argumentTypes": null,
"id": 5660,
"id": 5639,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5656,
"referencedDeclaration": 5635,
"src": "181:7:53",

@@ -208,9 +208,9 @@ "typeDescriptions": {

],
"id": 5659,
"id": 5638,
"name": "_removeCapper",
"nodeType": "Identifier",
"overloadedDeclarations": [
5682
5661
],
"referencedDeclaration": 5682,
"referencedDeclaration": 5661,
"src": "167:13:53",

@@ -222,3 +222,3 @@ "typeDescriptions": {

},
"id": 5661,
"id": 5640,
"isConstant": false,

@@ -237,3 +237,3 @@ "isLValue": false,

},
"id": 5662,
"id": 5641,
"nodeType": "ExpressionStatement",

@@ -245,3 +245,3 @@ "src": "167:22:53"

"documentation": null,
"id": 5664,
"id": 5643,
"implemented": true,

@@ -253,3 +253,3 @@ "kind": "function",

"parameters": {
"id": 5657,
"id": 5636,
"nodeType": "ParameterList",

@@ -259,6 +259,6 @@ "parameters": [

"constant": false,
"id": 5656,
"id": 5635,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 5664,
"scope": 5643,
"src": "133:15:53",

@@ -272,3 +272,3 @@ "stateVariable": false,

"typeName": {
"id": 5655,
"id": 5634,
"name": "address",

@@ -290,3 +290,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5658,
"id": 5637,
"nodeType": "ParameterList",

@@ -296,3 +296,3 @@ "parameters": [],

},
"scope": 5683,
"scope": 5662,
"src": "111:85:53",

@@ -305,3 +305,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 5669,
"id": 5648,
"nodeType": "Block",

@@ -312,3 +312,3 @@ "src": "251:64:53",

"documentation": null,
"id": 5670,
"id": 5649,
"implemented": true,

@@ -319,10 +319,10 @@ "kind": "function",

"arguments": null,
"id": 5667,
"id": 5646,
"modifierName": {
"argumentTypes": null,
"id": 5666,
"id": 5645,
"name": "onlyCapper",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1249,
"referencedDeclaration": 1228,
"src": "240:10:53",

@@ -341,3 +341,3 @@ "typeDescriptions": {

"parameters": {
"id": 5665,
"id": 5644,
"nodeType": "ParameterList",

@@ -348,3 +348,3 @@ "parameters": [],

"returnParameters": {
"id": 5668,
"id": 5647,
"nodeType": "ParameterList",

@@ -354,3 +354,3 @@ "parameters": [],

},
"scope": 5683,
"scope": 5662,
"src": "202:113:53",

@@ -363,3 +363,3 @@ "stateMutability": "view",

"body": {
"id": 5681,
"id": 5660,
"nodeType": "Block",

@@ -374,7 +374,7 @@ "src": "443:45:53",

"argumentTypes": null,
"id": 5678,
"id": 5657,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5672,
"referencedDeclaration": 5651,
"src": "473:7:53",

@@ -396,14 +396,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5675,
"id": 5654,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13616,
"referencedDeclaration": 13493,
"src": "453:5:53",
"typeDescriptions": {
"typeIdentifier": "t_super$_CapperRoleMock_$5683",
"typeIdentifier": "t_super$_CapperRoleMock_$5662",
"typeString": "contract super CapperRoleMock"
}
},
"id": 5677,
"id": 5656,
"isConstant": false,

@@ -415,3 +415,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 1315,
"referencedDeclaration": 1294,
"src": "453:19:53",

@@ -423,3 +423,3 @@ "typeDescriptions": {

},
"id": 5679,
"id": 5658,
"isConstant": false,

@@ -438,3 +438,3 @@ "isLValue": false,

},
"id": 5680,
"id": 5659,
"nodeType": "ExpressionStatement",

@@ -446,3 +446,3 @@ "src": "453:28:53"

"documentation": null,
"id": 5682,
"id": 5661,
"implemented": true,

@@ -454,3 +454,3 @@ "kind": "function",

"parameters": {
"id": 5673,
"id": 5652,
"nodeType": "ParameterList",

@@ -460,6 +460,6 @@ "parameters": [

"constant": false,
"id": 5672,
"id": 5651,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 5682,
"scope": 5661,
"src": "417:15:53",

@@ -473,3 +473,3 @@ "stateVariable": false,

"typeName": {
"id": 5671,
"id": 5650,
"name": "address",

@@ -491,3 +491,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5674,
"id": 5653,
"nodeType": "ParameterList",

@@ -497,10 +497,10 @@ "parameters": [],

},
"scope": 5683,
"scope": 5662,
"src": "394:94:53",
"stateMutability": "nonpayable",
"superFunction": 1315,
"superFunction": 1294,
"visibility": "internal"
}
],
"scope": 5684,
"scope": 5663,
"src": "67:423:53"

@@ -515,10 +515,10 @@ }

"CapperRoleMock": [
5683
5662
]
},
"id": 5684,
"id": 5663,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5651,
"id": 5630,
"literals": [

@@ -536,6 +536,6 @@ "solidity",

"file": "../access/roles/CapperRole.sol",
"id": 5652,
"id": 5631,
"nodeType": "ImportDirective",
"scope": 5684,
"sourceUnit": 1317,
"scope": 5663,
"sourceUnit": 1296,
"src": "25:40:53",

@@ -551,13 +551,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 5653,
"id": 5632,
"name": "CapperRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1316,
"referencedDeclaration": 1295,
"src": "94:10:53",
"typeDescriptions": {
"typeIdentifier": "t_contract$_CapperRole_$1316",
"typeIdentifier": "t_contract$_CapperRole_$1295",
"typeString": "contract CapperRole"
}
},
"id": 5654,
"id": 5633,
"nodeType": "InheritanceSpecifier",

@@ -569,3 +569,3 @@ "src": "94:10:53"

26,
1316
1295
],

@@ -575,6 +575,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 5683,
"id": 5662,
"linearizedBaseContracts": [
5683,
1316,
5662,
1295,
26

@@ -587,3 +587,3 @@ ],

"body": {
"id": 5663,
"id": 5642,
"nodeType": "Block",

@@ -598,7 +598,7 @@ "src": "157:39:53",

"argumentTypes": null,
"id": 5660,
"id": 5639,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5656,
"referencedDeclaration": 5635,
"src": "181:7:53",

@@ -618,9 +618,9 @@ "typeDescriptions": {

],
"id": 5659,
"id": 5638,
"name": "_removeCapper",
"nodeType": "Identifier",
"overloadedDeclarations": [
5682
5661
],
"referencedDeclaration": 5682,
"referencedDeclaration": 5661,
"src": "167:13:53",

@@ -632,3 +632,3 @@ "typeDescriptions": {

},
"id": 5661,
"id": 5640,
"isConstant": false,

@@ -647,3 +647,3 @@ "isLValue": false,

},
"id": 5662,
"id": 5641,
"nodeType": "ExpressionStatement",

@@ -655,3 +655,3 @@ "src": "167:22:53"

"documentation": null,
"id": 5664,
"id": 5643,
"implemented": true,

@@ -663,3 +663,3 @@ "kind": "function",

"parameters": {
"id": 5657,
"id": 5636,
"nodeType": "ParameterList",

@@ -669,6 +669,6 @@ "parameters": [

"constant": false,
"id": 5656,
"id": 5635,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 5664,
"scope": 5643,
"src": "133:15:53",

@@ -682,3 +682,3 @@ "stateVariable": false,

"typeName": {
"id": 5655,
"id": 5634,
"name": "address",

@@ -700,3 +700,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5658,
"id": 5637,
"nodeType": "ParameterList",

@@ -706,3 +706,3 @@ "parameters": [],

},
"scope": 5683,
"scope": 5662,
"src": "111:85:53",

@@ -715,3 +715,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 5669,
"id": 5648,
"nodeType": "Block",

@@ -722,3 +722,3 @@ "src": "251:64:53",

"documentation": null,
"id": 5670,
"id": 5649,
"implemented": true,

@@ -729,10 +729,10 @@ "kind": "function",

"arguments": null,
"id": 5667,
"id": 5646,
"modifierName": {
"argumentTypes": null,
"id": 5666,
"id": 5645,
"name": "onlyCapper",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1249,
"referencedDeclaration": 1228,
"src": "240:10:53",

@@ -751,3 +751,3 @@ "typeDescriptions": {

"parameters": {
"id": 5665,
"id": 5644,
"nodeType": "ParameterList",

@@ -758,3 +758,3 @@ "parameters": [],

"returnParameters": {
"id": 5668,
"id": 5647,
"nodeType": "ParameterList",

@@ -764,3 +764,3 @@ "parameters": [],

},
"scope": 5683,
"scope": 5662,
"src": "202:113:53",

@@ -773,3 +773,3 @@ "stateMutability": "view",

"body": {
"id": 5681,
"id": 5660,
"nodeType": "Block",

@@ -784,7 +784,7 @@ "src": "443:45:53",

"argumentTypes": null,
"id": 5678,
"id": 5657,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5672,
"referencedDeclaration": 5651,
"src": "473:7:53",

@@ -806,14 +806,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5675,
"id": 5654,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13616,
"referencedDeclaration": 13493,
"src": "453:5:53",
"typeDescriptions": {
"typeIdentifier": "t_super$_CapperRoleMock_$5683",
"typeIdentifier": "t_super$_CapperRoleMock_$5662",
"typeString": "contract super CapperRoleMock"
}
},
"id": 5677,
"id": 5656,
"isConstant": false,

@@ -825,3 +825,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 1315,
"referencedDeclaration": 1294,
"src": "453:19:53",

@@ -833,3 +833,3 @@ "typeDescriptions": {

},
"id": 5679,
"id": 5658,
"isConstant": false,

@@ -848,3 +848,3 @@ "isLValue": false,

},
"id": 5680,
"id": 5659,
"nodeType": "ExpressionStatement",

@@ -856,3 +856,3 @@ "src": "453:28:53"

"documentation": null,
"id": 5682,
"id": 5661,
"implemented": true,

@@ -864,3 +864,3 @@ "kind": "function",

"parameters": {
"id": 5673,
"id": 5652,
"nodeType": "ParameterList",

@@ -870,6 +870,6 @@ "parameters": [

"constant": false,
"id": 5672,
"id": 5651,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 5682,
"scope": 5661,
"src": "417:15:53",

@@ -883,3 +883,3 @@ "stateVariable": false,

"typeName": {
"id": 5671,
"id": 5650,
"name": "address",

@@ -901,3 +901,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5674,
"id": 5653,
"nodeType": "ParameterList",

@@ -907,10 +907,10 @@ "parameters": [],

},
"scope": 5683,
"scope": 5662,
"src": "394:94:53",
"stateMutability": "nonpayable",
"superFunction": 1315,
"superFunction": 1294,
"visibility": "internal"
}
],
"scope": 5684,
"scope": 5663,
"src": "67:423:53"

@@ -927,3 +927,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.724Z",
"updatedAt": "2019-08-16T19:32:31.242Z",
"devdoc": {

@@ -930,0 +930,0 @@ "methods": {}

@@ -145,3 +145,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"transferPrimary\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdrawalAllowed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"primary\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"depositsOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"PrimaryTransferred\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Base abstract escrow to only allow withdrawal if a condition is met.Intended usage: See {Escrow}. Same usage guidelines apply here.\",\"methods\":{\"deposit(address)\":{\"details\":\"Stores the sent amount as credit to be withdrawn.\",\"params\":{\"payee\":\"The destination address of the funds.\"}},\"primary()\":{\"return\":\"the address of the primary.\"},\"transferPrimary(address)\":{\"details\":\"Transfers contract to a new primary.\",\"params\":{\"recipient\":\"The address of new primary.\"}},\"withdrawalAllowed(address)\":{\"details\":\"Returns whether an address is allowed to withdraw their funds. To be implemented by derived contracts.\",\"params\":{\"payee\":\"The destination address of the funds.\"}}},\"title\":\"ConditionalEscrow\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/payment/escrow/ConditionalEscrow.sol\":\"ConditionalEscrow\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/ownership/Secondary.sol\":{\"keccak256\":\"0x30b9cfe5aeb07c96a3346cd27dcdc2f9f19d7f664166f9b71f1e9e50605d1d67\",\"urls\":[\"bzzr://123562fe4fe4f80cf5c4f9f2e4678d9245dba57db4685ef97b395b5c9e0d5cf9\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/ConditionalEscrow.sol\":{\"keccak256\":\"0xc43492ecb8d0eb86ba1ecc3f50e5474021ba58ec14c004c41c6f6550e6ceafc0\",\"urls\":[\"bzzr://24eb091f7e2a1cd7583f2470432a0034f154d2ad988558b0a9672253de44fc0d\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/Escrow.sol\":{\"keccak256\":\"0xe04fab28efeedfaf2ea9be801549831ac93257e37026665984e358b482ed1049\",\"urls\":[\"bzzr://5a9b9bdec836796a1014e71f0a8d1073308a55e9fdd360df1845a16ee45cd212\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"transferPrimary\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdrawalAllowed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"primary\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"depositsOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"PrimaryTransferred\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Base abstract escrow to only allow withdrawal if a condition is met.Intended usage: See {Escrow}. Same usage guidelines apply here.\",\"methods\":{\"deposit(address)\":{\"details\":\"Stores the sent amount as credit to be withdrawn.\",\"params\":{\"payee\":\"The destination address of the funds.\"}},\"primary()\":{\"return\":\"the address of the primary.\"},\"transferPrimary(address)\":{\"details\":\"Transfers contract to a new primary.\",\"params\":{\"recipient\":\"The address of new primary.\"}},\"withdrawalAllowed(address)\":{\"details\":\"Returns whether an address is allowed to withdraw their funds. To be implemented by derived contracts.\",\"params\":{\"payee\":\"The destination address of the funds.\"}}},\"title\":\"ConditionalEscrow\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/payment/escrow/ConditionalEscrow.sol\":\"ConditionalEscrow\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/ownership/Secondary.sol\":{\"keccak256\":\"0x30b9cfe5aeb07c96a3346cd27dcdc2f9f19d7f664166f9b71f1e9e50605d1d67\",\"urls\":[\"bzzr://123562fe4fe4f80cf5c4f9f2e4678d9245dba57db4685ef97b395b5c9e0d5cf9\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/ConditionalEscrow.sol\":{\"keccak256\":\"0xc43492ecb8d0eb86ba1ecc3f50e5474021ba58ec14c004c41c6f6550e6ceafc0\",\"urls\":[\"bzzr://24eb091f7e2a1cd7583f2470432a0034f154d2ad988558b0a9672253de44fc0d\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/Escrow.sol\":{\"keccak256\":\"0xe04fab28efeedfaf2ea9be801549831ac93257e37026665984e358b482ed1049\",\"urls\":[\"bzzr://5a9b9bdec836796a1014e71f0a8d1073308a55e9fdd360df1845a16ee45cd212\"]}},\"version\":1}",
"bytecode": "0x",

@@ -157,10 +157,10 @@ "deployedBytecode": "0x",

"ConditionalEscrow": [
9260
9137
]
},
"id": 9261,
"id": 9138,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 9230,
"id": 9107,
"literals": [

@@ -173,3 +173,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:117"
"src": "0:23:116"
},

@@ -179,7 +179,7 @@ {

"file": "./Escrow.sol",
"id": 9231,
"id": 9108,
"nodeType": "ImportDirective",
"scope": 9261,
"sourceUnit": 9359,
"src": "25:22:117",
"scope": 9138,
"sourceUnit": 9236,
"src": "25:22:116",
"symbolAliases": [],

@@ -194,15 +194,15 @@ "unitAlias": ""

"contractScope": null,
"id": 9232,
"id": 9109,
"name": "Escrow",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9358,
"src": "264:6:117",
"referencedDeclaration": 9235,
"src": "264:6:116",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"
}
},
"id": 9233,
"id": 9110,
"nodeType": "InheritanceSpecifier",
"src": "264:6:117"
"src": "264:6:116"
}

@@ -212,4 +212,4 @@ ],

26,
8879,
9358
8756,
9235
],

@@ -219,7 +219,7 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 9260,
"id": 9137,
"linearizedBaseContracts": [
9260,
9358,
8879,
9137,
9235,
8756,
26

@@ -233,3 +233,3 @@ ],

"documentation": "@dev Returns whether an address is allowed to withdraw their funds. To be\nimplemented by derived contracts.\n@param payee The destination address of the funds.",
"id": 9240,
"id": 9117,
"implemented": false,

@@ -241,3 +241,3 @@ "kind": "function",

"parameters": {
"id": 9236,
"id": 9113,
"nodeType": "ParameterList",

@@ -247,7 +247,7 @@ "parameters": [

"constant": false,
"id": 9235,
"id": 9112,
"name": "payee",
"nodeType": "VariableDeclaration",
"scope": 9240,
"src": "500:13:117",
"scope": 9117,
"src": "500:13:116",
"stateVariable": false,

@@ -260,6 +260,6 @@ "storageLocation": "default",

"typeName": {
"id": 9234,
"id": 9111,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "500:7:117",
"src": "500:7:116",
"stateMutability": "nonpayable",

@@ -275,6 +275,6 @@ "typeDescriptions": {

],
"src": "499:15:117"
"src": "499:15:116"
},
"returnParameters": {
"id": 9239,
"id": 9116,
"nodeType": "ParameterList",

@@ -284,7 +284,7 @@ "parameters": [

"constant": false,
"id": 9238,
"id": 9115,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 9240,
"src": "536:4:117",
"scope": 9117,
"src": "536:4:116",
"stateVariable": false,

@@ -297,6 +297,6 @@ "storageLocation": "default",

"typeName": {
"id": 9237,
"id": 9114,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "536:4:117",
"src": "536:4:116",
"typeDescriptions": {

@@ -311,6 +311,6 @@ "typeIdentifier": "t_bool",

],
"src": "535:6:117"
"src": "535:6:116"
},
"scope": 9260,
"src": "473:69:117",
"scope": 9137,
"src": "473:69:116",
"stateMutability": "view",

@@ -322,5 +322,5 @@ "superFunction": null,

"body": {
"id": 9258,
"id": 9135,
"nodeType": "Block",
"src": "596:136:117",
"src": "596:136:116",
"statements": [

@@ -336,8 +336,8 @@ {

"argumentTypes": null,
"id": 9247,
"id": 9124,
"name": "payee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9242,
"src": "632:5:117",
"referencedDeclaration": 9119,
"src": "632:5:116",
"typeDescriptions": {

@@ -356,8 +356,8 @@ "typeIdentifier": "t_address_payable",

],
"id": 9246,
"id": 9123,
"name": "withdrawalAllowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9240,
"src": "614:17:117",
"referencedDeclaration": 9117,
"src": "614:17:116",
"typeDescriptions": {

@@ -368,3 +368,3 @@ "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",

},
"id": 9248,
"id": 9125,
"isConstant": false,

@@ -377,3 +377,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "614:24:117",
"src": "614:24:116",
"typeDescriptions": {

@@ -387,3 +387,3 @@ "typeIdentifier": "t_bool",

"hexValue": "436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420616c6c6f77656420746f207769746864726177",
"id": 9249,
"id": 9126,
"isConstant": false,

@@ -395,3 +395,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "640:53:117",
"src": "640:53:116",
"subdenomination": null,

@@ -416,11 +416,11 @@ "typeDescriptions": {

],
"id": 9245,
"id": 9122,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13466,
13467
13343,
13344
],
"referencedDeclaration": 13467,
"src": "606:7:117",
"referencedDeclaration": 13344,
"src": "606:7:116",
"typeDescriptions": {

@@ -431,3 +431,3 @@ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",

},
"id": 9250,
"id": 9127,
"isConstant": false,

@@ -440,3 +440,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "606:88:117",
"src": "606:88:116",
"typeDescriptions": {

@@ -447,5 +447,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 9251,
"id": 9128,
"nodeType": "ExpressionStatement",
"src": "606:88:117"
"src": "606:88:116"
},

@@ -458,8 +458,8 @@ {

"argumentTypes": null,
"id": 9255,
"id": 9132,
"name": "payee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9242,
"src": "719:5:117",
"referencedDeclaration": 9119,
"src": "719:5:116",
"typeDescriptions": {

@@ -480,14 +480,14 @@ "typeIdentifier": "t_address_payable",

"argumentTypes": null,
"id": 9252,
"id": 9129,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13540,
"src": "704:5:117",
"referencedDeclaration": 13417,
"src": "704:5:116",
"typeDescriptions": {
"typeIdentifier": "t_super$_ConditionalEscrow_$9260",
"typeIdentifier": "t_super$_ConditionalEscrow_$9137",
"typeString": "contract super ConditionalEscrow"
}
},
"id": 9254,
"id": 9131,
"isConstant": false,

@@ -499,4 +499,4 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 9357,
"src": "704:14:117",
"referencedDeclaration": 9234,
"src": "704:14:116",
"typeDescriptions": {

@@ -507,3 +507,3 @@ "typeIdentifier": "t_function_internal_nonpayable$_t_address_payable_$returns$__$",

},
"id": 9256,
"id": 9133,
"isConstant": false,

@@ -516,3 +516,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "704:21:117",
"src": "704:21:116",
"typeDescriptions": {

@@ -523,5 +523,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 9257,
"id": 9134,
"nodeType": "ExpressionStatement",
"src": "704:21:117"
"src": "704:21:116"
}

@@ -531,3 +531,3 @@ ]

"documentation": null,
"id": 9259,
"id": 9136,
"implemented": true,

@@ -539,3 +539,3 @@ "kind": "function",

"parameters": {
"id": 9243,
"id": 9120,
"nodeType": "ParameterList",

@@ -545,7 +545,7 @@ "parameters": [

"constant": false,
"id": 9242,
"id": 9119,
"name": "payee",
"nodeType": "VariableDeclaration",
"scope": 9259,
"src": "566:21:117",
"scope": 9136,
"src": "566:21:116",
"stateVariable": false,

@@ -558,6 +558,6 @@ "storageLocation": "default",

"typeName": {
"id": 9241,
"id": 9118,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "566:15:117",
"src": "566:15:116",
"stateMutability": "payable",

@@ -573,22 +573,22 @@ "typeDescriptions": {

],
"src": "565:23:117"
"src": "565:23:116"
},
"returnParameters": {
"id": 9244,
"id": 9121,
"nodeType": "ParameterList",
"parameters": [],
"src": "596:0:117"
"src": "596:0:116"
},
"scope": 9260,
"src": "548:184:117",
"scope": 9137,
"src": "548:184:116",
"stateMutability": "nonpayable",
"superFunction": 9357,
"superFunction": 9234,
"visibility": "public"
}
],
"scope": 9261,
"src": "234:500:117"
"scope": 9138,
"src": "234:500:116"
}
],
"src": "0:735:117"
"src": "0:735:116"
},

@@ -599,10 +599,10 @@ "legacyAST": {

"ConditionalEscrow": [
9260
9137
]
},
"id": 9261,
"id": 9138,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 9230,
"id": 9107,
"literals": [

@@ -615,3 +615,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:117"
"src": "0:23:116"
},

@@ -621,7 +621,7 @@ {

"file": "./Escrow.sol",
"id": 9231,
"id": 9108,
"nodeType": "ImportDirective",
"scope": 9261,
"sourceUnit": 9359,
"src": "25:22:117",
"scope": 9138,
"sourceUnit": 9236,
"src": "25:22:116",
"symbolAliases": [],

@@ -636,15 +636,15 @@ "unitAlias": ""

"contractScope": null,
"id": 9232,
"id": 9109,
"name": "Escrow",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9358,
"src": "264:6:117",
"referencedDeclaration": 9235,
"src": "264:6:116",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"
}
},
"id": 9233,
"id": 9110,
"nodeType": "InheritanceSpecifier",
"src": "264:6:117"
"src": "264:6:116"
}

@@ -654,4 +654,4 @@ ],

26,
8879,
9358
8756,
9235
],

@@ -661,7 +661,7 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 9260,
"id": 9137,
"linearizedBaseContracts": [
9260,
9358,
8879,
9137,
9235,
8756,
26

@@ -675,3 +675,3 @@ ],

"documentation": "@dev Returns whether an address is allowed to withdraw their funds. To be\nimplemented by derived contracts.\n@param payee The destination address of the funds.",
"id": 9240,
"id": 9117,
"implemented": false,

@@ -683,3 +683,3 @@ "kind": "function",

"parameters": {
"id": 9236,
"id": 9113,
"nodeType": "ParameterList",

@@ -689,7 +689,7 @@ "parameters": [

"constant": false,
"id": 9235,
"id": 9112,
"name": "payee",
"nodeType": "VariableDeclaration",
"scope": 9240,
"src": "500:13:117",
"scope": 9117,
"src": "500:13:116",
"stateVariable": false,

@@ -702,6 +702,6 @@ "storageLocation": "default",

"typeName": {
"id": 9234,
"id": 9111,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "500:7:117",
"src": "500:7:116",
"stateMutability": "nonpayable",

@@ -717,6 +717,6 @@ "typeDescriptions": {

],
"src": "499:15:117"
"src": "499:15:116"
},
"returnParameters": {
"id": 9239,
"id": 9116,
"nodeType": "ParameterList",

@@ -726,7 +726,7 @@ "parameters": [

"constant": false,
"id": 9238,
"id": 9115,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 9240,
"src": "536:4:117",
"scope": 9117,
"src": "536:4:116",
"stateVariable": false,

@@ -739,6 +739,6 @@ "storageLocation": "default",

"typeName": {
"id": 9237,
"id": 9114,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "536:4:117",
"src": "536:4:116",
"typeDescriptions": {

@@ -753,6 +753,6 @@ "typeIdentifier": "t_bool",

],
"src": "535:6:117"
"src": "535:6:116"
},
"scope": 9260,
"src": "473:69:117",
"scope": 9137,
"src": "473:69:116",
"stateMutability": "view",

@@ -764,5 +764,5 @@ "superFunction": null,

"body": {
"id": 9258,
"id": 9135,
"nodeType": "Block",
"src": "596:136:117",
"src": "596:136:116",
"statements": [

@@ -778,8 +778,8 @@ {

"argumentTypes": null,
"id": 9247,
"id": 9124,
"name": "payee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9242,
"src": "632:5:117",
"referencedDeclaration": 9119,
"src": "632:5:116",
"typeDescriptions": {

@@ -798,8 +798,8 @@ "typeIdentifier": "t_address_payable",

],
"id": 9246,
"id": 9123,
"name": "withdrawalAllowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9240,
"src": "614:17:117",
"referencedDeclaration": 9117,
"src": "614:17:116",
"typeDescriptions": {

@@ -810,3 +810,3 @@ "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",

},
"id": 9248,
"id": 9125,
"isConstant": false,

@@ -819,3 +819,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "614:24:117",
"src": "614:24:116",
"typeDescriptions": {

@@ -829,3 +829,3 @@ "typeIdentifier": "t_bool",

"hexValue": "436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420616c6c6f77656420746f207769746864726177",
"id": 9249,
"id": 9126,
"isConstant": false,

@@ -837,3 +837,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "640:53:117",
"src": "640:53:116",
"subdenomination": null,

@@ -858,11 +858,11 @@ "typeDescriptions": {

],
"id": 9245,
"id": 9122,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13466,
13467
13343,
13344
],
"referencedDeclaration": 13467,
"src": "606:7:117",
"referencedDeclaration": 13344,
"src": "606:7:116",
"typeDescriptions": {

@@ -873,3 +873,3 @@ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",

},
"id": 9250,
"id": 9127,
"isConstant": false,

@@ -882,3 +882,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "606:88:117",
"src": "606:88:116",
"typeDescriptions": {

@@ -889,5 +889,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 9251,
"id": 9128,
"nodeType": "ExpressionStatement",
"src": "606:88:117"
"src": "606:88:116"
},

@@ -900,8 +900,8 @@ {

"argumentTypes": null,
"id": 9255,
"id": 9132,
"name": "payee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9242,
"src": "719:5:117",
"referencedDeclaration": 9119,
"src": "719:5:116",
"typeDescriptions": {

@@ -922,14 +922,14 @@ "typeIdentifier": "t_address_payable",

"argumentTypes": null,
"id": 9252,
"id": 9129,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13540,
"src": "704:5:117",
"referencedDeclaration": 13417,
"src": "704:5:116",
"typeDescriptions": {
"typeIdentifier": "t_super$_ConditionalEscrow_$9260",
"typeIdentifier": "t_super$_ConditionalEscrow_$9137",
"typeString": "contract super ConditionalEscrow"
}
},
"id": 9254,
"id": 9131,
"isConstant": false,

@@ -941,4 +941,4 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 9357,
"src": "704:14:117",
"referencedDeclaration": 9234,
"src": "704:14:116",
"typeDescriptions": {

@@ -949,3 +949,3 @@ "typeIdentifier": "t_function_internal_nonpayable$_t_address_payable_$returns$__$",

},
"id": 9256,
"id": 9133,
"isConstant": false,

@@ -958,3 +958,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "704:21:117",
"src": "704:21:116",
"typeDescriptions": {

@@ -965,5 +965,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 9257,
"id": 9134,
"nodeType": "ExpressionStatement",
"src": "704:21:117"
"src": "704:21:116"
}

@@ -973,3 +973,3 @@ ]

"documentation": null,
"id": 9259,
"id": 9136,
"implemented": true,

@@ -981,3 +981,3 @@ "kind": "function",

"parameters": {
"id": 9243,
"id": 9120,
"nodeType": "ParameterList",

@@ -987,7 +987,7 @@ "parameters": [

"constant": false,
"id": 9242,
"id": 9119,
"name": "payee",
"nodeType": "VariableDeclaration",
"scope": 9259,
"src": "566:21:117",
"scope": 9136,
"src": "566:21:116",
"stateVariable": false,

@@ -1000,6 +1000,6 @@ "storageLocation": "default",

"typeName": {
"id": 9241,
"id": 9118,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "566:15:117",
"src": "566:15:116",
"stateMutability": "payable",

@@ -1015,22 +1015,22 @@ "typeDescriptions": {

],
"src": "565:23:117"
"src": "565:23:116"
},
"returnParameters": {
"id": 9244,
"id": 9121,
"nodeType": "ParameterList",
"parameters": [],
"src": "596:0:117"
"src": "596:0:116"
},
"scope": 9260,
"src": "548:184:117",
"scope": 9137,
"src": "548:184:116",
"stateMutability": "nonpayable",
"superFunction": 9357,
"superFunction": 9234,
"visibility": "public"
}
],
"scope": 9261,
"src": "234:500:117"
"scope": 9138,
"src": "234:500:116"
}
],
"src": "0:735:117"
"src": "0:735:116"
},

@@ -1043,3 +1043,3 @@ "compiler": {

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.805Z",
"updatedAt": "2019-08-16T19:32:31.317Z",
"devdoc": {

@@ -1046,0 +1046,0 @@ "details": "Base abstract escrow to only allow withdrawal if a condition is met.Intended usage: See {Escrow}. Same usage guidelines apply here.",

@@ -163,7 +163,7 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"transferPrimary\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"},{\"name\":\"allowed\",\"type\":\"bool\"}],\"name\":\"setAllowed\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdrawalAllowed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"primary\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"depositsOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"PrimaryTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"deposit(address)\":{\"details\":\"Stores the sent amount as credit to be withdrawn.\",\"params\":{\"payee\":\"The destination address of the funds.\"}},\"primary()\":{\"return\":\"the address of the primary.\"},\"transferPrimary(address)\":{\"details\":\"Transfers contract to a new primary.\",\"params\":{\"recipient\":\"The address of new primary.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/ConditionalEscrowMock.sol\":\"ConditionalEscrowMock\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/mocks/ConditionalEscrowMock.sol\":{\"keccak256\":\"0x85f66d5eb097a7f990595b022a4e00d6ee02173883720ba357e797cb2f24c627\",\"urls\":[\"bzzr://b7bdb82a3bc012fbc4892302a1f5ef1a2edb7d7c085626def00586169fa4199f\"]},\"/home/frangio/oz/contracts/contracts/ownership/Secondary.sol\":{\"keccak256\":\"0x30b9cfe5aeb07c96a3346cd27dcdc2f9f19d7f664166f9b71f1e9e50605d1d67\",\"urls\":[\"bzzr://123562fe4fe4f80cf5c4f9f2e4678d9245dba57db4685ef97b395b5c9e0d5cf9\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/ConditionalEscrow.sol\":{\"keccak256\":\"0xc43492ecb8d0eb86ba1ecc3f50e5474021ba58ec14c004c41c6f6550e6ceafc0\",\"urls\":[\"bzzr://24eb091f7e2a1cd7583f2470432a0034f154d2ad988558b0a9672253de44fc0d\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/Escrow.sol\":{\"keccak256\":\"0xe04fab28efeedfaf2ea9be801549831ac93257e37026665984e358b482ed1049\",\"urls\":[\"bzzr://5a9b9bdec836796a1014e71f0a8d1073308a55e9fdd360df1845a16ee45cd212\"]}},\"version\":1}",
"bytecode": "0x60806040526100126100da60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4101e71e974f68df5e9730cc223280b41654676bbb052cdcc735c3337e64d2d96000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a16100e2565b600033905090565b610b0e806100f16000396000f3fe6080604052600436106100705760003560e01c8063685ca1941161004e578063685ca19414610174578063c6dbdf61146101dd578063e3a9db1a14610234578063f340fa011461029957610070565b80632348238c146100755780634697f05d146100c657806351cff8d914610123575b600080fd5b34801561008157600080fd5b506100c46004803603602081101561009857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102dd565b005b3480156100d257600080fd5b50610121600480360360408110156100e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506104d6565b005b34801561012f57600080fd5b506101726004803603602081101561014657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610531565b005b34801561018057600080fd5b506101c36004803603602081101561019757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061059b565b604051808215151515815260200191505060405180910390f35b3480156101e957600080fd5b506101f26105f1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024057600080fd5b506102836004803603602081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061061a565b6040518082815260200191505060405180910390f35b6102db600480360360208110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610663565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661031d6107fb565b73ffffffffffffffffffffffffffffffffffffffff1614610389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610ab7602c913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561040f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610a8d602a913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4101e71e974f68df5e9730cc223280b41654676bbb052cdcc735c3337e64d2d96000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61053a8161059b565b61058f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180610a5a6033913960400191505060405180910390fd5b61059881610803565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106a36107fb565b73ffffffffffffffffffffffffffffffffffffffff161461070f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610ab7602c913960400191505060405180910390fd5b600034905061076681600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109d190919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4826040518082815260200191505060405180910390a25050565b600033905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108436107fb565b73ffffffffffffffffffffffffffffffffffffffff16146108af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610ab7602c913960400191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561097e573d6000803e3d6000fd5b508173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040518082815260200191505060405180910390a25050565b600080828401905083811015610a4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420616c6c6f77656420746f2077697468647261775365636f6e646172793a206e6577207072696d61727920697320746865207a65726f20616464726573735365636f6e646172793a2063616c6c6572206973206e6f7420746865207072696d617279206163636f756e74a165627a7a723058207bf4c853d29bbb8d828bd140595725771d977db8d7e156a2230d1fa043b0a4a60029",
"deployedBytecode": "0x6080604052600436106100705760003560e01c8063685ca1941161004e578063685ca19414610174578063c6dbdf61146101dd578063e3a9db1a14610234578063f340fa011461029957610070565b80632348238c146100755780634697f05d146100c657806351cff8d914610123575b600080fd5b34801561008157600080fd5b506100c46004803603602081101561009857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102dd565b005b3480156100d257600080fd5b50610121600480360360408110156100e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506104d6565b005b34801561012f57600080fd5b506101726004803603602081101561014657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610531565b005b34801561018057600080fd5b506101c36004803603602081101561019757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061059b565b604051808215151515815260200191505060405180910390f35b3480156101e957600080fd5b506101f26105f1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024057600080fd5b506102836004803603602081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061061a565b6040518082815260200191505060405180910390f35b6102db600480360360208110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610663565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661031d6107fb565b73ffffffffffffffffffffffffffffffffffffffff1614610389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610ab7602c913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561040f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610a8d602a913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4101e71e974f68df5e9730cc223280b41654676bbb052cdcc735c3337e64d2d96000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61053a8161059b565b61058f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180610a5a6033913960400191505060405180910390fd5b61059881610803565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106a36107fb565b73ffffffffffffffffffffffffffffffffffffffff161461070f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610ab7602c913960400191505060405180910390fd5b600034905061076681600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109d190919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4826040518082815260200191505060405180910390a25050565b600033905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108436107fb565b73ffffffffffffffffffffffffffffffffffffffff16146108af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610ab7602c913960400191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561097e573d6000803e3d6000fd5b508173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040518082815260200191505060405180910390a25050565b600080828401905083811015610a4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420616c6c6f77656420746f2077697468647261775365636f6e646172793a206e6577207072696d61727920697320746865207a65726f20616464726573735365636f6e646172793a2063616c6c6572206973206e6f7420746865207072696d617279206163636f756e74a165627a7a723058207bf4c853d29bbb8d828bd140595725771d977db8d7e156a2230d1fa043b0a4a60029",
"sourceMap": "114:320:54:-;;;510:12:114;:10;;;:12;;:::i;:::-;499:8;;:23;;;;;;;;;;;;;;;;;;537:28;556:8;;;;;;;;;;;537:28;;;;;;;;;;;;;;;;;;;;;;114:320:54;;791:88:0;836:7;862:10;855:17;;791:88;:::o;114:320:54:-;;;;;;;",
"deployedSourceMap": "114:320:54:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1066:231:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1066:231:114;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1066:231:114;;;;;;;;;;;;;;;;;;;:::i;:::-;;220:98:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;220:98:54;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;220:98:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;548:184:117;;8:9:-1;5:2;;;30:1;27;20:12;5:2;548:184:117;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;548:184:117;;;;;;;;;;;;;;;;;;;:::i;:::-;;324:108:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;324:108:54;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;324:108:54;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;862:81:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;862:81:114;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;994:105:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;994:105:118;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;994:105:118;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1241:199;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1241:199:118;;;;;;;;;;;;;;;;;;;:::i;:::-;;1066:231:114;722:8;;;;;;;;;;;706:24;;:12;:10;:12::i;:::-;:24;;;698:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1168:1;1147:23;;:9;:23;;;;1139:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1238:9;1227:8;;:20;;;;;;;;;;;;;;;;;;1262:28;1281:8;;;;;;;;;;;1262:28;;;;;;;;;;;;;;;;;;;;;;1066:231;:::o;220:98:54:-;304:7;286:8;:15;295:5;286:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;220:98;;:::o;548:184:117:-;614:24;632:5;614:17;:24::i;:::-;606:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;704:21;719:5;704:14;:21::i;:::-;548:184;:::o;324:108:54:-;387:4;410:8;:15;419:5;410:15;;;;;;;;;;;;;;;;;;;;;;;;;403:22;;324:108;;;:::o;862:81:114:-;902:7;928:8;;;;;;;;;;;921:15;;862:81;:::o;994:105:118:-;1050:7;1076:9;:16;1086:5;1076:16;;;;;;;;;;;;;;;;1069:23;;994:105;;;:::o;1241:199::-;722:8:114;;;;;;;;;;;706:24;;:12;:10;:12::i;:::-;:24;;;698:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1310:14:118;1327:9;1310:26;;1365:28;1386:6;1365:9;:16;1375:5;1365:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;1346:9;:16;1356:5;1346:16;;;;;;;;;;;;;;;:47;;;;1419:5;1409:24;;;1426:6;1409:24;;;;;;;;;;;;;;;;;;789:1:114;1241:199:118;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;1598:217:118:-;722:8:114;;;;;;;;;;;706:24;;:12;:10;:12::i;:::-;:24;;;698:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1668:15:118;1686:9;:16;1696:5;1686:16;;;;;;;;;;;;;;;;1668:34;;1732:1;1713:9;:16;1723:5;1713:16;;;;;;;;;;;;;;;:20;;;;1744:5;:14;;:23;1759:7;1744:23;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1744:23:118;1793:5;1783:25;;;1800:7;1783:25;;;;;;;;;;;;;;;;;;789:1:114;1598:217:118;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"transferPrimary\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"},{\"name\":\"allowed\",\"type\":\"bool\"}],\"name\":\"setAllowed\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdrawalAllowed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"primary\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"depositsOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"PrimaryTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"deposit(address)\":{\"details\":\"Stores the sent amount as credit to be withdrawn.\",\"params\":{\"payee\":\"The destination address of the funds.\"}},\"primary()\":{\"return\":\"the address of the primary.\"},\"transferPrimary(address)\":{\"details\":\"Transfers contract to a new primary.\",\"params\":{\"recipient\":\"The address of new primary.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/ConditionalEscrowMock.sol\":\"ConditionalEscrowMock\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/mocks/ConditionalEscrowMock.sol\":{\"keccak256\":\"0x85f66d5eb097a7f990595b022a4e00d6ee02173883720ba357e797cb2f24c627\",\"urls\":[\"bzzr://b7bdb82a3bc012fbc4892302a1f5ef1a2edb7d7c085626def00586169fa4199f\"]},\"/home/frangio/oz/contracts/contracts/ownership/Secondary.sol\":{\"keccak256\":\"0x30b9cfe5aeb07c96a3346cd27dcdc2f9f19d7f664166f9b71f1e9e50605d1d67\",\"urls\":[\"bzzr://123562fe4fe4f80cf5c4f9f2e4678d9245dba57db4685ef97b395b5c9e0d5cf9\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/ConditionalEscrow.sol\":{\"keccak256\":\"0xc43492ecb8d0eb86ba1ecc3f50e5474021ba58ec14c004c41c6f6550e6ceafc0\",\"urls\":[\"bzzr://24eb091f7e2a1cd7583f2470432a0034f154d2ad988558b0a9672253de44fc0d\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/Escrow.sol\":{\"keccak256\":\"0xe04fab28efeedfaf2ea9be801549831ac93257e37026665984e358b482ed1049\",\"urls\":[\"bzzr://5a9b9bdec836796a1014e71f0a8d1073308a55e9fdd360df1845a16ee45cd212\"]}},\"version\":1}",
"bytecode": "0x60806040526100126100da60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4101e71e974f68df5e9730cc223280b41654676bbb052cdcc735c3337e64d2d96000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a16100e2565b600033905090565b610b0e806100f16000396000f3fe6080604052600436106100705760003560e01c8063685ca1941161004e578063685ca19414610174578063c6dbdf61146101dd578063e3a9db1a14610234578063f340fa011461029957610070565b80632348238c146100755780634697f05d146100c657806351cff8d914610123575b600080fd5b34801561008157600080fd5b506100c46004803603602081101561009857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102dd565b005b3480156100d257600080fd5b50610121600480360360408110156100e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506104d6565b005b34801561012f57600080fd5b506101726004803603602081101561014657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610531565b005b34801561018057600080fd5b506101c36004803603602081101561019757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061059b565b604051808215151515815260200191505060405180910390f35b3480156101e957600080fd5b506101f26105f1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024057600080fd5b506102836004803603602081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061061a565b6040518082815260200191505060405180910390f35b6102db600480360360208110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610663565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661031d6107fb565b73ffffffffffffffffffffffffffffffffffffffff1614610389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610ab7602c913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561040f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610a8d602a913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4101e71e974f68df5e9730cc223280b41654676bbb052cdcc735c3337e64d2d96000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61053a8161059b565b61058f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180610a5a6033913960400191505060405180910390fd5b61059881610803565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106a36107fb565b73ffffffffffffffffffffffffffffffffffffffff161461070f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610ab7602c913960400191505060405180910390fd5b600034905061076681600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109d190919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4826040518082815260200191505060405180910390a25050565b600033905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108436107fb565b73ffffffffffffffffffffffffffffffffffffffff16146108af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610ab7602c913960400191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561097e573d6000803e3d6000fd5b508173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040518082815260200191505060405180910390a25050565b600080828401905083811015610a4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420616c6c6f77656420746f2077697468647261775365636f6e646172793a206e6577207072696d61727920697320746865207a65726f20616464726573735365636f6e646172793a2063616c6c6572206973206e6f7420746865207072696d617279206163636f756e74a165627a7a72305820c5a8f19e7289024bbe02f1b93fb3f1474e83d93c85f1010d3836d8e1906c3fb00029",
"deployedBytecode": "0x6080604052600436106100705760003560e01c8063685ca1941161004e578063685ca19414610174578063c6dbdf61146101dd578063e3a9db1a14610234578063f340fa011461029957610070565b80632348238c146100755780634697f05d146100c657806351cff8d914610123575b600080fd5b34801561008157600080fd5b506100c46004803603602081101561009857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102dd565b005b3480156100d257600080fd5b50610121600480360360408110156100e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506104d6565b005b34801561012f57600080fd5b506101726004803603602081101561014657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610531565b005b34801561018057600080fd5b506101c36004803603602081101561019757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061059b565b604051808215151515815260200191505060405180910390f35b3480156101e957600080fd5b506101f26105f1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024057600080fd5b506102836004803603602081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061061a565b6040518082815260200191505060405180910390f35b6102db600480360360208110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610663565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661031d6107fb565b73ffffffffffffffffffffffffffffffffffffffff1614610389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610ab7602c913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561040f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610a8d602a913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4101e71e974f68df5e9730cc223280b41654676bbb052cdcc735c3337e64d2d96000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61053a8161059b565b61058f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180610a5a6033913960400191505060405180910390fd5b61059881610803565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106a36107fb565b73ffffffffffffffffffffffffffffffffffffffff161461070f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610ab7602c913960400191505060405180910390fd5b600034905061076681600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109d190919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4826040518082815260200191505060405180910390a25050565b600033905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108436107fb565b73ffffffffffffffffffffffffffffffffffffffff16146108af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610ab7602c913960400191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561097e573d6000803e3d6000fd5b508173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040518082815260200191505060405180910390a25050565b600080828401905083811015610a4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420616c6c6f77656420746f2077697468647261775365636f6e646172793a206e6577207072696d61727920697320746865207a65726f20616464726573735365636f6e646172793a2063616c6c6572206973206e6f7420746865207072696d617279206163636f756e74a165627a7a72305820c5a8f19e7289024bbe02f1b93fb3f1474e83d93c85f1010d3836d8e1906c3fb00029",
"sourceMap": "114:320:54:-;;;510:12:113;:10;;;:12;;:::i;:::-;499:8;;:23;;;;;;;;;;;;;;;;;;537:28;556:8;;;;;;;;;;;537:28;;;;;;;;;;;;;;;;;;;;;;114:320:54;;791:88:0;836:7;862:10;855:17;;791:88;:::o;114:320:54:-;;;;;;;",
"deployedSourceMap": "114:320:54:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1066:231:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1066:231:113;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1066:231:113;;;;;;;;;;;;;;;;;;;:::i;:::-;;220:98:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;220:98:54;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;220:98:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;548:184:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;548:184:116;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;548:184:116;;;;;;;;;;;;;;;;;;;:::i;:::-;;324:108:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;324:108:54;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;324:108:54;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;862:81:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;862:81:113;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;994:105:117;;8:9:-1;5:2;;;30:1;27;20:12;5:2;994:105:117;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;994:105:117;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1241:199;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1241:199:117;;;;;;;;;;;;;;;;;;;:::i;:::-;;1066:231:113;722:8;;;;;;;;;;;706:24;;:12;:10;:12::i;:::-;:24;;;698:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1168:1;1147:23;;:9;:23;;;;1139:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1238:9;1227:8;;:20;;;;;;;;;;;;;;;;;;1262:28;1281:8;;;;;;;;;;;1262:28;;;;;;;;;;;;;;;;;;;;;;1066:231;:::o;220:98:54:-;304:7;286:8;:15;295:5;286:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;220:98;;:::o;548:184:116:-;614:24;632:5;614:17;:24::i;:::-;606:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;704:21;719:5;704:14;:21::i;:::-;548:184;:::o;324:108:54:-;387:4;410:8;:15;419:5;410:15;;;;;;;;;;;;;;;;;;;;;;;;;403:22;;324:108;;;:::o;862:81:113:-;902:7;928:8;;;;;;;;;;;921:15;;862:81;:::o;994:105:117:-;1050:7;1076:9;:16;1086:5;1076:16;;;;;;;;;;;;;;;;1069:23;;994:105;;;:::o;1241:199::-;722:8:113;;;;;;;;;;;706:24;;:12;:10;:12::i;:::-;:24;;;698:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1310:14:117;1327:9;1310:26;;1365:28;1386:6;1365:9;:16;1375:5;1365:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;1346:9;:16;1356:5;1346:16;;;;;;;;;;;;;;;:47;;;;1419:5;1409:24;;;1426:6;1409:24;;;;;;;;;;;;;;;;;;789:1:113;1241:199:117;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;1598:217:117:-;722:8:113;;;;;;;;;;;706:24;;:12;:10;:12::i;:::-;:24;;;698:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1668:15:117;1686:9;:16;1696:5;1686:16;;;;;;;;;;;;;;;;1668:34;;1732:1;1713:9;:16;1723:5;1713:16;;;;;;;;;;;;;;;:20;;;;1744:5;:14;;:23;1759:7;1744:23;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1744:23:117;1793:5;1783:25;;;1800:7;1783:25;;;;;;;;;;;;;;;;;;789:1:113;1598:217:117;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../payment/escrow/ConditionalEscrow.sol\";\n\n// mock class using ConditionalEscrow\ncontract ConditionalEscrowMock is ConditionalEscrow {\n mapping(address => bool) private _allowed;\n\n function setAllowed(address payee, bool allowed) public {\n _allowed[payee] = allowed;\n }\n\n function withdrawalAllowed(address payee) public view returns (bool) {\n return _allowed[payee];\n }\n}\n",

@@ -175,10 +175,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/ConditionalEscrowMock.sol",

"ConditionalEscrowMock": [
5719
5698
]
},
"id": 5720,
"id": 5699,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5685,
"id": 5664,
"literals": [

@@ -196,6 +196,6 @@ "solidity",

"file": "../payment/escrow/ConditionalEscrow.sol",
"id": 5686,
"id": 5665,
"nodeType": "ImportDirective",
"scope": 5720,
"sourceUnit": 9261,
"scope": 5699,
"sourceUnit": 9138,
"src": "25:49:54",

@@ -211,13 +211,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 5687,
"id": 5666,
"name": "ConditionalEscrow",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9260,
"referencedDeclaration": 9137,
"src": "148:17:54",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ConditionalEscrow_$9260",
"typeIdentifier": "t_contract$_ConditionalEscrow_$9137",
"typeString": "contract ConditionalEscrow"
}
},
"id": 5688,
"id": 5667,
"nodeType": "InheritanceSpecifier",

@@ -229,5 +229,5 @@ "src": "148:17:54"

26,
8879,
9260,
9358
8756,
9137,
9235
],

@@ -237,8 +237,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 5719,
"id": 5698,
"linearizedBaseContracts": [
5719,
9260,
9358,
8879,
5698,
9137,
9235,
8756,
26

@@ -251,6 +251,6 @@ ],

"constant": false,
"id": 5692,
"id": 5671,
"name": "_allowed",
"nodeType": "VariableDeclaration",
"scope": 5719,
"scope": 5698,
"src": "172:41:54",

@@ -264,5 +264,5 @@ "stateVariable": true,

"typeName": {
"id": 5691,
"id": 5670,
"keyType": {
"id": 5689,
"id": 5668,
"name": "address",

@@ -283,3 +283,3 @@ "nodeType": "ElementaryTypeName",

"valueType": {
"id": 5690,
"id": 5669,
"name": "bool",

@@ -299,3 +299,3 @@ "nodeType": "ElementaryTypeName",

"body": {
"id": 5705,
"id": 5684,
"nodeType": "Block",

@@ -307,3 +307,3 @@ "src": "276:42:54",

"argumentTypes": null,
"id": 5703,
"id": 5682,
"isConstant": false,

@@ -317,7 +317,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 5699,
"id": 5678,
"name": "_allowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5692,
"referencedDeclaration": 5671,
"src": "286:8:54",

@@ -329,10 +329,10 @@ "typeDescriptions": {

},
"id": 5701,
"id": 5680,
"indexExpression": {
"argumentTypes": null,
"id": 5700,
"id": 5679,
"name": "payee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5694,
"referencedDeclaration": 5673,
"src": "295:5:54",

@@ -359,7 +359,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5702,
"id": 5681,
"name": "allowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5696,
"referencedDeclaration": 5675,
"src": "304:7:54",

@@ -377,3 +377,3 @@ "typeDescriptions": {

},
"id": 5704,
"id": 5683,
"nodeType": "ExpressionStatement",

@@ -385,3 +385,3 @@ "src": "286:25:54"

"documentation": null,
"id": 5706,
"id": 5685,
"implemented": true,

@@ -393,3 +393,3 @@ "kind": "function",

"parameters": {
"id": 5697,
"id": 5676,
"nodeType": "ParameterList",

@@ -399,6 +399,6 @@ "parameters": [

"constant": false,
"id": 5694,
"id": 5673,
"name": "payee",
"nodeType": "VariableDeclaration",
"scope": 5706,
"scope": 5685,
"src": "240:13:54",

@@ -412,3 +412,3 @@ "stateVariable": false,

"typeName": {
"id": 5693,
"id": 5672,
"name": "address",

@@ -428,6 +428,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 5696,
"id": 5675,
"name": "allowed",
"nodeType": "VariableDeclaration",
"scope": 5706,
"scope": 5685,
"src": "255:12:54",

@@ -441,3 +441,3 @@ "stateVariable": false,

"typeName": {
"id": 5695,
"id": 5674,
"name": "bool",

@@ -458,3 +458,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5698,
"id": 5677,
"nodeType": "ParameterList",

@@ -464,3 +464,3 @@ "parameters": [],

},
"scope": 5719,
"scope": 5698,
"src": "220:98:54",

@@ -473,3 +473,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 5717,
"id": 5696,
"nodeType": "Block",

@@ -483,7 +483,7 @@ "src": "393:39:54",

"argumentTypes": null,
"id": 5713,
"id": 5692,
"name": "_allowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5692,
"referencedDeclaration": 5671,
"src": "410:8:54",

@@ -495,10 +495,10 @@ "typeDescriptions": {

},
"id": 5715,
"id": 5694,
"indexExpression": {
"argumentTypes": null,
"id": 5714,
"id": 5693,
"name": "payee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5708,
"referencedDeclaration": 5687,
"src": "419:5:54",

@@ -521,4 +521,4 @@ "typeDescriptions": {

},
"functionReturnParameters": 5712,
"id": 5716,
"functionReturnParameters": 5691,
"id": 5695,
"nodeType": "Return",

@@ -530,3 +530,3 @@ "src": "403:22:54"

"documentation": null,
"id": 5718,
"id": 5697,
"implemented": true,

@@ -538,3 +538,3 @@ "kind": "function",

"parameters": {
"id": 5709,
"id": 5688,
"nodeType": "ParameterList",

@@ -544,6 +544,6 @@ "parameters": [

"constant": false,
"id": 5708,
"id": 5687,
"name": "payee",
"nodeType": "VariableDeclaration",
"scope": 5718,
"scope": 5697,
"src": "351:13:54",

@@ -557,3 +557,3 @@ "stateVariable": false,

"typeName": {
"id": 5707,
"id": 5686,
"name": "address",

@@ -575,3 +575,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5712,
"id": 5691,
"nodeType": "ParameterList",

@@ -581,6 +581,6 @@ "parameters": [

"constant": false,
"id": 5711,
"id": 5690,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 5718,
"scope": 5697,
"src": "387:4:54",

@@ -594,3 +594,3 @@ "stateVariable": false,

"typeName": {
"id": 5710,
"id": 5689,
"name": "bool",

@@ -610,10 +610,10 @@ "nodeType": "ElementaryTypeName",

},
"scope": 5719,
"scope": 5698,
"src": "324:108:54",
"stateMutability": "view",
"superFunction": 9240,
"superFunction": 9117,
"visibility": "public"
}
],
"scope": 5720,
"scope": 5699,
"src": "114:320:54"

@@ -628,10 +628,10 @@ }

"ConditionalEscrowMock": [
5719
5698
]
},
"id": 5720,
"id": 5699,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5685,
"id": 5664,
"literals": [

@@ -649,6 +649,6 @@ "solidity",

"file": "../payment/escrow/ConditionalEscrow.sol",
"id": 5686,
"id": 5665,
"nodeType": "ImportDirective",
"scope": 5720,
"sourceUnit": 9261,
"scope": 5699,
"sourceUnit": 9138,
"src": "25:49:54",

@@ -664,13 +664,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 5687,
"id": 5666,
"name": "ConditionalEscrow",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9260,
"referencedDeclaration": 9137,
"src": "148:17:54",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ConditionalEscrow_$9260",
"typeIdentifier": "t_contract$_ConditionalEscrow_$9137",
"typeString": "contract ConditionalEscrow"
}
},
"id": 5688,
"id": 5667,
"nodeType": "InheritanceSpecifier",

@@ -682,5 +682,5 @@ "src": "148:17:54"

26,
8879,
9260,
9358
8756,
9137,
9235
],

@@ -690,8 +690,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 5719,
"id": 5698,
"linearizedBaseContracts": [
5719,
9260,
9358,
8879,
5698,
9137,
9235,
8756,
26

@@ -704,6 +704,6 @@ ],

"constant": false,
"id": 5692,
"id": 5671,
"name": "_allowed",
"nodeType": "VariableDeclaration",
"scope": 5719,
"scope": 5698,
"src": "172:41:54",

@@ -717,5 +717,5 @@ "stateVariable": true,

"typeName": {
"id": 5691,
"id": 5670,
"keyType": {
"id": 5689,
"id": 5668,
"name": "address",

@@ -736,3 +736,3 @@ "nodeType": "ElementaryTypeName",

"valueType": {
"id": 5690,
"id": 5669,
"name": "bool",

@@ -752,3 +752,3 @@ "nodeType": "ElementaryTypeName",

"body": {
"id": 5705,
"id": 5684,
"nodeType": "Block",

@@ -760,3 +760,3 @@ "src": "276:42:54",

"argumentTypes": null,
"id": 5703,
"id": 5682,
"isConstant": false,

@@ -770,7 +770,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 5699,
"id": 5678,
"name": "_allowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5692,
"referencedDeclaration": 5671,
"src": "286:8:54",

@@ -782,10 +782,10 @@ "typeDescriptions": {

},
"id": 5701,
"id": 5680,
"indexExpression": {
"argumentTypes": null,
"id": 5700,
"id": 5679,
"name": "payee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5694,
"referencedDeclaration": 5673,
"src": "295:5:54",

@@ -812,7 +812,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5702,
"id": 5681,
"name": "allowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5696,
"referencedDeclaration": 5675,
"src": "304:7:54",

@@ -830,3 +830,3 @@ "typeDescriptions": {

},
"id": 5704,
"id": 5683,
"nodeType": "ExpressionStatement",

@@ -838,3 +838,3 @@ "src": "286:25:54"

"documentation": null,
"id": 5706,
"id": 5685,
"implemented": true,

@@ -846,3 +846,3 @@ "kind": "function",

"parameters": {
"id": 5697,
"id": 5676,
"nodeType": "ParameterList",

@@ -852,6 +852,6 @@ "parameters": [

"constant": false,
"id": 5694,
"id": 5673,
"name": "payee",
"nodeType": "VariableDeclaration",
"scope": 5706,
"scope": 5685,
"src": "240:13:54",

@@ -865,3 +865,3 @@ "stateVariable": false,

"typeName": {
"id": 5693,
"id": 5672,
"name": "address",

@@ -881,6 +881,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 5696,
"id": 5675,
"name": "allowed",
"nodeType": "VariableDeclaration",
"scope": 5706,
"scope": 5685,
"src": "255:12:54",

@@ -894,3 +894,3 @@ "stateVariable": false,

"typeName": {
"id": 5695,
"id": 5674,
"name": "bool",

@@ -911,3 +911,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5698,
"id": 5677,
"nodeType": "ParameterList",

@@ -917,3 +917,3 @@ "parameters": [],

},
"scope": 5719,
"scope": 5698,
"src": "220:98:54",

@@ -926,3 +926,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 5717,
"id": 5696,
"nodeType": "Block",

@@ -936,7 +936,7 @@ "src": "393:39:54",

"argumentTypes": null,
"id": 5713,
"id": 5692,
"name": "_allowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5692,
"referencedDeclaration": 5671,
"src": "410:8:54",

@@ -948,10 +948,10 @@ "typeDescriptions": {

},
"id": 5715,
"id": 5694,
"indexExpression": {
"argumentTypes": null,
"id": 5714,
"id": 5693,
"name": "payee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5708,
"referencedDeclaration": 5687,
"src": "419:5:54",

@@ -974,4 +974,4 @@ "typeDescriptions": {

},
"functionReturnParameters": 5712,
"id": 5716,
"functionReturnParameters": 5691,
"id": 5695,
"nodeType": "Return",

@@ -983,3 +983,3 @@ "src": "403:22:54"

"documentation": null,
"id": 5718,
"id": 5697,
"implemented": true,

@@ -991,3 +991,3 @@ "kind": "function",

"parameters": {
"id": 5709,
"id": 5688,
"nodeType": "ParameterList",

@@ -997,6 +997,6 @@ "parameters": [

"constant": false,
"id": 5708,
"id": 5687,
"name": "payee",
"nodeType": "VariableDeclaration",
"scope": 5718,
"scope": 5697,
"src": "351:13:54",

@@ -1010,3 +1010,3 @@ "stateVariable": false,

"typeName": {
"id": 5707,
"id": 5686,
"name": "address",

@@ -1028,3 +1028,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 5712,
"id": 5691,
"nodeType": "ParameterList",

@@ -1034,6 +1034,6 @@ "parameters": [

"constant": false,
"id": 5711,
"id": 5690,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 5718,
"scope": 5697,
"src": "387:4:54",

@@ -1047,3 +1047,3 @@ "stateVariable": false,

"typeName": {
"id": 5710,
"id": 5689,
"name": "bool",

@@ -1063,10 +1063,10 @@ "nodeType": "ElementaryTypeName",

},
"scope": 5719,
"scope": 5698,
"src": "324:108:54",
"stateMutability": "view",
"superFunction": 9240,
"superFunction": 9117,
"visibility": "public"
}
],
"scope": 5720,
"scope": 5699,
"src": "114:320:54"

@@ -1083,3 +1083,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.725Z",
"updatedAt": "2019-08-16T19:32:31.243Z",
"devdoc": {

@@ -1086,0 +1086,0 @@ "methods": {

@@ -99,3 +99,3 @@ {

"overloadedDeclarations": [],
"referencedDeclaration": 13463,
"referencedDeclaration": 13340,
"src": "862:3:0",

@@ -194,3 +194,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 13477,
"referencedDeclaration": 13354,
"src": "952:4:0",

@@ -215,3 +215,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 13463,
"referencedDeclaration": 13340,
"src": "1092:3:0",

@@ -384,3 +384,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 13463,
"referencedDeclaration": 13340,
"src": "862:3:0",

@@ -479,3 +479,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 13477,
"referencedDeclaration": 13354,
"src": "952:4:0",

@@ -500,3 +500,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 13463,
"referencedDeclaration": 13340,
"src": "1092:3:0",

@@ -594,3 +594,3 @@ "typeDescriptions": {

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.638Z",
"updatedAt": "2019-08-16T19:32:31.159Z",
"devdoc": {

@@ -597,0 +597,0 @@ "methods": {}

{
"contractName": "Counters",
"abi": [],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Matt Condon (@shrugs)\",\"details\":\"Provides counters that can only be incremented or decremented by one. This can be used e.g. to track the number of elements in a mapping, issuing ERC721 ids, or counting request ids. * Include with `using Counters for Counters.Counter;` Since it is not possible to overflow a 256 bit integer with increments of one, `increment` can skip the {SafeMath} overflow check, thereby saving gas. This does assume however correct usage, in that the underlying `_value` is never directly accessed.\",\"methods\":{},\"title\":\"Counters\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/drafts/Counters.sol\":\"Counters\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/drafts/Counters.sol\":{\"keccak256\":\"0xf1267d23aae72ba9bef7bbef542a658645e1e2a125d107978a0907f6693d43a1\",\"urls\":[\"bzzr://da1a56c4891c4d01514d16a3d5535ca00ba5754ea23a5b9f59be788b8e99ce92\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]}},\"version\":1}",
"bytecode": "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582003760062608de1213a4010debac5263fa7b5d8c912d3b2842481e2b5ad0859170029",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582003760062608de1213a4010debac5263fa7b5d8c912d3b2842481e2b5ad0859170029",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Matt Condon (@shrugs)\",\"details\":\"Provides counters that can only be incremented or decremented by one. This can be used e.g. to track the number of elements in a mapping, issuing ERC721 ids, or counting request ids. * Include with `using Counters for Counters.Counter;` Since it is not possible to overflow a 256 bit integer with increments of one, `increment` can skip the {SafeMath} overflow check, thereby saving gas. This does assume however correct usage, in that the underlying `_value` is never directly accessed.\",\"methods\":{},\"title\":\"Counters\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/drafts/Counters.sol\":\"Counters\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/drafts/Counters.sol\":{\"keccak256\":\"0xf1267d23aae72ba9bef7bbef542a658645e1e2a125d107978a0907f6693d43a1\",\"urls\":[\"bzzr://da1a56c4891c4d01514d16a3d5535ca00ba5754ea23a5b9f59be788b8e99ce92\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]}},\"version\":1}",
"bytecode": "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582050cac72dc4ee1d056a1d6562f0331b27fd364fe05fe35a9aa2d77c5fa2b378f90029",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582050cac72dc4ee1d056a1d6562f0331b27fd364fe05fe35a9aa2d77c5fa2b378f90029",
"sourceMap": "629:759:30:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24",

@@ -15,10 +15,10 @@ "deployedSourceMap": "629:759:30:-;;;;;;;;",

"Counters": [
3332
3311
]
},
"id": 3333,
"id": 3312,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 3285,
"id": 3264,
"literals": [

@@ -36,6 +36,6 @@ "solidity",

"file": "../math/SafeMath.sol",
"id": 3286,
"id": 3265,
"nodeType": "ImportDirective",
"scope": 3333,
"sourceUnit": 5531,
"scope": 3312,
"sourceUnit": 5510,
"src": "25:30:30",

@@ -51,5 +51,5 @@ "symbolAliases": [],

"fullyImplemented": true,
"id": 3332,
"id": 3311,
"linearizedBaseContracts": [
3332
3311
],

@@ -60,12 +60,12 @@ "name": "Counters",

{
"id": 3289,
"id": 3268,
"libraryName": {
"contractScope": null,
"id": 3287,
"id": 3266,
"name": "SafeMath",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5530,
"referencedDeclaration": 5509,
"src": "658:8:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_SafeMath_$5530",
"typeIdentifier": "t_contract$_SafeMath_$5509",
"typeString": "library SafeMath"

@@ -77,3 +77,3 @@ }

"typeName": {
"id": 3288,
"id": 3267,
"name": "uint256",

@@ -90,10 +90,10 @@ "nodeType": "ElementaryTypeName",

"canonicalName": "Counters.Counter",
"id": 3292,
"id": 3271,
"members": [
{
"constant": false,
"id": 3291,
"id": 3270,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 3292,
"scope": 3271,
"src": "1024:14:30",

@@ -107,3 +107,3 @@ "stateVariable": false,

"typeName": {
"id": 3290,
"id": 3269,
"name": "uint256",

@@ -123,3 +123,3 @@ "nodeType": "ElementaryTypeName",

"nodeType": "StructDefinition",
"scope": 3332,
"scope": 3311,
"src": "685:374:30",

@@ -130,3 +130,3 @@ "visibility": "public"

"body": {
"id": 3302,
"id": 3281,
"nodeType": "Block",

@@ -140,14 +140,14 @@ "src": "1139:38:30",

"argumentTypes": null,
"id": 3299,
"id": 3278,
"name": "counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3294,
"referencedDeclaration": 3273,
"src": "1156:7:30",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter storage pointer"
}
},
"id": 3300,
"id": 3279,
"isConstant": false,

@@ -159,3 +159,3 @@ "isLValue": true,

"nodeType": "MemberAccess",
"referencedDeclaration": 3291,
"referencedDeclaration": 3270,
"src": "1156:14:30",

@@ -167,4 +167,4 @@ "typeDescriptions": {

},
"functionReturnParameters": 3298,
"id": 3301,
"functionReturnParameters": 3277,
"id": 3280,
"nodeType": "Return",

@@ -176,3 +176,3 @@ "src": "1149:21:30"

"documentation": null,
"id": 3303,
"id": 3282,
"implemented": true,

@@ -184,3 +184,3 @@ "kind": "function",

"parameters": {
"id": 3295,
"id": 3274,
"nodeType": "ParameterList",

@@ -190,6 +190,6 @@ "parameters": [

"constant": false,
"id": 3294,
"id": 3273,
"name": "counter",
"nodeType": "VariableDeclaration",
"scope": 3303,
"scope": 3282,
"src": "1082:23:30",

@@ -199,3 +199,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter"

@@ -205,9 +205,9 @@ },

"contractScope": null,
"id": 3293,
"id": 3272,
"name": "Counter",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3292,
"referencedDeclaration": 3271,
"src": "1082:7:30",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter"

@@ -223,3 +223,3 @@ }

"returnParameters": {
"id": 3298,
"id": 3277,
"nodeType": "ParameterList",

@@ -229,6 +229,6 @@ "parameters": [

"constant": false,
"id": 3297,
"id": 3276,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 3303,
"scope": 3282,
"src": "1130:7:30",

@@ -242,3 +242,3 @@ "stateVariable": false,

"typeName": {
"id": 3296,
"id": 3275,
"name": "uint256",

@@ -258,3 +258,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 3332,
"scope": 3311,
"src": "1065:112:30",

@@ -267,3 +267,3 @@ "stateMutability": "view",

"body": {
"id": 3314,
"id": 3293,
"nodeType": "Block",

@@ -275,3 +275,3 @@ "src": "1236:36:30",

"argumentTypes": null,
"id": 3312,
"id": 3291,
"isConstant": false,

@@ -285,14 +285,14 @@ "isLValue": false,

"argumentTypes": null,
"id": 3308,
"id": 3287,
"name": "counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3305,
"referencedDeclaration": 3284,
"src": "1246:7:30",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter storage pointer"
}
},
"id": 3310,
"id": 3289,
"isConstant": false,

@@ -304,3 +304,3 @@ "isLValue": true,

"nodeType": "MemberAccess",
"referencedDeclaration": 3291,
"referencedDeclaration": 3270,
"src": "1246:14:30",

@@ -317,3 +317,3 @@ "typeDescriptions": {

"hexValue": "31",
"id": 3311,
"id": 3290,
"isConstant": false,

@@ -339,3 +339,3 @@ "isLValue": false,

},
"id": 3313,
"id": 3292,
"nodeType": "ExpressionStatement",

@@ -347,3 +347,3 @@ "src": "1246:19:30"

"documentation": null,
"id": 3315,
"id": 3294,
"implemented": true,

@@ -355,3 +355,3 @@ "kind": "function",

"parameters": {
"id": 3306,
"id": 3285,
"nodeType": "ParameterList",

@@ -361,6 +361,6 @@ "parameters": [

"constant": false,
"id": 3305,
"id": 3284,
"name": "counter",
"nodeType": "VariableDeclaration",
"scope": 3315,
"scope": 3294,
"src": "1202:23:30",

@@ -370,3 +370,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter"

@@ -376,9 +376,9 @@ },

"contractScope": null,
"id": 3304,
"id": 3283,
"name": "Counter",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3292,
"referencedDeclaration": 3271,
"src": "1202:7:30",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter"

@@ -394,3 +394,3 @@ }

"returnParameters": {
"id": 3307,
"id": 3286,
"nodeType": "ParameterList",

@@ -400,3 +400,3 @@ "parameters": [],

},
"scope": 3332,
"scope": 3311,
"src": "1183:89:30",

@@ -409,3 +409,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 3330,
"id": 3309,
"nodeType": "Block",

@@ -417,3 +417,3 @@ "src": "1331:55:30",

"argumentTypes": null,
"id": 3328,
"id": 3307,
"isConstant": false,

@@ -427,14 +427,14 @@ "isLValue": false,

"argumentTypes": null,
"id": 3320,
"id": 3299,
"name": "counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3317,
"referencedDeclaration": 3296,
"src": "1341:7:30",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter storage pointer"
}
},
"id": 3322,
"id": 3301,
"isConstant": false,

@@ -446,3 +446,3 @@ "isLValue": true,

"nodeType": "MemberAccess",
"referencedDeclaration": 3291,
"referencedDeclaration": 3270,
"src": "1341:14:30",

@@ -462,3 +462,3 @@ "typeDescriptions": {

"hexValue": "31",
"id": 3326,
"id": 3305,
"isConstant": false,

@@ -490,14 +490,14 @@ "isLValue": false,

"argumentTypes": null,
"id": 3323,
"id": 3302,
"name": "counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3317,
"referencedDeclaration": 3296,
"src": "1358:7:30",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter storage pointer"
}
},
"id": 3324,
"id": 3303,
"isConstant": false,

@@ -509,3 +509,3 @@ "isLValue": true,

"nodeType": "MemberAccess",
"referencedDeclaration": 3291,
"referencedDeclaration": 3270,
"src": "1358:14:30",

@@ -517,3 +517,3 @@ "typeDescriptions": {

},
"id": 3325,
"id": 3304,
"isConstant": false,

@@ -525,3 +525,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 5386,
"referencedDeclaration": 5365,
"src": "1358:18:30",

@@ -533,3 +533,3 @@ "typeDescriptions": {

},
"id": 3327,
"id": 3306,
"isConstant": false,

@@ -554,3 +554,3 @@ "isLValue": false,

},
"id": 3329,
"id": 3308,
"nodeType": "ExpressionStatement",

@@ -562,3 +562,3 @@ "src": "1341:38:30"

"documentation": null,
"id": 3331,
"id": 3310,
"implemented": true,

@@ -570,3 +570,3 @@ "kind": "function",

"parameters": {
"id": 3318,
"id": 3297,
"nodeType": "ParameterList",

@@ -576,6 +576,6 @@ "parameters": [

"constant": false,
"id": 3317,
"id": 3296,
"name": "counter",
"nodeType": "VariableDeclaration",
"scope": 3331,
"scope": 3310,
"src": "1297:23:30",

@@ -585,3 +585,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter"

@@ -591,9 +591,9 @@ },

"contractScope": null,
"id": 3316,
"id": 3295,
"name": "Counter",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3292,
"referencedDeclaration": 3271,
"src": "1297:7:30",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter"

@@ -609,3 +609,3 @@ }

"returnParameters": {
"id": 3319,
"id": 3298,
"nodeType": "ParameterList",

@@ -615,3 +615,3 @@ "parameters": [],

},
"scope": 3332,
"scope": 3311,
"src": "1278:108:30",

@@ -623,3 +623,3 @@ "stateMutability": "nonpayable",

],
"scope": 3333,
"scope": 3312,
"src": "629:759:30"

@@ -634,10 +634,10 @@ }

"Counters": [
3332
3311
]
},
"id": 3333,
"id": 3312,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 3285,
"id": 3264,
"literals": [

@@ -655,6 +655,6 @@ "solidity",

"file": "../math/SafeMath.sol",
"id": 3286,
"id": 3265,
"nodeType": "ImportDirective",
"scope": 3333,
"sourceUnit": 5531,
"scope": 3312,
"sourceUnit": 5510,
"src": "25:30:30",

@@ -670,5 +670,5 @@ "symbolAliases": [],

"fullyImplemented": true,
"id": 3332,
"id": 3311,
"linearizedBaseContracts": [
3332
3311
],

@@ -679,12 +679,12 @@ "name": "Counters",

{
"id": 3289,
"id": 3268,
"libraryName": {
"contractScope": null,
"id": 3287,
"id": 3266,
"name": "SafeMath",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5530,
"referencedDeclaration": 5509,
"src": "658:8:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_SafeMath_$5530",
"typeIdentifier": "t_contract$_SafeMath_$5509",
"typeString": "library SafeMath"

@@ -696,3 +696,3 @@ }

"typeName": {
"id": 3288,
"id": 3267,
"name": "uint256",

@@ -709,10 +709,10 @@ "nodeType": "ElementaryTypeName",

"canonicalName": "Counters.Counter",
"id": 3292,
"id": 3271,
"members": [
{
"constant": false,
"id": 3291,
"id": 3270,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 3292,
"scope": 3271,
"src": "1024:14:30",

@@ -726,3 +726,3 @@ "stateVariable": false,

"typeName": {
"id": 3290,
"id": 3269,
"name": "uint256",

@@ -742,3 +742,3 @@ "nodeType": "ElementaryTypeName",

"nodeType": "StructDefinition",
"scope": 3332,
"scope": 3311,
"src": "685:374:30",

@@ -749,3 +749,3 @@ "visibility": "public"

"body": {
"id": 3302,
"id": 3281,
"nodeType": "Block",

@@ -759,14 +759,14 @@ "src": "1139:38:30",

"argumentTypes": null,
"id": 3299,
"id": 3278,
"name": "counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3294,
"referencedDeclaration": 3273,
"src": "1156:7:30",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter storage pointer"
}
},
"id": 3300,
"id": 3279,
"isConstant": false,

@@ -778,3 +778,3 @@ "isLValue": true,

"nodeType": "MemberAccess",
"referencedDeclaration": 3291,
"referencedDeclaration": 3270,
"src": "1156:14:30",

@@ -786,4 +786,4 @@ "typeDescriptions": {

},
"functionReturnParameters": 3298,
"id": 3301,
"functionReturnParameters": 3277,
"id": 3280,
"nodeType": "Return",

@@ -795,3 +795,3 @@ "src": "1149:21:30"

"documentation": null,
"id": 3303,
"id": 3282,
"implemented": true,

@@ -803,3 +803,3 @@ "kind": "function",

"parameters": {
"id": 3295,
"id": 3274,
"nodeType": "ParameterList",

@@ -809,6 +809,6 @@ "parameters": [

"constant": false,
"id": 3294,
"id": 3273,
"name": "counter",
"nodeType": "VariableDeclaration",
"scope": 3303,
"scope": 3282,
"src": "1082:23:30",

@@ -818,3 +818,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter"

@@ -824,9 +824,9 @@ },

"contractScope": null,
"id": 3293,
"id": 3272,
"name": "Counter",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3292,
"referencedDeclaration": 3271,
"src": "1082:7:30",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter"

@@ -842,3 +842,3 @@ }

"returnParameters": {
"id": 3298,
"id": 3277,
"nodeType": "ParameterList",

@@ -848,6 +848,6 @@ "parameters": [

"constant": false,
"id": 3297,
"id": 3276,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 3303,
"scope": 3282,
"src": "1130:7:30",

@@ -861,3 +861,3 @@ "stateVariable": false,

"typeName": {
"id": 3296,
"id": 3275,
"name": "uint256",

@@ -877,3 +877,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 3332,
"scope": 3311,
"src": "1065:112:30",

@@ -886,3 +886,3 @@ "stateMutability": "view",

"body": {
"id": 3314,
"id": 3293,
"nodeType": "Block",

@@ -894,3 +894,3 @@ "src": "1236:36:30",

"argumentTypes": null,
"id": 3312,
"id": 3291,
"isConstant": false,

@@ -904,14 +904,14 @@ "isLValue": false,

"argumentTypes": null,
"id": 3308,
"id": 3287,
"name": "counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3305,
"referencedDeclaration": 3284,
"src": "1246:7:30",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter storage pointer"
}
},
"id": 3310,
"id": 3289,
"isConstant": false,

@@ -923,3 +923,3 @@ "isLValue": true,

"nodeType": "MemberAccess",
"referencedDeclaration": 3291,
"referencedDeclaration": 3270,
"src": "1246:14:30",

@@ -936,3 +936,3 @@ "typeDescriptions": {

"hexValue": "31",
"id": 3311,
"id": 3290,
"isConstant": false,

@@ -958,3 +958,3 @@ "isLValue": false,

},
"id": 3313,
"id": 3292,
"nodeType": "ExpressionStatement",

@@ -966,3 +966,3 @@ "src": "1246:19:30"

"documentation": null,
"id": 3315,
"id": 3294,
"implemented": true,

@@ -974,3 +974,3 @@ "kind": "function",

"parameters": {
"id": 3306,
"id": 3285,
"nodeType": "ParameterList",

@@ -980,6 +980,6 @@ "parameters": [

"constant": false,
"id": 3305,
"id": 3284,
"name": "counter",
"nodeType": "VariableDeclaration",
"scope": 3315,
"scope": 3294,
"src": "1202:23:30",

@@ -989,3 +989,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter"

@@ -995,9 +995,9 @@ },

"contractScope": null,
"id": 3304,
"id": 3283,
"name": "Counter",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3292,
"referencedDeclaration": 3271,
"src": "1202:7:30",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter"

@@ -1013,3 +1013,3 @@ }

"returnParameters": {
"id": 3307,
"id": 3286,
"nodeType": "ParameterList",

@@ -1019,3 +1019,3 @@ "parameters": [],

},
"scope": 3332,
"scope": 3311,
"src": "1183:89:30",

@@ -1028,3 +1028,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 3330,
"id": 3309,
"nodeType": "Block",

@@ -1036,3 +1036,3 @@ "src": "1331:55:30",

"argumentTypes": null,
"id": 3328,
"id": 3307,
"isConstant": false,

@@ -1046,14 +1046,14 @@ "isLValue": false,

"argumentTypes": null,
"id": 3320,
"id": 3299,
"name": "counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3317,
"referencedDeclaration": 3296,
"src": "1341:7:30",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter storage pointer"
}
},
"id": 3322,
"id": 3301,
"isConstant": false,

@@ -1065,3 +1065,3 @@ "isLValue": true,

"nodeType": "MemberAccess",
"referencedDeclaration": 3291,
"referencedDeclaration": 3270,
"src": "1341:14:30",

@@ -1081,3 +1081,3 @@ "typeDescriptions": {

"hexValue": "31",
"id": 3326,
"id": 3305,
"isConstant": false,

@@ -1109,14 +1109,14 @@ "isLValue": false,

"argumentTypes": null,
"id": 3323,
"id": 3302,
"name": "counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3317,
"referencedDeclaration": 3296,
"src": "1358:7:30",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter storage pointer"
}
},
"id": 3324,
"id": 3303,
"isConstant": false,

@@ -1128,3 +1128,3 @@ "isLValue": true,

"nodeType": "MemberAccess",
"referencedDeclaration": 3291,
"referencedDeclaration": 3270,
"src": "1358:14:30",

@@ -1136,3 +1136,3 @@ "typeDescriptions": {

},
"id": 3325,
"id": 3304,
"isConstant": false,

@@ -1144,3 +1144,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 5386,
"referencedDeclaration": 5365,
"src": "1358:18:30",

@@ -1152,3 +1152,3 @@ "typeDescriptions": {

},
"id": 3327,
"id": 3306,
"isConstant": false,

@@ -1173,3 +1173,3 @@ "isLValue": false,

},
"id": 3329,
"id": 3308,
"nodeType": "ExpressionStatement",

@@ -1181,3 +1181,3 @@ "src": "1341:38:30"

"documentation": null,
"id": 3331,
"id": 3310,
"implemented": true,

@@ -1189,3 +1189,3 @@ "kind": "function",

"parameters": {
"id": 3318,
"id": 3297,
"nodeType": "ParameterList",

@@ -1195,6 +1195,6 @@ "parameters": [

"constant": false,
"id": 3317,
"id": 3296,
"name": "counter",
"nodeType": "VariableDeclaration",
"scope": 3331,
"scope": 3310,
"src": "1297:23:30",

@@ -1204,3 +1204,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter"

@@ -1210,9 +1210,9 @@ },

"contractScope": null,
"id": 3316,
"id": 3295,
"name": "Counter",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3292,
"referencedDeclaration": 3271,
"src": "1297:7:30",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter"

@@ -1228,3 +1228,3 @@ }

"returnParameters": {
"id": 3319,
"id": 3298,
"nodeType": "ParameterList",

@@ -1234,3 +1234,3 @@ "parameters": [],

},
"scope": 3332,
"scope": 3311,
"src": "1278:108:30",

@@ -1242,3 +1242,3 @@ "stateMutability": "nonpayable",

],
"scope": 3333,
"scope": 3312,
"src": "629:759:30"

@@ -1255,3 +1255,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.689Z",
"updatedAt": "2019-08-16T19:32:31.211Z",
"devdoc": {

@@ -1258,0 +1258,0 @@ "author": "Matt Condon (@shrugs)",

@@ -37,7 +37,7 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"decrement\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"current\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"increment\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/CountersImpl.sol\":\"CountersImpl\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/drafts/Counters.sol\":{\"keccak256\":\"0xf1267d23aae72ba9bef7bbef542a658645e1e2a125d107978a0907f6693d43a1\",\"urls\":[\"bzzr://da1a56c4891c4d01514d16a3d5535ca00ba5754ea23a5b9f59be788b8e99ce92\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/mocks/CountersImpl.sol\":{\"keccak256\":\"0x986bd9401d960d2f0016079bf5051613f9c9b72eebe8a523957d9a08052bf197\",\"urls\":[\"bzzr://9a8e0e99e630bd3890da10cf259592e47a5eab51b9aece17ddc90ebcc8a01b04\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b5061021e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632baeceb7146100465780639fa6a6e314610050578063d09de08a1461006e575b600080fd5b61004e610078565b005b610058610084565b6040518082815260200191505060405180910390f35b610076610095565b005b61008260006100a1565b565b600061009060006100c4565b905090565b61009f60006100d2565b565b6100b9600182600001546100e890919063ffffffff16565b816000018190555050565b600081600001549050919050565b6001816000016000828254019250508190555050565b600061012a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610132565b905092915050565b60008383111582906101df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156101a4578082015181840152602081019050610189565b50505050905090810190601f1680156101d15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fea165627a7a723058207853957ce5cc925bb09cf393b29530d489b9635ff7fbe765d0d6b6f957dc26c30029",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80632baeceb7146100465780639fa6a6e314610050578063d09de08a1461006e575b600080fd5b61004e610078565b005b610058610084565b6040518082815260200191505060405180910390f35b610076610095565b005b61008260006100a1565b565b600061009060006100c4565b905090565b61009f60006100d2565b565b6100b9600182600001546100e890919063ffffffff16565b816000018190555050565b600081600001549050919050565b6001816000016000828254019250508190555050565b600061012a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610132565b905092915050565b60008383111582906101df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156101a4578082015181840152602081019050610189565b50505050905090810190601f1680156101d15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fea165627a7a723058207853957ce5cc925bb09cf393b29530d489b9635ff7fbe765d0d6b6f957dc26c30029",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"decrement\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"current\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"increment\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/CountersImpl.sol\":\"CountersImpl\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/drafts/Counters.sol\":{\"keccak256\":\"0xf1267d23aae72ba9bef7bbef542a658645e1e2a125d107978a0907f6693d43a1\",\"urls\":[\"bzzr://da1a56c4891c4d01514d16a3d5535ca00ba5754ea23a5b9f59be788b8e99ce92\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/mocks/CountersImpl.sol\":{\"keccak256\":\"0x986bd9401d960d2f0016079bf5051613f9c9b72eebe8a523957d9a08052bf197\",\"urls\":[\"bzzr://9a8e0e99e630bd3890da10cf259592e47a5eab51b9aece17ddc90ebcc8a01b04\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b5061021e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632baeceb7146100465780639fa6a6e314610050578063d09de08a1461006e575b600080fd5b61004e610078565b005b610058610084565b6040518082815260200191505060405180910390f35b610076610095565b005b61008260006100a1565b565b600061009060006100c4565b905090565b61009f60006100d2565b565b6100b9600182600001546100e890919063ffffffff16565b816000018190555050565b600081600001549050919050565b6001816000016000828254019250508190555050565b600061012a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610132565b905092915050565b60008383111582906101df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156101a4578082015181840152602081019050610189565b50505050905090810190601f1680156101d15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fea165627a7a723058201b8e735c4e2191ee0aed295458956dfffe9603eda281fad0f71d8d1f5c3710310029",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80632baeceb7146100465780639fa6a6e314610050578063d09de08a1461006e575b600080fd5b61004e610078565b005b610058610084565b6040518082815260200191505060405180910390f35b610076610095565b005b61008260006100a1565b565b600061009060006100c4565b905090565b61009f60006100d2565b565b6100b9600182600001546100e890919063ffffffff16565b816000018190555050565b600081600001549050919050565b6001816000016000828254019250508190555050565b600061012a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610132565b905092915050565b60008383111582906101df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156101a4578082015181840152602081019050610189565b50505050905090810190601f1680156101d15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fea165627a7a723058201b8e735c4e2191ee0aed295458956dfffe9603eda281fad0f71d8d1f5c3710310029",
"sourceMap": "59:345:56:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;59:345:56;;;;;;;",
"deployedSourceMap": "59:345:56:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;59:345:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;337:65;;;:::i;:::-;;169:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;266:65;;;:::i;:::-;;337;375:20;:8;:18;:20::i;:::-;337:65::o;169:91::-;209:7;235:18;:8;:16;:18::i;:::-;228:25;;169:91;:::o;266:65::-;304:20;:8;:18;:20::i;:::-;266:65::o;1278:108:30:-;1358:21;1377:1;1358:7;:14;;;:18;;:21;;;;:::i;:::-;1341:7;:14;;:38;;;;1278:108;:::o;1065:112::-;1130:7;1156;:14;;;1149:21;;1065:112;;;:::o;1183:89::-;1264:1;1246:7;:14;;;:19;;;;;;;;;;;1183:89;:::o;1274:134:48:-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1351:50;;1274:134;;;;:::o;1692:187::-;1778:7;1810:1;1805;:6;;1813:12;1797:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1797:29:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1836:9;1852:1;1848;:5;1836:17;;1871:1;1864:8;;;1692:187;;;;;:::o",
"deployedSourceMap": "59:345:56:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;59:345:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;337:65;;;:::i;:::-;;169:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;266:65;;;:::i;:::-;;337;375:20;:8;:18;:20::i;:::-;337:65::o;169:91::-;209:7;235:18;:8;:16;:18::i;:::-;228:25;;169:91;:::o;266:65::-;304:20;:8;:18;:20::i;:::-;266:65::o;1278:108:30:-;1358:21;1377:1;1358:7;:14;;;:18;;:21;;;;:::i;:::-;1341:7;:14;;:38;;;;1278:108;:::o;1065:112::-;1130:7;1156;:14;;;1149:21;;1065:112;;;:::o;1183:89::-;1264:1;1246:7;:14;;;:19;;;;;;;;;;;1183:89;:::o;1274:134:48:-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1351:50;;1274:134;;;;:::o;1844:187::-;1930:7;1962:1;1957;:6;;1965:12;1949:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1949:29:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1988:9;2004:1;2000;:5;1988:17;;2023:1;2016:8;;;1844:187;;;;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../drafts/Counters.sol\";\n\ncontract CountersImpl {\n using Counters for Counters.Counter;\n\n Counters.Counter private _counter;\n\n function current() public view returns (uint256) {\n return _counter.current();\n }\n\n function increment() public {\n _counter.increment();\n }\n\n function decrement() public {\n _counter.decrement();\n }\n}\n",

@@ -49,10 +49,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/CountersImpl.sol",

"CountersImpl": [
5827
5806
]
},
"id": 5828,
"id": 5807,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5792,
"id": 5771,
"literals": [

@@ -70,6 +70,6 @@ "solidity",

"file": "../drafts/Counters.sol",
"id": 5793,
"id": 5772,
"nodeType": "ImportDirective",
"scope": 5828,
"sourceUnit": 3333,
"scope": 5807,
"sourceUnit": 3312,
"src": "25:32:56",

@@ -85,5 +85,5 @@ "symbolAliases": [],

"fullyImplemented": true,
"id": 5827,
"id": 5806,
"linearizedBaseContracts": [
5827
5806
],

@@ -94,12 +94,12 @@ "name": "CountersImpl",

{
"id": 5796,
"id": 5775,
"libraryName": {
"contractScope": null,
"id": 5794,
"id": 5773,
"name": "Counters",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3332,
"referencedDeclaration": 3311,
"src": "93:8:56",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Counters_$3332",
"typeIdentifier": "t_contract$_Counters_$3311",
"typeString": "library Counters"

@@ -112,9 +112,9 @@ }

"contractScope": null,
"id": 5795,
"id": 5774,
"name": "Counters.Counter",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3292,
"referencedDeclaration": 3271,
"src": "106:16:56",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter"

@@ -126,6 +126,6 @@ }

"constant": false,
"id": 5798,
"id": 5777,
"name": "_counter",
"nodeType": "VariableDeclaration",
"scope": 5827,
"scope": 5806,
"src": "129:33:56",

@@ -135,3 +135,3 @@ "stateVariable": true,

"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage",
"typeIdentifier": "t_struct$_Counter_$3271_storage",
"typeString": "struct Counters.Counter"

@@ -141,9 +141,9 @@ },

"contractScope": null,
"id": 5797,
"id": 5776,
"name": "Counters.Counter",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3292,
"referencedDeclaration": 3271,
"src": "129:16:56",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter"

@@ -157,3 +157,3 @@ }

"body": {
"id": 5807,
"id": 5786,
"nodeType": "Block",

@@ -170,14 +170,14 @@ "src": "218:42:56",

"argumentTypes": null,
"id": 5803,
"id": 5782,
"name": "_counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5798,
"referencedDeclaration": 5777,
"src": "235:8:56",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage",
"typeIdentifier": "t_struct$_Counter_$3271_storage",
"typeString": "struct Counters.Counter storage ref"
}
},
"id": 5804,
"id": 5783,
"isConstant": false,

@@ -189,10 +189,10 @@ "isLValue": true,

"nodeType": "MemberAccess",
"referencedDeclaration": 3303,
"referencedDeclaration": 3282,
"src": "235:16:56",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$3292_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$3292_storage_ptr_$",
"typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$3271_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$3271_storage_ptr_$",
"typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)"
}
},
"id": 5805,
"id": 5784,
"isConstant": false,

@@ -211,4 +211,4 @@ "isLValue": false,

},
"functionReturnParameters": 5802,
"id": 5806,
"functionReturnParameters": 5781,
"id": 5785,
"nodeType": "Return",

@@ -220,3 +220,3 @@ "src": "228:25:56"

"documentation": null,
"id": 5808,
"id": 5787,
"implemented": true,

@@ -228,3 +228,3 @@ "kind": "function",

"parameters": {
"id": 5799,
"id": 5778,
"nodeType": "ParameterList",

@@ -235,3 +235,3 @@ "parameters": [],

"returnParameters": {
"id": 5802,
"id": 5781,
"nodeType": "ParameterList",

@@ -241,6 +241,6 @@ "parameters": [

"constant": false,
"id": 5801,
"id": 5780,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 5808,
"scope": 5787,
"src": "209:7:56",

@@ -254,3 +254,3 @@ "stateVariable": false,

"typeName": {
"id": 5800,
"id": 5779,
"name": "uint256",

@@ -270,3 +270,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 5827,
"scope": 5806,
"src": "169:91:56",

@@ -279,3 +279,3 @@ "stateMutability": "view",

"body": {
"id": 5816,
"id": 5795,
"nodeType": "Block",

@@ -292,14 +292,14 @@ "src": "294:37:56",

"argumentTypes": null,
"id": 5811,
"id": 5790,
"name": "_counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5798,
"referencedDeclaration": 5777,
"src": "304:8:56",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage",
"typeIdentifier": "t_struct$_Counter_$3271_storage",
"typeString": "struct Counters.Counter storage ref"
}
},
"id": 5813,
"id": 5792,
"isConstant": false,

@@ -311,10 +311,10 @@ "isLValue": true,

"nodeType": "MemberAccess",
"referencedDeclaration": 3315,
"referencedDeclaration": 3294,
"src": "304:18:56",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$3292_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$3292_storage_ptr_$",
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$3271_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$3271_storage_ptr_$",
"typeString": "function (struct Counters.Counter storage pointer)"
}
},
"id": 5814,
"id": 5793,
"isConstant": false,

@@ -333,3 +333,3 @@ "isLValue": false,

},
"id": 5815,
"id": 5794,
"nodeType": "ExpressionStatement",

@@ -341,3 +341,3 @@ "src": "304:20:56"

"documentation": null,
"id": 5817,
"id": 5796,
"implemented": true,

@@ -349,3 +349,3 @@ "kind": "function",

"parameters": {
"id": 5809,
"id": 5788,
"nodeType": "ParameterList",

@@ -356,3 +356,3 @@ "parameters": [],

"returnParameters": {
"id": 5810,
"id": 5789,
"nodeType": "ParameterList",

@@ -362,3 +362,3 @@ "parameters": [],

},
"scope": 5827,
"scope": 5806,
"src": "266:65:56",

@@ -371,3 +371,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 5825,
"id": 5804,
"nodeType": "Block",

@@ -384,14 +384,14 @@ "src": "365:37:56",

"argumentTypes": null,
"id": 5820,
"id": 5799,
"name": "_counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5798,
"referencedDeclaration": 5777,
"src": "375:8:56",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage",
"typeIdentifier": "t_struct$_Counter_$3271_storage",
"typeString": "struct Counters.Counter storage ref"
}
},
"id": 5822,
"id": 5801,
"isConstant": false,

@@ -403,10 +403,10 @@ "isLValue": true,

"nodeType": "MemberAccess",
"referencedDeclaration": 3331,
"referencedDeclaration": 3310,
"src": "375:18:56",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$3292_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$3292_storage_ptr_$",
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$3271_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$3271_storage_ptr_$",
"typeString": "function (struct Counters.Counter storage pointer)"
}
},
"id": 5823,
"id": 5802,
"isConstant": false,

@@ -425,3 +425,3 @@ "isLValue": false,

},
"id": 5824,
"id": 5803,
"nodeType": "ExpressionStatement",

@@ -433,3 +433,3 @@ "src": "375:20:56"

"documentation": null,
"id": 5826,
"id": 5805,
"implemented": true,

@@ -441,3 +441,3 @@ "kind": "function",

"parameters": {
"id": 5818,
"id": 5797,
"nodeType": "ParameterList",

@@ -448,3 +448,3 @@ "parameters": [],

"returnParameters": {
"id": 5819,
"id": 5798,
"nodeType": "ParameterList",

@@ -454,3 +454,3 @@ "parameters": [],

},
"scope": 5827,
"scope": 5806,
"src": "337:65:56",

@@ -462,3 +462,3 @@ "stateMutability": "nonpayable",

],
"scope": 5828,
"scope": 5807,
"src": "59:345:56"

@@ -473,10 +473,10 @@ }

"CountersImpl": [
5827
5806
]
},
"id": 5828,
"id": 5807,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5792,
"id": 5771,
"literals": [

@@ -494,6 +494,6 @@ "solidity",

"file": "../drafts/Counters.sol",
"id": 5793,
"id": 5772,
"nodeType": "ImportDirective",
"scope": 5828,
"sourceUnit": 3333,
"scope": 5807,
"sourceUnit": 3312,
"src": "25:32:56",

@@ -509,5 +509,5 @@ "symbolAliases": [],

"fullyImplemented": true,
"id": 5827,
"id": 5806,
"linearizedBaseContracts": [
5827
5806
],

@@ -518,12 +518,12 @@ "name": "CountersImpl",

{
"id": 5796,
"id": 5775,
"libraryName": {
"contractScope": null,
"id": 5794,
"id": 5773,
"name": "Counters",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3332,
"referencedDeclaration": 3311,
"src": "93:8:56",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Counters_$3332",
"typeIdentifier": "t_contract$_Counters_$3311",
"typeString": "library Counters"

@@ -536,9 +536,9 @@ }

"contractScope": null,
"id": 5795,
"id": 5774,
"name": "Counters.Counter",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3292,
"referencedDeclaration": 3271,
"src": "106:16:56",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter"

@@ -550,6 +550,6 @@ }

"constant": false,
"id": 5798,
"id": 5777,
"name": "_counter",
"nodeType": "VariableDeclaration",
"scope": 5827,
"scope": 5806,
"src": "129:33:56",

@@ -559,3 +559,3 @@ "stateVariable": true,

"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage",
"typeIdentifier": "t_struct$_Counter_$3271_storage",
"typeString": "struct Counters.Counter"

@@ -565,9 +565,9 @@ },

"contractScope": null,
"id": 5797,
"id": 5776,
"name": "Counters.Counter",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3292,
"referencedDeclaration": 3271,
"src": "129:16:56",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage_ptr",
"typeIdentifier": "t_struct$_Counter_$3271_storage_ptr",
"typeString": "struct Counters.Counter"

@@ -581,3 +581,3 @@ }

"body": {
"id": 5807,
"id": 5786,
"nodeType": "Block",

@@ -594,14 +594,14 @@ "src": "218:42:56",

"argumentTypes": null,
"id": 5803,
"id": 5782,
"name": "_counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5798,
"referencedDeclaration": 5777,
"src": "235:8:56",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage",
"typeIdentifier": "t_struct$_Counter_$3271_storage",
"typeString": "struct Counters.Counter storage ref"
}
},
"id": 5804,
"id": 5783,
"isConstant": false,

@@ -613,10 +613,10 @@ "isLValue": true,

"nodeType": "MemberAccess",
"referencedDeclaration": 3303,
"referencedDeclaration": 3282,
"src": "235:16:56",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$3292_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$3292_storage_ptr_$",
"typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$3271_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$3271_storage_ptr_$",
"typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)"
}
},
"id": 5805,
"id": 5784,
"isConstant": false,

@@ -635,4 +635,4 @@ "isLValue": false,

},
"functionReturnParameters": 5802,
"id": 5806,
"functionReturnParameters": 5781,
"id": 5785,
"nodeType": "Return",

@@ -644,3 +644,3 @@ "src": "228:25:56"

"documentation": null,
"id": 5808,
"id": 5787,
"implemented": true,

@@ -652,3 +652,3 @@ "kind": "function",

"parameters": {
"id": 5799,
"id": 5778,
"nodeType": "ParameterList",

@@ -659,3 +659,3 @@ "parameters": [],

"returnParameters": {
"id": 5802,
"id": 5781,
"nodeType": "ParameterList",

@@ -665,6 +665,6 @@ "parameters": [

"constant": false,
"id": 5801,
"id": 5780,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 5808,
"scope": 5787,
"src": "209:7:56",

@@ -678,3 +678,3 @@ "stateVariable": false,

"typeName": {
"id": 5800,
"id": 5779,
"name": "uint256",

@@ -694,3 +694,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 5827,
"scope": 5806,
"src": "169:91:56",

@@ -703,3 +703,3 @@ "stateMutability": "view",

"body": {
"id": 5816,
"id": 5795,
"nodeType": "Block",

@@ -716,14 +716,14 @@ "src": "294:37:56",

"argumentTypes": null,
"id": 5811,
"id": 5790,
"name": "_counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5798,
"referencedDeclaration": 5777,
"src": "304:8:56",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage",
"typeIdentifier": "t_struct$_Counter_$3271_storage",
"typeString": "struct Counters.Counter storage ref"
}
},
"id": 5813,
"id": 5792,
"isConstant": false,

@@ -735,10 +735,10 @@ "isLValue": true,

"nodeType": "MemberAccess",
"referencedDeclaration": 3315,
"referencedDeclaration": 3294,
"src": "304:18:56",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$3292_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$3292_storage_ptr_$",
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$3271_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$3271_storage_ptr_$",
"typeString": "function (struct Counters.Counter storage pointer)"
}
},
"id": 5814,
"id": 5793,
"isConstant": false,

@@ -757,3 +757,3 @@ "isLValue": false,

},
"id": 5815,
"id": 5794,
"nodeType": "ExpressionStatement",

@@ -765,3 +765,3 @@ "src": "304:20:56"

"documentation": null,
"id": 5817,
"id": 5796,
"implemented": true,

@@ -773,3 +773,3 @@ "kind": "function",

"parameters": {
"id": 5809,
"id": 5788,
"nodeType": "ParameterList",

@@ -780,3 +780,3 @@ "parameters": [],

"returnParameters": {
"id": 5810,
"id": 5789,
"nodeType": "ParameterList",

@@ -786,3 +786,3 @@ "parameters": [],

},
"scope": 5827,
"scope": 5806,
"src": "266:65:56",

@@ -795,3 +795,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 5825,
"id": 5804,
"nodeType": "Block",

@@ -808,14 +808,14 @@ "src": "365:37:56",

"argumentTypes": null,
"id": 5820,
"id": 5799,
"name": "_counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5798,
"referencedDeclaration": 5777,
"src": "375:8:56",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Counter_$3292_storage",
"typeIdentifier": "t_struct$_Counter_$3271_storage",
"typeString": "struct Counters.Counter storage ref"
}
},
"id": 5822,
"id": 5801,
"isConstant": false,

@@ -827,10 +827,10 @@ "isLValue": true,

"nodeType": "MemberAccess",
"referencedDeclaration": 3331,
"referencedDeclaration": 3310,
"src": "375:18:56",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$3292_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$3292_storage_ptr_$",
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$3271_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$3271_storage_ptr_$",
"typeString": "function (struct Counters.Counter storage pointer)"
}
},
"id": 5823,
"id": 5802,
"isConstant": false,

@@ -849,3 +849,3 @@ "isLValue": false,

},
"id": 5824,
"id": 5803,
"nodeType": "ExpressionStatement",

@@ -857,3 +857,3 @@ "src": "375:20:56"

"documentation": null,
"id": 5826,
"id": 5805,
"implemented": true,

@@ -865,3 +865,3 @@ "kind": "function",

"parameters": {
"id": 5818,
"id": 5797,
"nodeType": "ParameterList",

@@ -872,3 +872,3 @@ "parameters": [],

"returnParameters": {
"id": 5819,
"id": 5798,
"nodeType": "ParameterList",

@@ -878,3 +878,3 @@ "parameters": [],

},
"scope": 5827,
"scope": 5806,
"src": "337:65:56",

@@ -886,3 +886,3 @@ "stateMutability": "nonpayable",

],
"scope": 5828,
"scope": 5807,
"src": "59:345:56"

@@ -899,3 +899,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.728Z",
"updatedAt": "2019-08-16T19:32:31.246Z",
"devdoc": {

@@ -902,0 +902,0 @@ "methods": {}

@@ -126,7 +126,7 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"rate\",\"type\":\"uint256\"},{\"name\":\"wallet\",\"type\":\"address\"},{\"name\":\"token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/CrowdsaleMock.sol\":\"CrowdsaleMock\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/mocks/CrowdsaleMock.sol\":{\"keccak256\":\"0x6d94991ed82e227e92d919786855f1aa3da1d0204730264e768a8c6147aa4a3e\",\"urls\":[\"bzzr://9fdec4318777b94e246793f4c1a02fc49fe60412f385c9f6d616854fff435cf4\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xe0812b2b05e37bf0dc866f8ba0a1a36d6dd006ac5b02bfde80e820a2a9e804b8\",\"urls\":[\"bzzr://7010caa641157fce5262c47d6cf10c9d6a6f0094fa327485c4fcf70989ec4532\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50604051606080610d488339810180604052606081101561003057600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050508282826001600081905550600083116100d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f43726f776473616c653a2072617465206973203000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561015c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610d236025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156101e2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180610cff6024913960400191505060405180910390fd5b8260038190555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050610a7f806102806000396000f3fe60806040526004361061004a5760003560e01c80632c4e722e1461005c5780634042b66f14610087578063521eb273146100b2578063ec8ac4d814610109578063fc0c546a1461014d575b61005a6100556101a4565b6101ac565b005b34801561006857600080fd5b50610071610310565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b5061009c61031a565b6040518082815260200191505060405180910390f35b3480156100be57600080fd5b506100c7610324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61014b6004803603602081101561011f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101ac565b005b34801561015957600080fd5b5061016261034e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b6001600080828254019250508190555060008054905060003490506101d18382610378565b60006101dc82610479565b90506101f38260045461049790919063ffffffff16565b600481905550610203848261051f565b8373ffffffffffffffffffffffffffffffffffffffff166102226101a4565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a3610281848361052d565b610289610531565b610293848361059c565b5050600054811461030c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6000600454905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156103fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610a00602a913960400191505060405180910390fd5b6000811415610475576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b6000610490600354836105a090919063ffffffff16565b9050919050565b600080828401905083811015610515576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6105298282610626565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610599573d6000803e3d6000fd5b50565b5050565b6000808314156105b35760009050610620565b60008284029050828482816105c457fe5b041461061b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806109df6021913960400191505060405180910390fd5b809150505b92915050565b6106738282600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106779092919063ffffffff16565b5050565b610743838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610748565b505050565b6107678273ffffffffffffffffffffffffffffffffffffffff16610993565b6107d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106108285780518252602082019150602081019050602083039250610805565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461088a576040519150601f19603f3d011682016040523d82523d6000602084013e61088f565b606091505b509150915081610907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b60008151111561098d5780806020019051602081101561092657600080fd5b810190808051906020019092919050505061098c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610a2a602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156109d55750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a72305820a7d4513e976321447fe93e4cb2a119f334feddbb9e25a60c0581bf07da2fab02002943726f776473616c653a20746f6b656e20697320746865207a65726f206164647265737343726f776473616c653a2077616c6c657420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x60806040526004361061004a5760003560e01c80632c4e722e1461005c5780634042b66f14610087578063521eb273146100b2578063ec8ac4d814610109578063fc0c546a1461014d575b61005a6100556101a4565b6101ac565b005b34801561006857600080fd5b50610071610310565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b5061009c61031a565b6040518082815260200191505060405180910390f35b3480156100be57600080fd5b506100c7610324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61014b6004803603602081101561011f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101ac565b005b34801561015957600080fd5b5061016261034e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b6001600080828254019250508190555060008054905060003490506101d18382610378565b60006101dc82610479565b90506101f38260045461049790919063ffffffff16565b600481905550610203848261051f565b8373ffffffffffffffffffffffffffffffffffffffff166102226101a4565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a3610281848361052d565b610289610531565b610293848361059c565b5050600054811461030c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6000600454905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156103fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610a00602a913960400191505060405180910390fd5b6000811415610475576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b6000610490600354836105a090919063ffffffff16565b9050919050565b600080828401905083811015610515576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6105298282610626565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610599573d6000803e3d6000fd5b50565b5050565b6000808314156105b35760009050610620565b60008284029050828482816105c457fe5b041461061b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806109df6021913960400191505060405180910390fd5b809150505b92915050565b6106738282600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106779092919063ffffffff16565b5050565b610743838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610748565b505050565b6107678273ffffffffffffffffffffffffffffffffffffffff16610993565b6107d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106108285780518252602082019150602081019050602083039250610805565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461088a576040519150601f19603f3d011682016040523d82523d6000602084013e61088f565b606091505b509150915081610907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b60008151111561098d5780806020019051602081101561092657600080fd5b810190808051906020019092919050505061098c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610a2a602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156109d55750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a72305820a7d4513e976321447fe93e4cb2a119f334feddbb9e25a60c0581bf07da2fab020029",
"sourceMap": "63:211:57:-;;;105:167;8:9:-1;5:2;;;30:1;27;20:12;5:2;105:167:57;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;105:167:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;187:4;193:6;201:5;879:1:149;863:13;:17;;;;2416:1:15;2409:4;:8;2401:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2478:1;2460:20;;:6;:20;;;;2452:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2566:1;2540:28;;2548:5;2540:28;;;;2532:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2628:4;2620:5;:12;;;;2652:6;2642:7;;:16;;;;;;;;;;;;;;;;;;2677:5;2668:6;;:14;;;;;;;;;;;;;;;;;;2319:370;;;105:167:57;;;63:211;;;;;;",
"deployedSourceMap": "63:211:57:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3017:23:15;3027:12;:10;:12::i;:::-;3017:9;:23::i;:::-;63:211:57;3430:75:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3430:75:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3568:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3568:85:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3258:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3258:87:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3910:605;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3910:605:15;;;;;;;;;;;;;;;;;;;:::i;:::-;;3106:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3106:76:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;791:88:0;836:7;862:10;855:17;;791:88;:::o;3910:605:15:-;1313:1:149;1296:13;;:18;;;;;;;;;;;1324:20;1347:13;;1324:36;;3988:17:15;4008:9;3988:29;;4027:44;4048:11;4061:9;4027:20;:44::i;:::-;4130:14;4147:26;4163:9;4147:15;:26::i;:::-;4130:43;;4221:25;4236:9;4221:10;;:14;;:25;;;;:::i;:::-;4208:10;:38;;;;4257:37;4274:11;4287:6;4257:16;:37::i;:::-;4339:11;4309:61;;4325:12;:10;:12::i;:::-;4309:61;;;4352:9;4363:6;4309:61;;;;;;;;;;;;;;;;;;;;;;;;4381:46;4404:11;4417:9;4381:22;:46::i;:::-;4438:15;:13;:15::i;:::-;4463:45;4485:11;4498:9;4463:21;:45::i;:::-;1370:1:149;;1405:13;;1389:12;:29;1381:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3910:605:15;;:::o;3430:75::-;3467:7;3493:5;;3486:12;;3430:75;:::o;3568:85::-;3610:7;3636:10;;3629:17;;3568:85;:::o;3258:87::-;3297:15;3331:7;;;;;;;;;;;3324:14;;3258:87;:::o;3106:76::-;3144:6;3169;;;;;;;;;;;3162:13;;3106:76;:::o;5057:376::-;5182:1;5159:25;;:11;:25;;;;5151:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5262:1;5249:9;:14;;5241:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5057:376;;:::o;7358:120::-;7425:7;7451:20;7465:5;;7451:9;:13;;:20;;;;:::i;:::-;7444:27;;7358:120;;;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;6560:134:15:-;6647:40;6662:11;6675;6647:14;:40::i;:::-;6560:134;;:::o;6964:145::-;;;:::o;7565:78::-;7609:7;;;;;;;;;;;:16;;:27;7626:9;7609:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7609:27:15;7565:78::o;5728:149::-;;;:::o;2119:459:48:-;2177:7;2423:1;2418;:6;2414:45;;;2447:1;2440:8;;;;2414:45;2469:9;2485:1;2481;:5;2469:17;;2513:1;2508;2504;:5;;;;;;:10;2496:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2570:1;2563:8;;;2119:459;;;;;:::o;6157:137:15:-;6242:45;6262:11;6275;6242:6;;;;;;;;;;;:19;;;;:45;;;;;:::i;:::-;6157:137;;:::o;662:174:127:-;744:85;763:5;793;:14;;;:23;;;;818:2;822:5;770:58;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;770:58:127;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;770:58:127;744:18;:85::i;:::-;662:174;;;:::o;2666:1095::-;3261:27;3269:5;3261:25;;;:27::i;:::-;3253:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3395:12;3409:23;3444:5;3436:19;;3456:4;3436:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3436:25:127;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3394:67:127;;;;3479:7;3471:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3558:1;3538:10;:17;:21;3534:221;;;3678:10;3667:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3667:30:127;;;;;;;;;;;;;;;;3659:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3534:221;2666:1095;;;;:::o;557:805:147:-;617:4;1070:16;1096:19;1118:66;1096:88;;;;1285:7;1273:20;1261:32;;1324:3;1312:15;;:8;:15;;:42;;;;;1343:11;1331:8;:23;;1312:42;1304:51;;;;557:805;;;:::o",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"rate\",\"type\":\"uint256\"},{\"name\":\"wallet\",\"type\":\"address\"},{\"name\":\"token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/CrowdsaleMock.sol\":\"CrowdsaleMock\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/mocks/CrowdsaleMock.sol\":{\"keccak256\":\"0x6d94991ed82e227e92d919786855f1aa3da1d0204730264e768a8c6147aa4a3e\",\"urls\":[\"bzzr://9fdec4318777b94e246793f4c1a02fc49fe60412f385c9f6d616854fff435cf4\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xf4bfe37bc0ed72fb1a94abab4acec42dcabc6b2936d684f9a018a61afe2d979a\",\"urls\":[\"bzzr://a0a3a1ea455fc61ea6032cad30321369a478121b32ae8a212a73a54e57dad3b5\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50604051606080610d488339810180604052606081101561003057600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050508282826001600081905550600083116100d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f43726f776473616c653a2072617465206973203000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561015c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610d236025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156101e2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180610cff6024913960400191505060405180910390fd5b8260038190555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050610a7f806102806000396000f3fe60806040526004361061004a5760003560e01c80632c4e722e1461005c5780634042b66f14610087578063521eb273146100b2578063ec8ac4d814610109578063fc0c546a1461014d575b61005a6100556101a4565b6101ac565b005b34801561006857600080fd5b50610071610310565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b5061009c61031a565b6040518082815260200191505060405180910390f35b3480156100be57600080fd5b506100c7610324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61014b6004803603602081101561011f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101ac565b005b34801561015957600080fd5b5061016261034e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b6001600080828254019250508190555060008054905060003490506101d18382610378565b60006101dc82610479565b90506101f38260045461049790919063ffffffff16565b600481905550610203848261051f565b8373ffffffffffffffffffffffffffffffffffffffff166102226101a4565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a3610281848361052d565b610289610531565b610293848361059c565b5050600054811461030c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6000600454905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156103fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610a00602a913960400191505060405180910390fd5b6000811415610475576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b6000610490600354836105a090919063ffffffff16565b9050919050565b600080828401905083811015610515576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6105298282610626565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610599573d6000803e3d6000fd5b50565b5050565b6000808314156105b35760009050610620565b60008284029050828482816105c457fe5b041461061b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806109df6021913960400191505060405180910390fd5b809150505b92915050565b6106738282600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106779092919063ffffffff16565b5050565b610743838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610748565b505050565b6107678273ffffffffffffffffffffffffffffffffffffffff16610993565b6107d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106108285780518252602082019150602081019050602083039250610805565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461088a576040519150601f19603f3d011682016040523d82523d6000602084013e61088f565b606091505b509150915081610907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b60008151111561098d5780806020019051602081101561092657600080fd5b810190808051906020019092919050505061098c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610a2a602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156109d55750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a7230582009499fa4ae6696ac83ee3662432be1110639c0243266a774187fd8c6ca7473e5002943726f776473616c653a20746f6b656e20697320746865207a65726f206164647265737343726f776473616c653a2077616c6c657420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x60806040526004361061004a5760003560e01c80632c4e722e1461005c5780634042b66f14610087578063521eb273146100b2578063ec8ac4d814610109578063fc0c546a1461014d575b61005a6100556101a4565b6101ac565b005b34801561006857600080fd5b50610071610310565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b5061009c61031a565b6040518082815260200191505060405180910390f35b3480156100be57600080fd5b506100c7610324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61014b6004803603602081101561011f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101ac565b005b34801561015957600080fd5b5061016261034e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b6001600080828254019250508190555060008054905060003490506101d18382610378565b60006101dc82610479565b90506101f38260045461049790919063ffffffff16565b600481905550610203848261051f565b8373ffffffffffffffffffffffffffffffffffffffff166102226101a4565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a3610281848361052d565b610289610531565b610293848361059c565b5050600054811461030c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6000600454905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156103fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610a00602a913960400191505060405180910390fd5b6000811415610475576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b6000610490600354836105a090919063ffffffff16565b9050919050565b600080828401905083811015610515576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6105298282610626565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610599573d6000803e3d6000fd5b50565b5050565b6000808314156105b35760009050610620565b60008284029050828482816105c457fe5b041461061b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806109df6021913960400191505060405180910390fd5b809150505b92915050565b6106738282600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106779092919063ffffffff16565b5050565b610743838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610748565b505050565b6107678273ffffffffffffffffffffffffffffffffffffffff16610993565b6107d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106108285780518252602082019150602081019050602083039250610805565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461088a576040519150601f19603f3d011682016040523d82523d6000602084013e61088f565b606091505b509150915081610907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b60008151111561098d5780806020019051602081101561092657600080fd5b810190808051906020019092919050505061098c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610a2a602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156109d55750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a7230582009499fa4ae6696ac83ee3662432be1110639c0243266a774187fd8c6ca7473e50029",
"sourceMap": "63:211:57:-;;;105:167;8:9:-1;5:2;;;30:1;27;20:12;5:2;105:167:57;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;105:167:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;187:4;193:6;201:5;879:1:148;863:13;:17;;;;2416:1:15;2409:4;:8;2401:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2478:1;2460:20;;:6;:20;;;;2452:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2566:1;2540:28;;2548:5;2540:28;;;;2532:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2628:4;2620:5;:12;;;;2652:6;2642:7;;:16;;;;;;;;;;;;;;;;;;2677:5;2668:6;;:14;;;;;;;;;;;;;;;;;;2319:370;;;105:167:57;;;63:211;;;;;;",
"deployedSourceMap": "63:211:57:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3017:23:15;3027:12;:10;:12::i;:::-;3017:9;:23::i;:::-;63:211:57;3430:75:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3430:75:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3568:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3568:85:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3258:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3258:87:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3910:605;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3910:605:15;;;;;;;;;;;;;;;;;;;:::i;:::-;;3106:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3106:76:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;791:88:0;836:7;862:10;855:17;;791:88;:::o;3910:605:15:-;1313:1:148;1296:13;;:18;;;;;;;;;;;1324:20;1347:13;;1324:36;;3988:17:15;4008:9;3988:29;;4027:44;4048:11;4061:9;4027:20;:44::i;:::-;4130:14;4147:26;4163:9;4147:15;:26::i;:::-;4130:43;;4221:25;4236:9;4221:10;;:14;;:25;;;;:::i;:::-;4208:10;:38;;;;4257:37;4274:11;4287:6;4257:16;:37::i;:::-;4339:11;4309:61;;4325:12;:10;:12::i;:::-;4309:61;;;4352:9;4363:6;4309:61;;;;;;;;;;;;;;;;;;;;;;;;4381:46;4404:11;4417:9;4381:22;:46::i;:::-;4438:15;:13;:15::i;:::-;4463:45;4485:11;4498:9;4463:21;:45::i;:::-;1370:1:148;;1405:13;;1389:12;:29;1381:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3910:605:15;;:::o;3430:75::-;3467:7;3493:5;;3486:12;;3430:75;:::o;3568:85::-;3610:7;3636:10;;3629:17;;3568:85;:::o;3258:87::-;3297:15;3331:7;;;;;;;;;;;3324:14;;3258:87;:::o;3106:76::-;3144:6;3169;;;;;;;;;;;3162:13;;3106:76;:::o;5057:376::-;5182:1;5159:25;;:11;:25;;;;5151:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5262:1;5249:9;:14;;5241:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5057:376;;:::o;7358:120::-;7425:7;7451:20;7465:5;;7451:9;:13;;:20;;;;:::i;:::-;7444:27;;7358:120;;;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;6560:134:15:-;6647:40;6662:11;6675;6647:14;:40::i;:::-;6560:134;;:::o;6964:145::-;;;:::o;7565:78::-;7609:7;;;;;;;;;;;:16;;:27;7626:9;7609:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7609:27:15;7565:78::o;5728:149::-;;;:::o;2271:459:48:-;2329:7;2575:1;2570;:6;2566:45;;;2599:1;2592:8;;;;2566:45;2621:9;2637:1;2633;:5;2621:17;;2665:1;2660;2656;:5;;;;;;:10;2648:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2722:1;2715:8;;;2271:459;;;;;:::o;6157:137:15:-;6242:45;6262:11;6275;6242:6;;;;;;;;;;;:19;;;;:45;;;;;:::i;:::-;6157:137;;:::o;662:174:126:-;744:85;763:5;793;:14;;;:23;;;;818:2;822:5;770:58;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;770:58:126;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;770:58:126;744:18;:85::i;:::-;662:174;;;:::o;2666:1095::-;3261:27;3269:5;3261:25;;;:27::i;:::-;3253:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3395:12;3409:23;3444:5;3436:19;;3456:4;3436:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3436:25:126;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3394:67:126;;;;3479:7;3471:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3558:1;3538:10;:17;:21;3534:221;;;3678:10;3667:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3667:30:126;;;;;;;;;;;;;;;;3659:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3534:221;2666:1095;;;;:::o;557:805:146:-;617:4;1070:16;1096:19;1118:66;1096:88;;;;1285:7;1273:20;1261:32;;1324:3;1312:15;;:8;:15;;:42;;;;;1343:11;1331:8;:23;;1312:42;1304:51;;;;557:805;;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../crowdsale/Crowdsale.sol\";\n\ncontract CrowdsaleMock is Crowdsale {\n constructor (uint256 rate, address payable wallet, IERC20 token) public Crowdsale(rate, wallet, token) {\n // solhint-disable-previous-line no-empty-blocks\n }\n}\n",

@@ -138,10 +138,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/CrowdsaleMock.sol",

"CrowdsaleMock": [
5848
5827
]
},
"id": 5849,
"id": 5828,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5829,
"id": 5808,
"literals": [

@@ -159,6 +159,6 @@ "solidity",

"file": "../crowdsale/Crowdsale.sol",
"id": 5830,
"id": 5809,
"nodeType": "ImportDirective",
"scope": 5849,
"sourceUnit": 2135,
"scope": 5828,
"sourceUnit": 2114,
"src": "25:36:57",

@@ -174,13 +174,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 5831,
"id": 5810,
"name": "Crowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "89:9:57",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Crowdsale_$2134",
"typeIdentifier": "t_contract$_Crowdsale_$2113",
"typeString": "contract Crowdsale"
}
},
"id": 5832,
"id": 5811,
"nodeType": "InheritanceSpecifier",

@@ -192,4 +192,4 @@ "src": "89:9:57"

26,
2134,
13448
2113,
13325
],

@@ -199,7 +199,7 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 5848,
"id": 5827,
"linearizedBaseContracts": [
5848,
2134,
13448,
5827,
2113,
13325,
26

@@ -212,3 +212,3 @@ ],

"body": {
"id": 5846,
"id": 5825,
"nodeType": "Block",

@@ -219,3 +219,3 @@ "src": "208:64:57",

"documentation": null,
"id": 5847,
"id": 5826,
"implemented": true,

@@ -228,7 +228,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 5841,
"id": 5820,
"name": "rate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5834,
"referencedDeclaration": 5813,
"src": "187:4:57",

@@ -242,7 +242,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5842,
"id": 5821,
"name": "wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5836,
"referencedDeclaration": 5815,
"src": "193:6:57",

@@ -256,10 +256,10 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5843,
"id": 5822,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5838,
"referencedDeclaration": 5817,
"src": "201:5:57",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -269,13 +269,13 @@ }

],
"id": 5844,
"id": 5823,
"modifierName": {
"argumentTypes": null,
"id": 5840,
"id": 5819,
"name": "Crowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "177:9:57",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2134_$",
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2113_$",
"typeString": "type(contract Crowdsale)"

@@ -291,3 +291,3 @@ }

"parameters": {
"id": 5839,
"id": 5818,
"nodeType": "ParameterList",

@@ -297,6 +297,6 @@ "parameters": [

"constant": false,
"id": 5834,
"id": 5813,
"name": "rate",
"nodeType": "VariableDeclaration",
"scope": 5847,
"scope": 5826,
"src": "118:12:57",

@@ -310,3 +310,3 @@ "stateVariable": false,

"typeName": {
"id": 5833,
"id": 5812,
"name": "uint256",

@@ -325,6 +325,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 5836,
"id": 5815,
"name": "wallet",
"nodeType": "VariableDeclaration",
"scope": 5847,
"scope": 5826,
"src": "132:22:57",

@@ -338,3 +338,3 @@ "stateVariable": false,

"typeName": {
"id": 5835,
"id": 5814,
"name": "address",

@@ -354,6 +354,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 5838,
"id": 5817,
"name": "token",
"nodeType": "VariableDeclaration",
"scope": 5847,
"scope": 5826,
"src": "156:12:57",

@@ -363,3 +363,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -369,9 +369,9 @@ },

"contractScope": null,
"id": 5837,
"id": 5816,
"name": "IERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10269,
"referencedDeclaration": 10146,
"src": "156:6:57",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -387,3 +387,3 @@ }

"returnParameters": {
"id": 5845,
"id": 5824,
"nodeType": "ParameterList",

@@ -393,3 +393,3 @@ "parameters": [],

},
"scope": 5848,
"scope": 5827,
"src": "105:167:57",

@@ -401,3 +401,3 @@ "stateMutability": "nonpayable",

],
"scope": 5849,
"scope": 5828,
"src": "63:211:57"

@@ -412,10 +412,10 @@ }

"CrowdsaleMock": [
5848
5827
]
},
"id": 5849,
"id": 5828,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5829,
"id": 5808,
"literals": [

@@ -433,6 +433,6 @@ "solidity",

"file": "../crowdsale/Crowdsale.sol",
"id": 5830,
"id": 5809,
"nodeType": "ImportDirective",
"scope": 5849,
"sourceUnit": 2135,
"scope": 5828,
"sourceUnit": 2114,
"src": "25:36:57",

@@ -448,13 +448,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 5831,
"id": 5810,
"name": "Crowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "89:9:57",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Crowdsale_$2134",
"typeIdentifier": "t_contract$_Crowdsale_$2113",
"typeString": "contract Crowdsale"
}
},
"id": 5832,
"id": 5811,
"nodeType": "InheritanceSpecifier",

@@ -466,4 +466,4 @@ "src": "89:9:57"

26,
2134,
13448
2113,
13325
],

@@ -473,7 +473,7 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 5848,
"id": 5827,
"linearizedBaseContracts": [
5848,
2134,
13448,
5827,
2113,
13325,
26

@@ -486,3 +486,3 @@ ],

"body": {
"id": 5846,
"id": 5825,
"nodeType": "Block",

@@ -493,3 +493,3 @@ "src": "208:64:57",

"documentation": null,
"id": 5847,
"id": 5826,
"implemented": true,

@@ -502,7 +502,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 5841,
"id": 5820,
"name": "rate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5834,
"referencedDeclaration": 5813,
"src": "187:4:57",

@@ -516,7 +516,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5842,
"id": 5821,
"name": "wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5836,
"referencedDeclaration": 5815,
"src": "193:6:57",

@@ -530,10 +530,10 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 5843,
"id": 5822,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5838,
"referencedDeclaration": 5817,
"src": "201:5:57",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -543,13 +543,13 @@ }

],
"id": 5844,
"id": 5823,
"modifierName": {
"argumentTypes": null,
"id": 5840,
"id": 5819,
"name": "Crowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "177:9:57",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2134_$",
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2113_$",
"typeString": "type(contract Crowdsale)"

@@ -565,3 +565,3 @@ }

"parameters": {
"id": 5839,
"id": 5818,
"nodeType": "ParameterList",

@@ -571,6 +571,6 @@ "parameters": [

"constant": false,
"id": 5834,
"id": 5813,
"name": "rate",
"nodeType": "VariableDeclaration",
"scope": 5847,
"scope": 5826,
"src": "118:12:57",

@@ -584,3 +584,3 @@ "stateVariable": false,

"typeName": {
"id": 5833,
"id": 5812,
"name": "uint256",

@@ -599,6 +599,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 5836,
"id": 5815,
"name": "wallet",
"nodeType": "VariableDeclaration",
"scope": 5847,
"scope": 5826,
"src": "132:22:57",

@@ -612,3 +612,3 @@ "stateVariable": false,

"typeName": {
"id": 5835,
"id": 5814,
"name": "address",

@@ -628,6 +628,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 5838,
"id": 5817,
"name": "token",
"nodeType": "VariableDeclaration",
"scope": 5847,
"scope": 5826,
"src": "156:12:57",

@@ -637,3 +637,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -643,9 +643,9 @@ },

"contractScope": null,
"id": 5837,
"id": 5816,
"name": "IERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10269,
"referencedDeclaration": 10146,
"src": "156:6:57",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -661,3 +661,3 @@ }

"returnParameters": {
"id": 5845,
"id": 5824,
"nodeType": "ParameterList",

@@ -667,3 +667,3 @@ "parameters": [],

},
"scope": 5848,
"scope": 5827,
"src": "105:167:57",

@@ -675,3 +675,3 @@ "stateMutability": "nonpayable",

],
"scope": 5849,
"scope": 5828,
"src": "63:211:57"

@@ -688,3 +688,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.728Z",
"updatedAt": "2019-08-16T19:32:31.246Z",
"devdoc": {

@@ -691,0 +691,0 @@ "methods": {

@@ -271,7 +271,7 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"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\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"initialAccount\",\"type\":\"address\"},{\"name\":\"initialBalance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":{\"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}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. * See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"See {ERC20-_burnFrom}.\"},\"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.\"},\"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`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/ERC20BurnableMock.sol\":\"ERC20BurnableMock\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/mocks/ERC20BurnableMock.sol\":{\"keccak256\":\"0xe96629a23c56b32906a5c25725a76542bfe8c3f643318650a1fde5dc4c55cfad\",\"urls\":[\"bzzr://e51d54c2c8c4f6518f93ac53c7a201c5e348af5aba7c63d92993575d6136ecec\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xe694ef04a7c6886b66ff96bcd2f69391584c886f98af4209b1871ae30e9ccc02\",\"urls\":[\"bzzr://492925b0d8de70689bfdc292e7870ca3f67feb106fc0c847c05afc619587b518\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9b94356691f3cbf90a5d83ae3fdf6a5a662bb004d2bd8b034160d60221807e64\",\"urls\":[\"bzzr://c59f70303d4a8bc640926844c489765661caf274397542a19af7c3930051ce83\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b506040516040806114d98339810180604052604081101561003057600080fd5b81019080805190602001909291908051906020019092919050505061005b828261006260201b60201c565b50506102ad565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610105576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61011e8160025461022560201b610d301790919060201c565b600281905550610179816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461022560201b610d301790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000808284019050838110156102a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b61121d806102bc6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461024157806379cc679014610299578063a457c2d7146102e7578063a9059cbb1461034d578063dd62ed3e146103b35761009e565b8063095ea7b3146100a357806318160ddd1461010957806323b872dd1461012757806339509351146101ad57806342966c6814610213575b600080fd5b6100ef600480360360408110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061042b565b604051808215151515815260200191505060405180910390f35b610111610449565b6040518082815260200191505060405180910390f35b6101936004803603606081101561013d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610453565b604051808215151515815260200191505060405180910390f35b6101f9600480360360408110156101c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061052c565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561022957600080fd5b81019080803590602001909291905050506105df565b005b6102836004803603602081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f3565b6040518082815260200191505060405180910390f35b6102e5600480360360408110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061063b565b005b610333600480360360408110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610649565b604051808215151515815260200191505060405180910390f35b6103996004803603604081101561036357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610716565b604051808215151515815260200191505060405180910390f35b610415600480360360408110156103c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610734565b6040518082815260200191505060405180910390f35b600061043f6104386107bb565b84846107c3565b6001905092915050565b6000600254905090565b60006104608484846109ba565b6105218461046c6107bb565b61051c8560405180606001604052806028815260200161111760289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d26107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b600190509392505050565b60006105d56105396107bb565b846105d0856001600061054a6107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3090919063ffffffff16565b6107c3565b6001905092915050565b6105f06105ea6107bb565b82610db8565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106458282610f70565b5050565b600061070c6106566107bb565b84610707856040518060600160405280602581526020016111cd60259139600160006106806107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b6001905092915050565b600061072a6107236107bb565b84846109ba565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610849576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806111a96024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806110cf6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806111846025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061108a6023913960400191505060405180910390fd5b610b31816040518060600160405280602681526020016110f1602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bc4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610d1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ce2578082015181840152602081019050610cc7565b50505050905090810190601f168015610d0f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610dae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806111636021913960400191505060405180910390fd5b610ea9816040518060600160405280602281526020016110ad602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f008160025461103f90919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b610f7a8282610db8565b61103b82610f866107bb565b6110368460405180606001604052806024815260200161113f60249139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610fec6107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b5050565b600061108183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c70565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a723058202ad55fc08fe423418b634b2587b6ff7afe5aee7b786917e15ed66420538224820029",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461024157806379cc679014610299578063a457c2d7146102e7578063a9059cbb1461034d578063dd62ed3e146103b35761009e565b8063095ea7b3146100a357806318160ddd1461010957806323b872dd1461012757806339509351146101ad57806342966c6814610213575b600080fd5b6100ef600480360360408110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061042b565b604051808215151515815260200191505060405180910390f35b610111610449565b6040518082815260200191505060405180910390f35b6101936004803603606081101561013d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610453565b604051808215151515815260200191505060405180910390f35b6101f9600480360360408110156101c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061052c565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561022957600080fd5b81019080803590602001909291905050506105df565b005b6102836004803603602081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f3565b6040518082815260200191505060405180910390f35b6102e5600480360360408110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061063b565b005b610333600480360360408110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610649565b604051808215151515815260200191505060405180910390f35b6103996004803603604081101561036357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610716565b604051808215151515815260200191505060405180910390f35b610415600480360360408110156103c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610734565b6040518082815260200191505060405180910390f35b600061043f6104386107bb565b84846107c3565b6001905092915050565b6000600254905090565b60006104608484846109ba565b6105218461046c6107bb565b61051c8560405180606001604052806028815260200161111760289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d26107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b600190509392505050565b60006105d56105396107bb565b846105d0856001600061054a6107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3090919063ffffffff16565b6107c3565b6001905092915050565b6105f06105ea6107bb565b82610db8565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106458282610f70565b5050565b600061070c6106566107bb565b84610707856040518060600160405280602581526020016111cd60259139600160006106806107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b6001905092915050565b600061072a6107236107bb565b84846109ba565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610849576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806111a96024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806110cf6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806111846025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061108a6023913960400191505060405180910390fd5b610b31816040518060600160405280602681526020016110f1602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bc4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610d1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ce2578082015181840152602081019050610cc7565b50505050905090810190601f168015610d0f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610dae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806111636021913960400191505060405180910390fd5b610ea9816040518060600160405280602281526020016110ad602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f008160025461103f90919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b610f7a8282610db8565b61103b82610f866107bb565b6110368460405180606001604052806024815260200161113f60249139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610fec6107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b5050565b600061108183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c70565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a723058202ad55fc08fe423418b634b2587b6ff7afe5aee7b786917e15ed66420538224820029",
"sourceMap": "69:174:64:-;;;119:122;8:9:-1;5:2;;;30:1;27;20:12;5:2;119:122:64;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;119:122:64;;;;;;;;;;;;;;;;;;;;;;;;;197:37;203:14;219;197:5;;;:37;;:::i;:::-;119:122;;69:174;;5959:302:120;6053:1;6034:21;;:7;:21;;;;6026:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6117:24;6134:6;6117:12;;:16;;;;;;:24;;;;:::i;:::-;6102:12;:39;;;;6172:30;6195:6;6172:9;:18;6182:7;6172:18;;;;;;;;;;;;;;;;:22;;;;;;:30;;;;:::i;:::-;6151:9;:18;6161:7;6151:18;;;;;;;;;;;;;;;:51;;;;6238:7;6217:37;;6234:1;6217:37;;;6247:6;6217:37;;;;;;;;;;;;;;;;;;5959:302;;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;69:174:64:-;;;;;;;",
"deployedSourceMap": "69:174:64:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;69:174:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:147:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:147:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3104:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3104:300:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3799:207;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3799:207:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;439:81:121;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;439:81:121;;;;;;;;;;;;;;;;;:::i;:::-;;1706:108:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;577:101:121;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;577:101:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4493:258:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4493:258:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2017:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2017:155:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2230:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2500:147;2565:4;2581:38;2590:12;:10;:12::i;:::-;2604:7;2613:5;2581:8;:38::i;:::-;2636:4;2629:11;;2500:147;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;3104:300::-;3193:4;3209:36;3219:6;3227:9;3238:6;3209:9;:36::i;:::-;3255:121;3264:6;3272:12;:10;:12::i;:::-;3286:89;3324:6;3286:89;;;;;;;;;;;;;;;;;:11;:19;3298:6;3286:19;;;;;;;;;;;;;;;:33;3306:12;:10;:12::i;:::-;3286:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3255:8;:121::i;:::-;3393:4;3386:11;;3104:300;;;;;:::o;3799:207::-;3879:4;3895:83;3904:12;:10;:12::i;:::-;3918:7;3927:50;3966:10;3927:11;:25;3939:12;:10;:12::i;:::-;3927:25;;;;;;;;;;;;;;;:34;3953:7;3927:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3895:8;:83::i;:::-;3995:4;3988:11;;3799:207;;;;:::o;439:81:121:-;486:27;492:12;:10;:12::i;:::-;506:6;486:5;:27::i;:::-;439:81;:::o;1706:108:120:-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;577:101:121:-;645:26;655:7;664:6;645:9;:26::i;:::-;577:101;;:::o;4493:258:120:-;4578:4;4594:129;4603:12;:10;:12::i;:::-;4617:7;4626:96;4665:15;4626:96;;;;;;;;;;;;;;;;;:11;:25;4638:12;:10;:12::i;:::-;4626:25;;;;;;;;;;;;;;;:34;4652:7;4626:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4594:8;:129::i;:::-;4740:4;4733:11;;4493:258;;;;:::o;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;2230:132::-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;7344:329:120:-;7453:1;7436:19;;:5;:19;;;;7428:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7533:1;7514:21;;:7;:21;;;;7506:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7615:5;7585:11;:18;7597:5;7585:18;;;;;;;;;;;;;;;:27;7604:7;7585:27;;;;;;;;;;;;;;;:35;;;;7651:7;7635:31;;7644:5;7635:31;;;7660:5;7635:31;;;;;;;;;;;;;;;;;;7344:329;;;:::o;5225:464::-;5340:1;5322:20;;:6;:20;;;;5314:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5423:1;5402:23;;:9;:23;;;;5394:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5496;5518:6;5496:71;;;;;;;;;;;;;;;;;:9;:17;5506:6;5496:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5476:9;:17;5486:6;5476:17;;;;;;;;;;;;;;;:91;;;;5600:32;5625:6;5600:9;:20;5610:9;5600:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5577:9;:20;5587:9;5577:20;;;;;;;;;;;;;;;:55;;;;5664:9;5647:35;;5656:6;5647:35;;;5675:6;5647:35;;;;;;;;;;;;;;;;;;5225:464;;;:::o;1692:187:48:-;1778:7;1810:1;1805;:6;;1813:12;1797:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1797:29:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1836:9;1852:1;1848;:5;1836:17;;1871:1;1864:8;;;1692:187;;;;;:::o;834:176::-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;6581:338:120:-;6674:1;6655:21;;:7;:21;;;;6647:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6746;6769:5;6746:67;;;;;;;;;;;;;;;;;:9;:18;6756:7;6746:18;;;;;;;;;;;;;;;;:22;;:67;;;;;:::i;:::-;6725:9;:18;6735:7;6725:18;;;;;;;;;;;;;;;:88;;;;6838:23;6855:5;6838:12;;:16;;:23;;;;:::i;:::-;6823:12;:38;;;;6902:1;6876:36;;6885:7;6876:36;;;6906:5;6876:36;;;;;;;;;;;;;;;;;;6581:338;;:::o;7851:229::-;7922:22;7928:7;7937:6;7922:5;:22::i;:::-;7954:119;7963:7;7972:12;:10;:12::i;:::-;7986:86;8025:6;7986:86;;;;;;;;;;;;;;;;;:11;:20;7998:7;7986:20;;;;;;;;;;;;;;;:34;8007:12;:10;:12::i;:::-;7986:34;;;;;;;;;;;;;;;;:38;;:86;;;;;:::i;:::-;7954:8;:119::i;:::-;7851:229;;:::o;1274:134:48:-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1351:50;;1274:134;;;;:::o",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"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\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"initialAccount\",\"type\":\"address\"},{\"name\":\"initialBalance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":{\"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}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. * See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"See {ERC20-_burnFrom}.\"},\"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.\"},\"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`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/ERC20BurnableMock.sol\":\"ERC20BurnableMock\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/mocks/ERC20BurnableMock.sol\":{\"keccak256\":\"0xe96629a23c56b32906a5c25725a76542bfe8c3f643318650a1fde5dc4c55cfad\",\"urls\":[\"bzzr://e51d54c2c8c4f6518f93ac53c7a201c5e348af5aba7c63d92993575d6136ecec\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xe694ef04a7c6886b66ff96bcd2f69391584c886f98af4209b1871ae30e9ccc02\",\"urls\":[\"bzzr://492925b0d8de70689bfdc292e7870ca3f67feb106fc0c847c05afc619587b518\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9b94356691f3cbf90a5d83ae3fdf6a5a662bb004d2bd8b034160d60221807e64\",\"urls\":[\"bzzr://c59f70303d4a8bc640926844c489765661caf274397542a19af7c3930051ce83\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b506040516040806114d98339810180604052604081101561003057600080fd5b81019080805190602001909291908051906020019092919050505061005b828261006260201b60201c565b50506102ad565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610105576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61011e8160025461022560201b610d301790919060201c565b600281905550610179816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461022560201b610d301790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000808284019050838110156102a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b61121d806102bc6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461024157806379cc679014610299578063a457c2d7146102e7578063a9059cbb1461034d578063dd62ed3e146103b35761009e565b8063095ea7b3146100a357806318160ddd1461010957806323b872dd1461012757806339509351146101ad57806342966c6814610213575b600080fd5b6100ef600480360360408110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061042b565b604051808215151515815260200191505060405180910390f35b610111610449565b6040518082815260200191505060405180910390f35b6101936004803603606081101561013d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610453565b604051808215151515815260200191505060405180910390f35b6101f9600480360360408110156101c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061052c565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561022957600080fd5b81019080803590602001909291905050506105df565b005b6102836004803603602081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f3565b6040518082815260200191505060405180910390f35b6102e5600480360360408110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061063b565b005b610333600480360360408110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610649565b604051808215151515815260200191505060405180910390f35b6103996004803603604081101561036357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610716565b604051808215151515815260200191505060405180910390f35b610415600480360360408110156103c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610734565b6040518082815260200191505060405180910390f35b600061043f6104386107bb565b84846107c3565b6001905092915050565b6000600254905090565b60006104608484846109ba565b6105218461046c6107bb565b61051c8560405180606001604052806028815260200161111760289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d26107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b600190509392505050565b60006105d56105396107bb565b846105d0856001600061054a6107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3090919063ffffffff16565b6107c3565b6001905092915050565b6105f06105ea6107bb565b82610db8565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106458282610f70565b5050565b600061070c6106566107bb565b84610707856040518060600160405280602581526020016111cd60259139600160006106806107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b6001905092915050565b600061072a6107236107bb565b84846109ba565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610849576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806111a96024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806110cf6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806111846025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061108a6023913960400191505060405180910390fd5b610b31816040518060600160405280602681526020016110f1602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bc4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610d1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ce2578082015181840152602081019050610cc7565b50505050905090810190601f168015610d0f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610dae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806111636021913960400191505060405180910390fd5b610ea9816040518060600160405280602281526020016110ad602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f008160025461103f90919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b610f7a8282610db8565b61103b82610f866107bb565b6110368460405180606001604052806024815260200161113f60249139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610fec6107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b5050565b600061108183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c70565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a72305820de649b59bbe3ce4eedb6ff617ccd8d4c00a21fffb23a693b7d1c686d1e651f030029",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461024157806379cc679014610299578063a457c2d7146102e7578063a9059cbb1461034d578063dd62ed3e146103b35761009e565b8063095ea7b3146100a357806318160ddd1461010957806323b872dd1461012757806339509351146101ad57806342966c6814610213575b600080fd5b6100ef600480360360408110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061042b565b604051808215151515815260200191505060405180910390f35b610111610449565b6040518082815260200191505060405180910390f35b6101936004803603606081101561013d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610453565b604051808215151515815260200191505060405180910390f35b6101f9600480360360408110156101c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061052c565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561022957600080fd5b81019080803590602001909291905050506105df565b005b6102836004803603602081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f3565b6040518082815260200191505060405180910390f35b6102e5600480360360408110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061063b565b005b610333600480360360408110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610649565b604051808215151515815260200191505060405180910390f35b6103996004803603604081101561036357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610716565b604051808215151515815260200191505060405180910390f35b610415600480360360408110156103c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610734565b6040518082815260200191505060405180910390f35b600061043f6104386107bb565b84846107c3565b6001905092915050565b6000600254905090565b60006104608484846109ba565b6105218461046c6107bb565b61051c8560405180606001604052806028815260200161111760289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d26107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b600190509392505050565b60006105d56105396107bb565b846105d0856001600061054a6107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3090919063ffffffff16565b6107c3565b6001905092915050565b6105f06105ea6107bb565b82610db8565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106458282610f70565b5050565b600061070c6106566107bb565b84610707856040518060600160405280602581526020016111cd60259139600160006106806107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b6001905092915050565b600061072a6107236107bb565b84846109ba565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610849576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806111a96024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806110cf6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806111846025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061108a6023913960400191505060405180910390fd5b610b31816040518060600160405280602681526020016110f1602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bc4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610d1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ce2578082015181840152602081019050610cc7565b50505050905090810190601f168015610d0f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610dae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806111636021913960400191505060405180910390fd5b610ea9816040518060600160405280602281526020016110ad602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f008160025461103f90919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b610f7a8282610db8565b61103b82610f866107bb565b6110368460405180606001604052806024815260200161113f60249139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610fec6107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b5050565b600061108183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c70565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a72305820de649b59bbe3ce4eedb6ff617ccd8d4c00a21fffb23a693b7d1c686d1e651f030029",
"sourceMap": "69:174:64:-;;;119:122;8:9:-1;5:2;;;30:1;27;20:12;5:2;119:122:64;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;119:122:64;;;;;;;;;;;;;;;;;;;;;;;;;197:37;203:14;219;197:5;;;:37;;:::i;:::-;119:122;;69:174;;5959:302:119;6053:1;6034:21;;:7;:21;;;;6026:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6117:24;6134:6;6117:12;;:16;;;;;;:24;;;;:::i;:::-;6102:12;:39;;;;6172:30;6195:6;6172:9;:18;6182:7;6172:18;;;;;;;;;;;;;;;;:22;;;;;;:30;;;;:::i;:::-;6151:9;:18;6161:7;6151:18;;;;;;;;;;;;;;;:51;;;;6238:7;6217:37;;6234:1;6217:37;;;6247:6;6217:37;;;;;;;;;;;;;;;;;;5959:302;;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;69:174:64:-;;;;;;;",
"deployedSourceMap": "69:174:64:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;69:174:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:147:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:147:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3104:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3104:300:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3799:207;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3799:207:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;439:81:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;439:81:120;;;;;;;;;;;;;;;;;:::i;:::-;;1706:108:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:119;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;577:101:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;577:101:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4493:258:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4493:258:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2017:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2017:155:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2230:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2500:147;2565:4;2581:38;2590:12;:10;:12::i;:::-;2604:7;2613:5;2581:8;:38::i;:::-;2636:4;2629:11;;2500:147;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;3104:300::-;3193:4;3209:36;3219:6;3227:9;3238:6;3209:9;:36::i;:::-;3255:121;3264:6;3272:12;:10;:12::i;:::-;3286:89;3324:6;3286:89;;;;;;;;;;;;;;;;;:11;:19;3298:6;3286:19;;;;;;;;;;;;;;;:33;3306:12;:10;:12::i;:::-;3286:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3255:8;:121::i;:::-;3393:4;3386:11;;3104:300;;;;;:::o;3799:207::-;3879:4;3895:83;3904:12;:10;:12::i;:::-;3918:7;3927:50;3966:10;3927:11;:25;3939:12;:10;:12::i;:::-;3927:25;;;;;;;;;;;;;;;:34;3953:7;3927:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3895:8;:83::i;:::-;3995:4;3988:11;;3799:207;;;;:::o;439:81:120:-;486:27;492:12;:10;:12::i;:::-;506:6;486:5;:27::i;:::-;439:81;:::o;1706:108:119:-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;577:101:120:-;645:26;655:7;664:6;645:9;:26::i;:::-;577:101;;:::o;4493:258:119:-;4578:4;4594:129;4603:12;:10;:12::i;:::-;4617:7;4626:96;4665:15;4626:96;;;;;;;;;;;;;;;;;:11;:25;4638:12;:10;:12::i;:::-;4626:25;;;;;;;;;;;;;;;:34;4652:7;4626:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4594:8;:129::i;:::-;4740:4;4733:11;;4493:258;;;;:::o;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;2230:132::-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;7344:329:119:-;7453:1;7436:19;;:5;:19;;;;7428:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7533:1;7514:21;;:7;:21;;;;7506:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7615:5;7585:11;:18;7597:5;7585:18;;;;;;;;;;;;;;;:27;7604:7;7585:27;;;;;;;;;;;;;;;:35;;;;7651:7;7635:31;;7644:5;7635:31;;;7660:5;7635:31;;;;;;;;;;;;;;;;;;7344:329;;;:::o;5225:464::-;5340:1;5322:20;;:6;:20;;;;5314:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5423:1;5402:23;;:9;:23;;;;5394:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5496;5518:6;5496:71;;;;;;;;;;;;;;;;;:9;:17;5506:6;5496:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5476:9;:17;5486:6;5476:17;;;;;;;;;;;;;;;:91;;;;5600:32;5625:6;5600:9;:20;5610:9;5600:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5577:9;:20;5587:9;5577:20;;;;;;;;;;;;;;;:55;;;;5664:9;5647:35;;5656:6;5647:35;;;5675:6;5647:35;;;;;;;;;;;;;;;;;;5225:464;;;:::o;1844:187:48:-;1930:7;1962:1;1957;:6;;1965:12;1949:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1949:29:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1988:9;2004:1;2000;:5;1988:17;;2023:1;2016:8;;;1844:187;;;;;:::o;834:176::-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;6581:338:119:-;6674:1;6655:21;;:7;:21;;;;6647:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6746;6769:5;6746:67;;;;;;;;;;;;;;;;;:9;:18;6756:7;6746:18;;;;;;;;;;;;;;;;:22;;:67;;;;;:::i;:::-;6725:9;:18;6735:7;6725:18;;;;;;;;;;;;;;;:88;;;;6838:23;6855:5;6838:12;;:16;;:23;;;;:::i;:::-;6823:12;:38;;;;6902:1;6876:36;;6885:7;6876:36;;;6906:5;6876:36;;;;;;;;;;;;;;;;;;6581:338;;:::o;7851:229::-;7922:22;7928:7;7937:6;7922:5;:22::i;:::-;7954:119;7963:7;7972:12;:10;:12::i;:::-;7986:86;8025:6;7986:86;;;;;;;;;;;;;;;;;:11;:20;7998:7;7986:20;;;;;;;;;;;;;;;:34;8007:12;:10;:12::i;:::-;7986:34;;;;;;;;;;;;;;;;:38;;:86;;;;;:::i;:::-;7954:8;:119::i;:::-;7851:229;;:::o;1274:134:48:-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1351:50;;1274:134;;;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../token/ERC20/ERC20Burnable.sol\";\n\ncontract ERC20BurnableMock is ERC20Burnable {\n constructor (address initialAccount, uint256 initialBalance) public {\n _mint(initialAccount, initialBalance);\n }\n}\n",

@@ -283,10 +283,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/ERC20BurnableMock.sol",

"ERC20BurnableMock": [
6070
6049
]
},
"id": 6071,
"id": 6050,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6053,
"id": 6032,
"literals": [

@@ -304,6 +304,6 @@ "solidity",

"file": "../token/ERC20/ERC20Burnable.sol",
"id": 6054,
"id": 6033,
"nodeType": "ImportDirective",
"scope": 6071,
"sourceUnit": 9954,
"scope": 6050,
"sourceUnit": 9831,
"src": "25:42:64",

@@ -319,13 +319,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 6055,
"id": 6034,
"name": "ERC20Burnable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9953,
"referencedDeclaration": 9830,
"src": "99:13:64",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Burnable_$9953",
"typeIdentifier": "t_contract$_ERC20Burnable_$9830",
"typeString": "contract ERC20Burnable"
}
},
"id": 6056,
"id": 6035,
"nodeType": "InheritanceSpecifier",

@@ -337,5 +337,5 @@ "src": "99:13:64"

26,
9919,
9953,
10269
9796,
9830,
10146
],

@@ -345,8 +345,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 6070,
"id": 6049,
"linearizedBaseContracts": [
6070,
9953,
9919,
10269,
6049,
9830,
9796,
10146,
26

@@ -359,3 +359,3 @@ ],

"body": {
"id": 6068,
"id": 6047,
"nodeType": "Block",

@@ -370,7 +370,7 @@ "src": "187:54:64",

"argumentTypes": null,
"id": 6064,
"id": 6043,
"name": "initialAccount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6058,
"referencedDeclaration": 6037,
"src": "203:14:64",

@@ -384,7 +384,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 6065,
"id": 6044,
"name": "initialBalance",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6060,
"referencedDeclaration": 6039,
"src": "219:14:64",

@@ -408,7 +408,7 @@ "typeDescriptions": {

],
"id": 6063,
"id": 6042,
"name": "_mint",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9803,
"referencedDeclaration": 9680,
"src": "197:5:64",

@@ -420,3 +420,3 @@ "typeDescriptions": {

},
"id": 6066,
"id": 6045,
"isConstant": false,

@@ -435,3 +435,3 @@ "isLValue": false,

},
"id": 6067,
"id": 6046,
"nodeType": "ExpressionStatement",

@@ -443,3 +443,3 @@ "src": "197:37:64"

"documentation": null,
"id": 6069,
"id": 6048,
"implemented": true,

@@ -451,3 +451,3 @@ "kind": "constructor",

"parameters": {
"id": 6061,
"id": 6040,
"nodeType": "ParameterList",

@@ -457,6 +457,6 @@ "parameters": [

"constant": false,
"id": 6058,
"id": 6037,
"name": "initialAccount",
"nodeType": "VariableDeclaration",
"scope": 6069,
"scope": 6048,
"src": "132:22:64",

@@ -470,3 +470,3 @@ "stateVariable": false,

"typeName": {
"id": 6057,
"id": 6036,
"name": "address",

@@ -486,6 +486,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 6060,
"id": 6039,
"name": "initialBalance",
"nodeType": "VariableDeclaration",
"scope": 6069,
"scope": 6048,
"src": "156:22:64",

@@ -499,3 +499,3 @@ "stateVariable": false,

"typeName": {
"id": 6059,
"id": 6038,
"name": "uint256",

@@ -516,3 +516,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 6062,
"id": 6041,
"nodeType": "ParameterList",

@@ -522,3 +522,3 @@ "parameters": [],

},
"scope": 6070,
"scope": 6049,
"src": "119:122:64",

@@ -530,3 +530,3 @@ "stateMutability": "nonpayable",

],
"scope": 6071,
"scope": 6050,
"src": "69:174:64"

@@ -541,10 +541,10 @@ }

"ERC20BurnableMock": [
6070
6049
]
},
"id": 6071,
"id": 6050,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6053,
"id": 6032,
"literals": [

@@ -562,6 +562,6 @@ "solidity",

"file": "../token/ERC20/ERC20Burnable.sol",
"id": 6054,
"id": 6033,
"nodeType": "ImportDirective",
"scope": 6071,
"sourceUnit": 9954,
"scope": 6050,
"sourceUnit": 9831,
"src": "25:42:64",

@@ -577,13 +577,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 6055,
"id": 6034,
"name": "ERC20Burnable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9953,
"referencedDeclaration": 9830,
"src": "99:13:64",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Burnable_$9953",
"typeIdentifier": "t_contract$_ERC20Burnable_$9830",
"typeString": "contract ERC20Burnable"
}
},
"id": 6056,
"id": 6035,
"nodeType": "InheritanceSpecifier",

@@ -595,5 +595,5 @@ "src": "99:13:64"

26,
9919,
9953,
10269
9796,
9830,
10146
],

@@ -603,8 +603,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 6070,
"id": 6049,
"linearizedBaseContracts": [
6070,
9953,
9919,
10269,
6049,
9830,
9796,
10146,
26

@@ -617,3 +617,3 @@ ],

"body": {
"id": 6068,
"id": 6047,
"nodeType": "Block",

@@ -628,7 +628,7 @@ "src": "187:54:64",

"argumentTypes": null,
"id": 6064,
"id": 6043,
"name": "initialAccount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6058,
"referencedDeclaration": 6037,
"src": "203:14:64",

@@ -642,7 +642,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 6065,
"id": 6044,
"name": "initialBalance",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6060,
"referencedDeclaration": 6039,
"src": "219:14:64",

@@ -666,7 +666,7 @@ "typeDescriptions": {

],
"id": 6063,
"id": 6042,
"name": "_mint",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9803,
"referencedDeclaration": 9680,
"src": "197:5:64",

@@ -678,3 +678,3 @@ "typeDescriptions": {

},
"id": 6066,
"id": 6045,
"isConstant": false,

@@ -693,3 +693,3 @@ "isLValue": false,

},
"id": 6067,
"id": 6046,
"nodeType": "ExpressionStatement",

@@ -701,3 +701,3 @@ "src": "197:37:64"

"documentation": null,
"id": 6069,
"id": 6048,
"implemented": true,

@@ -709,3 +709,3 @@ "kind": "constructor",

"parameters": {
"id": 6061,
"id": 6040,
"nodeType": "ParameterList",

@@ -715,6 +715,6 @@ "parameters": [

"constant": false,
"id": 6058,
"id": 6037,
"name": "initialAccount",
"nodeType": "VariableDeclaration",
"scope": 6069,
"scope": 6048,
"src": "132:22:64",

@@ -728,3 +728,3 @@ "stateVariable": false,

"typeName": {
"id": 6057,
"id": 6036,
"name": "address",

@@ -744,6 +744,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 6060,
"id": 6039,
"name": "initialBalance",
"nodeType": "VariableDeclaration",
"scope": 6069,
"scope": 6048,
"src": "156:22:64",

@@ -757,3 +757,3 @@ "stateVariable": false,

"typeName": {
"id": 6059,
"id": 6038,
"name": "uint256",

@@ -774,3 +774,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 6062,
"id": 6041,
"nodeType": "ParameterList",

@@ -780,3 +780,3 @@ "parameters": [],

},
"scope": 6070,
"scope": 6049,
"src": "119:122:64",

@@ -788,3 +788,3 @@ "stateMutability": "nonpayable",

],
"scope": 6071,
"scope": 6050,
"src": "69:174:64"

@@ -801,3 +801,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.729Z",
"updatedAt": "2019-08-16T19:32:31.247Z",
"devdoc": {

@@ -804,0 +804,0 @@ "methods": {

@@ -285,7 +285,7 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"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\":\"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\":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\":\"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\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"symbol\",\"type\":\"string\"},{\"name\":\"decimals\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":{\"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}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"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.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"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`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/ERC20DetailedMock.sol\":\"ERC20DetailedMock\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/mocks/ERC20DetailedMock.sol\":{\"keccak256\":\"0xe8591ae6c6fa61f8f73b9d871636919f1021547c520c366a719dc12e238462db\",\"urls\":[\"bzzr://3f37706b1c8bb0b08ab52cd489fc7916ff608d1db8ef5710791085056afeebf0\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xe694ef04a7c6886b66ff96bcd2f69391584c886f98af4209b1871ae30e9ccc02\",\"urls\":[\"bzzr://492925b0d8de70689bfdc292e7870ca3f67feb106fc0c847c05afc619587b518\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20Detailed.sol\":{\"keccak256\":\"0x4a3a810b7ebe742e897e1fd428b3eeed2196d3acea58eaf9c566ed10d545d2ed\",\"urls\":[\"bzzr://729aefb3f89f616c954a0735f8b4dd8804bdd0351e96f8e904fdb3e78a109b6c\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]}},\"version\":1}",
"bytecode": "0x60806040523480156200001157600080fd5b50604051620012de380380620012de833981018060405260608110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b828101905060208101848111156200006757600080fd5b81518560018202830111640100000000821117156200008557600080fd5b50509291906020018051640100000000811115620000a257600080fd5b82810190506020810184811115620000b957600080fd5b8151856001820283011164010000000082111715620000d757600080fd5b50509291906020018051906020019092919050505082828282600390805190602001906200010792919062000148565b5081600490805190602001906200012092919062000148565b5080600560006101000a81548160ff021916908360ff160217905550505050505050620001f7565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200018b57805160ff1916838001178555620001bc565b82800160010185558215620001bc579182015b82811115620001bb5782518255916020019190600101906200019e565b5b509050620001cb9190620001cf565b5090565b620001f491905b80821115620001f0576000816000905550600101620001d6565b5090565b90565b6110d780620002076000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461025f57806370a08231146102c557806395d89b411461031d578063a457c2d7146103a0578063a9059cbb14610406578063dd62ed3e1461046c576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019757806323b872dd146101b5578063313ce5671461023b575b600080fd5b6100b66104e4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610586565b604051808215151515815260200191505060405180910390f35b61019f6105a4565b6040518082815260200191505060405180910390f35b610221600480360360608110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ae565b604051808215151515815260200191505060405180910390f35b610243610687565b604051808260ff1660ff16815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061069e565b604051808215151515815260200191505060405180910390f35b610307600480360360208110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610751565b6040518082815260200191505060405180910390f35b610325610799565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036557808201518184015260208101905061034a565b50505050905090810190601f1680156103925780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ec600480360360408110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083b565b604051808215151515815260200191505060405180910390f35b6104526004803603604081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610908565b604051808215151515815260200191505060405180910390f35b6104ce6004803603604081101561048257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610926565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561057c5780601f106105515761010080835404028352916020019161057c565b820191906000526020600020905b81548152906001019060200180831161055f57829003601f168201915b5050505050905090565b600061059a6105936109ad565b84846109b5565b6001905092915050565b6000600254905090565b60006105bb848484610bac565b61067c846105c76109ad565b6106778560405180606001604052806028815260200161101660289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061062d6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e629092919063ffffffff16565b6109b5565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107476106ab6109ad565b8461074285600160006106bc6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2290919063ffffffff16565b6109b5565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b5050505050905090565b60006108fe6108486109ad565b846108f98560405180606001604052806025815260200161108760259139600160006108726109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e629092919063ffffffff16565b6109b5565b6001905092915050565b600061091c6109156109ad565b8484610bac565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806110636024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fce6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061103e6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fab6023913960400191505060405180910390fd5b610d2381604051806060016040528060268152602001610ff0602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e629092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610db6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2290919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f0f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ed4578082015181840152602081019050610eb9565b50505050905090810190601f168015610f015780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610fa0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a723058206eaa939948b256599fbba3dc98ed5acd11aabd2e1552fed68d2c321f831fed910029",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461025f57806370a08231146102c557806395d89b411461031d578063a457c2d7146103a0578063a9059cbb14610406578063dd62ed3e1461046c576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019757806323b872dd146101b5578063313ce5671461023b575b600080fd5b6100b66104e4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610586565b604051808215151515815260200191505060405180910390f35b61019f6105a4565b6040518082815260200191505060405180910390f35b610221600480360360608110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ae565b604051808215151515815260200191505060405180910390f35b610243610687565b604051808260ff1660ff16815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061069e565b604051808215151515815260200191505060405180910390f35b610307600480360360208110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610751565b6040518082815260200191505060405180910390f35b610325610799565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036557808201518184015260208101905061034a565b50505050905090810190601f1680156103925780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ec600480360360408110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083b565b604051808215151515815260200191505060405180910390f35b6104526004803603604081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610908565b604051808215151515815260200191505060405180910390f35b6104ce6004803603604081101561048257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610926565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561057c5780601f106105515761010080835404028352916020019161057c565b820191906000526020600020905b81548152906001019060200180831161055f57829003601f168201915b5050505050905090565b600061059a6105936109ad565b84846109b5565b6001905092915050565b6000600254905090565b60006105bb848484610bac565b61067c846105c76109ad565b6106778560405180606001604052806028815260200161101660289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061062d6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e629092919063ffffffff16565b6109b5565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107476106ab6109ad565b8461074285600160006106bc6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2290919063ffffffff16565b6109b5565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b5050505050905090565b60006108fe6108486109ad565b846108f98560405180606001604052806025815260200161108760259139600160006108726109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e629092919063ffffffff16565b6109b5565b6001905092915050565b600061091c6109156109ad565b8484610bac565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806110636024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fce6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061103e6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fab6023913960400191505060405180910390fd5b610d2381604051806060016040528060268152602001610ff0602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e629092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610db6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2290919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f0f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ed4578082015181840152602081019050610eb9565b50505050905090810190601f168015610f015780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610fa0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a723058206eaa939948b256599fbba3dc98ed5acd11aabd2e1552fed68d2c321f831fed910029",
"sourceMap": "104:259:65:-;;;161:200;8:9:-1;5:2;;;30:1;27;20:12;5:2;161:200:65;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;161:200:65;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;0:372;;161:200:65;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;0:372;;161:200:65;;;;;;;;;;;;;;;;;269:4;275:6;283:8;512:4:123;504:5;:12;;;;;;;;;;;;:::i;:::-;;536:6;526:7;:16;;;;;;;;;;;;:::i;:::-;;564:8;552:9;;:20;;;;;;;;;;;;;;;;;;416:163;;;161:200:65;;;104:259;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;",
"deployedSourceMap": "104:259:65:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;104:259:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;644:81:123;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;644:81:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:147:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:147:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3104:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3104:300:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1472:81:123;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3799:207:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3799:207:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1706:108;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;838:85:123;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;838:85:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4493:258:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4493:258:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2017:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2017:155:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2230:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;644:81:123;681:13;713:5;706:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;644:81;:::o;2500:147:120:-;2565:4;2581:38;2590:12;:10;:12::i;:::-;2604:7;2613:5;2581:8;:38::i;:::-;2636:4;2629:11;;2500:147;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;3104:300::-;3193:4;3209:36;3219:6;3227:9;3238:6;3209:9;:36::i;:::-;3255:121;3264:6;3272:12;:10;:12::i;:::-;3286:89;3324:6;3286:89;;;;;;;;;;;;;;;;;:11;:19;3298:6;3286:19;;;;;;;;;;;;;;;:33;3306:12;:10;:12::i;:::-;3286:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3255:8;:121::i;:::-;3393:4;3386:11;;3104:300;;;;;:::o;1472:81:123:-;1513:5;1537:9;;;;;;;;;;;1530:16;;1472:81;:::o;3799:207:120:-;3879:4;3895:83;3904:12;:10;:12::i;:::-;3918:7;3927:50;3966:10;3927:11;:25;3939:12;:10;:12::i;:::-;3927:25;;;;;;;;;;;;;;;:34;3953:7;3927:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3895:8;:83::i;:::-;3995:4;3988:11;;3799:207;;;;:::o;1706:108::-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;838:85:123:-;877:13;909:7;902:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;838:85;:::o;4493:258:120:-;4578:4;4594:129;4603:12;:10;:12::i;:::-;4617:7;4626:96;4665:15;4626:96;;;;;;;;;;;;;;;;;:11;:25;4638:12;:10;:12::i;:::-;4626:25;;;;;;;;;;;;;;;:34;4652:7;4626:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4594:8;:129::i;:::-;4740:4;4733:11;;4493:258;;;;:::o;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;2230:132::-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;7344:329:120:-;7453:1;7436:19;;:5;:19;;;;7428:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7533:1;7514:21;;:7;:21;;;;7506:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7615:5;7585:11;:18;7597:5;7585:18;;;;;;;;;;;;;;;:27;7604:7;7585:27;;;;;;;;;;;;;;;:35;;;;7651:7;7635:31;;7644:5;7635:31;;;7660:5;7635:31;;;;;;;;;;;;;;;;;;7344:329;;;:::o;5225:464::-;5340:1;5322:20;;:6;:20;;;;5314:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5423:1;5402:23;;:9;:23;;;;5394:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5496;5518:6;5496:71;;;;;;;;;;;;;;;;;:9;:17;5506:6;5496:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5476:9;:17;5486:6;5476:17;;;;;;;;;;;;;;;:91;;;;5600:32;5625:6;5600:9;:20;5610:9;5600:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5577:9;:20;5587:9;5577:20;;;;;;;;;;;;;;;:55;;;;5664:9;5647:35;;5656:6;5647:35;;;5675:6;5647:35;;;;;;;;;;;;;;;;;;5225:464;;;:::o;1692:187:48:-;1778:7;1810:1;1805;:6;;1813:12;1797:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1797:29:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1836:9;1852:1;1848;:5;1836:17;;1871:1;1864:8;;;1692:187;;;;;:::o;834:176::-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"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\":\"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\":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\":\"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\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"symbol\",\"type\":\"string\"},{\"name\":\"decimals\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":{\"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}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"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.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"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`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/ERC20DetailedMock.sol\":\"ERC20DetailedMock\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/mocks/ERC20DetailedMock.sol\":{\"keccak256\":\"0xe8591ae6c6fa61f8f73b9d871636919f1021547c520c366a719dc12e238462db\",\"urls\":[\"bzzr://3f37706b1c8bb0b08ab52cd489fc7916ff608d1db8ef5710791085056afeebf0\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xe694ef04a7c6886b66ff96bcd2f69391584c886f98af4209b1871ae30e9ccc02\",\"urls\":[\"bzzr://492925b0d8de70689bfdc292e7870ca3f67feb106fc0c847c05afc619587b518\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20Detailed.sol\":{\"keccak256\":\"0x4a3a810b7ebe742e897e1fd428b3eeed2196d3acea58eaf9c566ed10d545d2ed\",\"urls\":[\"bzzr://729aefb3f89f616c954a0735f8b4dd8804bdd0351e96f8e904fdb3e78a109b6c\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]}},\"version\":1}",
"bytecode": "0x60806040523480156200001157600080fd5b50604051620012de380380620012de833981018060405260608110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b828101905060208101848111156200006757600080fd5b81518560018202830111640100000000821117156200008557600080fd5b50509291906020018051640100000000811115620000a257600080fd5b82810190506020810184811115620000b957600080fd5b8151856001820283011164010000000082111715620000d757600080fd5b50509291906020018051906020019092919050505082828282600390805190602001906200010792919062000148565b5081600490805190602001906200012092919062000148565b5080600560006101000a81548160ff021916908360ff160217905550505050505050620001f7565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200018b57805160ff1916838001178555620001bc565b82800160010185558215620001bc579182015b82811115620001bb5782518255916020019190600101906200019e565b5b509050620001cb9190620001cf565b5090565b620001f491905b80821115620001f0576000816000905550600101620001d6565b5090565b90565b6110d780620002076000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461025f57806370a08231146102c557806395d89b411461031d578063a457c2d7146103a0578063a9059cbb14610406578063dd62ed3e1461046c576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019757806323b872dd146101b5578063313ce5671461023b575b600080fd5b6100b66104e4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610586565b604051808215151515815260200191505060405180910390f35b61019f6105a4565b6040518082815260200191505060405180910390f35b610221600480360360608110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ae565b604051808215151515815260200191505060405180910390f35b610243610687565b604051808260ff1660ff16815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061069e565b604051808215151515815260200191505060405180910390f35b610307600480360360208110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610751565b6040518082815260200191505060405180910390f35b610325610799565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036557808201518184015260208101905061034a565b50505050905090810190601f1680156103925780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ec600480360360408110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083b565b604051808215151515815260200191505060405180910390f35b6104526004803603604081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610908565b604051808215151515815260200191505060405180910390f35b6104ce6004803603604081101561048257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610926565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561057c5780601f106105515761010080835404028352916020019161057c565b820191906000526020600020905b81548152906001019060200180831161055f57829003601f168201915b5050505050905090565b600061059a6105936109ad565b84846109b5565b6001905092915050565b6000600254905090565b60006105bb848484610bac565b61067c846105c76109ad565b6106778560405180606001604052806028815260200161101660289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061062d6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e629092919063ffffffff16565b6109b5565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107476106ab6109ad565b8461074285600160006106bc6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2290919063ffffffff16565b6109b5565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b5050505050905090565b60006108fe6108486109ad565b846108f98560405180606001604052806025815260200161108760259139600160006108726109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e629092919063ffffffff16565b6109b5565b6001905092915050565b600061091c6109156109ad565b8484610bac565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806110636024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fce6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061103e6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fab6023913960400191505060405180910390fd5b610d2381604051806060016040528060268152602001610ff0602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e629092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610db6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2290919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f0f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ed4578082015181840152602081019050610eb9565b50505050905090810190601f168015610f015780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610fa0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a723058207605f5b6d006e0913c65b41ab0f59fca7e1ef6c9b0796df6f898a4854e16761a0029",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461025f57806370a08231146102c557806395d89b411461031d578063a457c2d7146103a0578063a9059cbb14610406578063dd62ed3e1461046c576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019757806323b872dd146101b5578063313ce5671461023b575b600080fd5b6100b66104e4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610586565b604051808215151515815260200191505060405180910390f35b61019f6105a4565b6040518082815260200191505060405180910390f35b610221600480360360608110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ae565b604051808215151515815260200191505060405180910390f35b610243610687565b604051808260ff1660ff16815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061069e565b604051808215151515815260200191505060405180910390f35b610307600480360360208110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610751565b6040518082815260200191505060405180910390f35b610325610799565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036557808201518184015260208101905061034a565b50505050905090810190601f1680156103925780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ec600480360360408110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083b565b604051808215151515815260200191505060405180910390f35b6104526004803603604081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610908565b604051808215151515815260200191505060405180910390f35b6104ce6004803603604081101561048257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610926565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561057c5780601f106105515761010080835404028352916020019161057c565b820191906000526020600020905b81548152906001019060200180831161055f57829003601f168201915b5050505050905090565b600061059a6105936109ad565b84846109b5565b6001905092915050565b6000600254905090565b60006105bb848484610bac565b61067c846105c76109ad565b6106778560405180606001604052806028815260200161101660289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061062d6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e629092919063ffffffff16565b6109b5565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107476106ab6109ad565b8461074285600160006106bc6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2290919063ffffffff16565b6109b5565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b5050505050905090565b60006108fe6108486109ad565b846108f98560405180606001604052806025815260200161108760259139600160006108726109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e629092919063ffffffff16565b6109b5565b6001905092915050565b600061091c6109156109ad565b8484610bac565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806110636024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fce6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061103e6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fab6023913960400191505060405180910390fd5b610d2381604051806060016040528060268152602001610ff0602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e629092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610db6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2290919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f0f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ed4578082015181840152602081019050610eb9565b50505050905090810190601f168015610f015780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610fa0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a723058207605f5b6d006e0913c65b41ab0f59fca7e1ef6c9b0796df6f898a4854e16761a0029",
"sourceMap": "104:259:65:-;;;161:200;8:9:-1;5:2;;;30:1;27;20:12;5:2;161:200:65;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;161:200:65;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;0:372;;161:200:65;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;0:372;;161:200:65;;;;;;;;;;;;;;;;;269:4;275:6;283:8;512:4:122;504:5;:12;;;;;;;;;;;;:::i;:::-;;536:6;526:7;:16;;;;;;;;;;;;:::i;:::-;;564:8;552:9;;:20;;;;;;;;;;;;;;;;;;416:163;;;161:200:65;;;104:259;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;",
"deployedSourceMap": "104:259:65:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;104:259:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;644:81:122;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;644:81:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:147:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:147:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3104:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3104:300:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1472:81:122;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3799:207:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3799:207:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1706:108;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:119;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;838:85:122;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;838:85:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4493:258:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4493:258:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2017:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2017:155:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2230:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;644:81:122;681:13;713:5;706:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;644:81;:::o;2500:147:119:-;2565:4;2581:38;2590:12;:10;:12::i;:::-;2604:7;2613:5;2581:8;:38::i;:::-;2636:4;2629:11;;2500:147;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;3104:300::-;3193:4;3209:36;3219:6;3227:9;3238:6;3209:9;:36::i;:::-;3255:121;3264:6;3272:12;:10;:12::i;:::-;3286:89;3324:6;3286:89;;;;;;;;;;;;;;;;;:11;:19;3298:6;3286:19;;;;;;;;;;;;;;;:33;3306:12;:10;:12::i;:::-;3286:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3255:8;:121::i;:::-;3393:4;3386:11;;3104:300;;;;;:::o;1472:81:122:-;1513:5;1537:9;;;;;;;;;;;1530:16;;1472:81;:::o;3799:207:119:-;3879:4;3895:83;3904:12;:10;:12::i;:::-;3918:7;3927:50;3966:10;3927:11;:25;3939:12;:10;:12::i;:::-;3927:25;;;;;;;;;;;;;;;:34;3953:7;3927:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3895:8;:83::i;:::-;3995:4;3988:11;;3799:207;;;;:::o;1706:108::-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;838:85:122:-;877:13;909:7;902:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;838:85;:::o;4493:258:119:-;4578:4;4594:129;4603:12;:10;:12::i;:::-;4617:7;4626:96;4665:15;4626:96;;;;;;;;;;;;;;;;;:11;:25;4638:12;:10;:12::i;:::-;4626:25;;;;;;;;;;;;;;;:34;4652:7;4626:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4594:8;:129::i;:::-;4740:4;4733:11;;4493:258;;;;:::o;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;2230:132::-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;7344:329:119:-;7453:1;7436:19;;:5;:19;;;;7428:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7533:1;7514:21;;:7;:21;;;;7506:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7615:5;7585:11;:18;7597:5;7585:18;;;;;;;;;;;;;;;:27;7604:7;7585:27;;;;;;;;;;;;;;;:35;;;;7651:7;7635:31;;7644:5;7635:31;;;7660:5;7635:31;;;;;;;;;;;;;;;;;;7344:329;;;:::o;5225:464::-;5340:1;5322:20;;:6;:20;;;;5314:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5423:1;5402:23;;:9;:23;;;;5394:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5496;5518:6;5496:71;;;;;;;;;;;;;;;;;:9;:17;5506:6;5496:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5476:9;:17;5486:6;5476:17;;;;;;;;;;;;;;;:91;;;;5600:32;5625:6;5600:9;:20;5610:9;5600:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5577:9;:20;5587:9;5577:20;;;;;;;;;;;;;;;:55;;;;5664:9;5647:35;;5656:6;5647:35;;;5675:6;5647:35;;;;;;;;;;;;;;;;;;5225:464;;;:::o;1844:187:48:-;1930:7;1962:1;1957;:6;;1965:12;1949:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1949:29:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1988:9;2004:1;2000;:5;1988:17;;2023:1;2016:8;;;1844:187;;;;;:::o;834:176::-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../token/ERC20/ERC20.sol\";\nimport \"../token/ERC20/ERC20Detailed.sol\";\n\ncontract ERC20DetailedMock is ERC20, ERC20Detailed {\n constructor (string memory name, string memory symbol, uint8 decimals)\n public\n ERC20Detailed(name, symbol, decimals)\n {\n // solhint-disable-previous-line no-empty-blocks\n }\n}\n",

@@ -297,10 +297,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/ERC20DetailedMock.sol",

"ERC20DetailedMock": [
6094
6073
]
},
"id": 6095,
"id": 6074,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6072,
"id": 6051,
"literals": [

@@ -318,6 +318,6 @@ "solidity",

"file": "../token/ERC20/ERC20.sol",
"id": 6073,
"id": 6052,
"nodeType": "ImportDirective",
"scope": 6095,
"sourceUnit": 9920,
"scope": 6074,
"sourceUnit": 9797,
"src": "25:34:65",

@@ -330,6 +330,6 @@ "symbolAliases": [],

"file": "../token/ERC20/ERC20Detailed.sol",
"id": 6074,
"id": 6053,
"nodeType": "ImportDirective",
"scope": 6095,
"sourceUnit": 10071,
"scope": 6074,
"sourceUnit": 9948,
"src": "60:42:65",

@@ -345,13 +345,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 6075,
"id": 6054,
"name": "ERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9919,
"referencedDeclaration": 9796,
"src": "134:5:65",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$9919",
"typeIdentifier": "t_contract$_ERC20_$9796",
"typeString": "contract ERC20"
}
},
"id": 6076,
"id": 6055,
"nodeType": "InheritanceSpecifier",

@@ -364,13 +364,13 @@ "src": "134:5:65"

"contractScope": null,
"id": 6077,
"id": 6056,
"name": "ERC20Detailed",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10070,
"referencedDeclaration": 9947,
"src": "141:13:65",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Detailed_$10070",
"typeIdentifier": "t_contract$_ERC20Detailed_$9947",
"typeString": "contract ERC20Detailed"
}
},
"id": 6078,
"id": 6057,
"nodeType": "InheritanceSpecifier",

@@ -382,5 +382,5 @@ "src": "141:13:65"

26,
9919,
10070,
10269
9796,
9947,
10146
],

@@ -390,8 +390,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 6094,
"id": 6073,
"linearizedBaseContracts": [
6094,
10070,
9919,
10269,
6073,
9947,
9796,
10146,
26

@@ -404,3 +404,3 @@ ],

"body": {
"id": 6092,
"id": 6071,
"nodeType": "Block",

@@ -411,3 +411,3 @@ "src": "297:64:65",

"documentation": null,
"id": 6093,
"id": 6072,
"implemented": true,

@@ -420,7 +420,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 6087,
"id": 6066,
"name": "name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6080,
"referencedDeclaration": 6059,
"src": "269:4:65",

@@ -434,7 +434,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 6088,
"id": 6067,
"name": "symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6082,
"referencedDeclaration": 6061,
"src": "275:6:65",

@@ -448,7 +448,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 6089,
"id": 6068,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6084,
"referencedDeclaration": 6063,
"src": "283:8:65",

@@ -461,13 +461,13 @@ "typeDescriptions": {

],
"id": 6090,
"id": 6069,
"modifierName": {
"argumentTypes": null,
"id": 6086,
"id": 6065,
"name": "ERC20Detailed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10070,
"referencedDeclaration": 9947,
"src": "255:13:65",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC20Detailed_$10070_$",
"typeIdentifier": "t_type$_t_contract$_ERC20Detailed_$9947_$",
"typeString": "type(contract ERC20Detailed)"

@@ -483,3 +483,3 @@ }

"parameters": {
"id": 6085,
"id": 6064,
"nodeType": "ParameterList",

@@ -489,6 +489,6 @@ "parameters": [

"constant": false,
"id": 6080,
"id": 6059,
"name": "name",
"nodeType": "VariableDeclaration",
"scope": 6093,
"scope": 6072,
"src": "174:18:65",

@@ -502,3 +502,3 @@ "stateVariable": false,

"typeName": {
"id": 6079,
"id": 6058,
"name": "string",

@@ -517,6 +517,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 6082,
"id": 6061,
"name": "symbol",
"nodeType": "VariableDeclaration",
"scope": 6093,
"scope": 6072,
"src": "194:20:65",

@@ -530,3 +530,3 @@ "stateVariable": false,

"typeName": {
"id": 6081,
"id": 6060,
"name": "string",

@@ -545,6 +545,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 6084,
"id": 6063,
"name": "decimals",
"nodeType": "VariableDeclaration",
"scope": 6093,
"scope": 6072,
"src": "216:14:65",

@@ -558,3 +558,3 @@ "stateVariable": false,

"typeName": {
"id": 6083,
"id": 6062,
"name": "uint8",

@@ -575,3 +575,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 6091,
"id": 6070,
"nodeType": "ParameterList",

@@ -581,3 +581,3 @@ "parameters": [],

},
"scope": 6094,
"scope": 6073,
"src": "161:200:65",

@@ -589,3 +589,3 @@ "stateMutability": "nonpayable",

],
"scope": 6095,
"scope": 6074,
"src": "104:259:65"

@@ -600,10 +600,10 @@ }

"ERC20DetailedMock": [
6094
6073
]
},
"id": 6095,
"id": 6074,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6072,
"id": 6051,
"literals": [

@@ -621,6 +621,6 @@ "solidity",

"file": "../token/ERC20/ERC20.sol",
"id": 6073,
"id": 6052,
"nodeType": "ImportDirective",
"scope": 6095,
"sourceUnit": 9920,
"scope": 6074,
"sourceUnit": 9797,
"src": "25:34:65",

@@ -633,6 +633,6 @@ "symbolAliases": [],

"file": "../token/ERC20/ERC20Detailed.sol",
"id": 6074,
"id": 6053,
"nodeType": "ImportDirective",
"scope": 6095,
"sourceUnit": 10071,
"scope": 6074,
"sourceUnit": 9948,
"src": "60:42:65",

@@ -648,13 +648,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 6075,
"id": 6054,
"name": "ERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9919,
"referencedDeclaration": 9796,
"src": "134:5:65",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$9919",
"typeIdentifier": "t_contract$_ERC20_$9796",
"typeString": "contract ERC20"
}
},
"id": 6076,
"id": 6055,
"nodeType": "InheritanceSpecifier",

@@ -667,13 +667,13 @@ "src": "134:5:65"

"contractScope": null,
"id": 6077,
"id": 6056,
"name": "ERC20Detailed",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10070,
"referencedDeclaration": 9947,
"src": "141:13:65",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Detailed_$10070",
"typeIdentifier": "t_contract$_ERC20Detailed_$9947",
"typeString": "contract ERC20Detailed"
}
},
"id": 6078,
"id": 6057,
"nodeType": "InheritanceSpecifier",

@@ -685,5 +685,5 @@ "src": "141:13:65"

26,
9919,
10070,
10269
9796,
9947,
10146
],

@@ -693,8 +693,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 6094,
"id": 6073,
"linearizedBaseContracts": [
6094,
10070,
9919,
10269,
6073,
9947,
9796,
10146,
26

@@ -707,3 +707,3 @@ ],

"body": {
"id": 6092,
"id": 6071,
"nodeType": "Block",

@@ -714,3 +714,3 @@ "src": "297:64:65",

"documentation": null,
"id": 6093,
"id": 6072,
"implemented": true,

@@ -723,7 +723,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 6087,
"id": 6066,
"name": "name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6080,
"referencedDeclaration": 6059,
"src": "269:4:65",

@@ -737,7 +737,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 6088,
"id": 6067,
"name": "symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6082,
"referencedDeclaration": 6061,
"src": "275:6:65",

@@ -751,7 +751,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 6089,
"id": 6068,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6084,
"referencedDeclaration": 6063,
"src": "283:8:65",

@@ -764,13 +764,13 @@ "typeDescriptions": {

],
"id": 6090,
"id": 6069,
"modifierName": {
"argumentTypes": null,
"id": 6086,
"id": 6065,
"name": "ERC20Detailed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10070,
"referencedDeclaration": 9947,
"src": "255:13:65",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC20Detailed_$10070_$",
"typeIdentifier": "t_type$_t_contract$_ERC20Detailed_$9947_$",
"typeString": "type(contract ERC20Detailed)"

@@ -786,3 +786,3 @@ }

"parameters": {
"id": 6085,
"id": 6064,
"nodeType": "ParameterList",

@@ -792,6 +792,6 @@ "parameters": [

"constant": false,
"id": 6080,
"id": 6059,
"name": "name",
"nodeType": "VariableDeclaration",
"scope": 6093,
"scope": 6072,
"src": "174:18:65",

@@ -805,3 +805,3 @@ "stateVariable": false,

"typeName": {
"id": 6079,
"id": 6058,
"name": "string",

@@ -820,6 +820,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 6082,
"id": 6061,
"name": "symbol",
"nodeType": "VariableDeclaration",
"scope": 6093,
"scope": 6072,
"src": "194:20:65",

@@ -833,3 +833,3 @@ "stateVariable": false,

"typeName": {
"id": 6081,
"id": 6060,
"name": "string",

@@ -848,6 +848,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 6084,
"id": 6063,
"name": "decimals",
"nodeType": "VariableDeclaration",
"scope": 6093,
"scope": 6072,
"src": "216:14:65",

@@ -861,3 +861,3 @@ "stateVariable": false,

"typeName": {
"id": 6083,
"id": 6062,
"name": "uint8",

@@ -878,3 +878,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 6091,
"id": 6070,
"nodeType": "ParameterList",

@@ -884,3 +884,3 @@ "parameters": [],

},
"scope": 6094,
"scope": 6073,
"src": "161:200:65",

@@ -892,3 +892,3 @@ "stateMutability": "nonpayable",

],
"scope": 6095,
"scope": 6074,
"src": "104:259:65"

@@ -905,3 +905,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.730Z",
"updatedAt": "2019-08-16T19:32:31.248Z",
"devdoc": {

@@ -908,0 +908,0 @@ "methods": {

@@ -263,7 +263,7 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"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\":true,\"inputs\":[],\"name\":\"tokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"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\":\"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\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"tokenURI\",\"type\":\"string\"}],\"name\":\"setTokenURI\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"tokenURI\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":{\"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.\"},\"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`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/ERC20MetadataMock.sol\":\"ERC20MetadataMock\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/drafts/ERC1046/ERC20Metadata.sol\":{\"keccak256\":\"0x42dc484a5d3369f160ef361eaef7c415657d7720d20dd4ebbac3dda94291619e\",\"urls\":[\"bzzr://34a94f8fefb4beb5378750d1938ffb7b2b6f03f61f4b7eaac3e4137331ff0c32\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/mocks/ERC20MetadataMock.sol\":{\"keccak256\":\"0x54d36bc34741f46b025918cc8afe48d675f1bfe52afd18cd33e7bd28285d3e7e\",\"urls\":[\"bzzr://16e96aa7644a3b0d753783025892dd81b224ffff7db48d119b89571575520e6f\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xe694ef04a7c6886b66ff96bcd2f69391584c886f98af4209b1871ae30e9ccc02\",\"urls\":[\"bzzr://492925b0d8de70689bfdc292e7870ca3f67feb106fc0c847c05afc619587b518\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]}},\"version\":1}",
"bytecode": "0x60806040523480156200001157600080fd5b506040516200127438038062001274833981018060405260208110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b828101905060208101848111156200006757600080fd5b81518560018202830111640100000000821117156200008557600080fd5b5050929190505050806200009f81620000a760201b60201c565b505062000172565b8060039080519060200190620000bf929190620000c3565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200010657805160ff191683800117855562000137565b8280016001018555821562000137579182015b828111156200013657825182559160200191906001019062000119565b5b5090506200014691906200014a565b5090565b6200016f91905b808211156200016b57600081600090555060010162000151565b5090565b90565b6110f280620001826000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a0823114610296578063a457c2d7146102ee578063a9059cbb14610354578063dd62ed3e146103ba578063e0df5b6f146104325761009e565b8063095ea7b3146100a357806318160ddd1461010957806323b872dd1461012757806339509351146101ad5780633c130d9014610213575b600080fd5b6100ef600480360360408110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104ed565b604051808215151515815260200191505060405180910390f35b61011161050b565b6040518082815260200191505060405180910390f35b6101936004803603606081101561013d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610515565b604051808215151515815260200191505060405180910390f35b6101f9600480360360408110156101c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ee565b604051808215151515815260200191505060405180910390f35b61021b6106a1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561025b578082015181840152602081019050610240565b50505050905090810190601f1680156102885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d8600480360360208110156102ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610743565b6040518082815260200191505060405180910390f35b61033a6004803603604081101561030457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061078b565b604051808215151515815260200191505060405180910390f35b6103a06004803603604081101561036a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610858565b604051808215151515815260200191505060405180910390f35b61041c600480360360408110156103d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610876565b6040518082815260200191505060405180910390f35b6104eb6004803603602081101561044857600080fd5b810190808035906020019064010000000081111561046557600080fd5b82018360208201111561047757600080fd5b8035906020019184600183028401116401000000008311171561049957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506108fd565b005b60006105016104fa610909565b8484610911565b6001905092915050565b6000600254905090565b6000610522848484610b08565b6105e38461052e610909565b6105de8560405180606001604052806028815260200161103160289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610594610909565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dbe9092919063ffffffff16565b610911565b600190509392505050565b60006106976105fb610909565b84610692856001600061060c610909565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e7e90919063ffffffff16565b610911565b6001905092915050565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107395780601f1061070e57610100808354040283529160200191610739565b820191906000526020600020905b81548152906001019060200180831161071c57829003601f168201915b5050505050905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061084e610798610909565b84610849856040518060600160405280602581526020016110a260259139600160006107c2610909565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dbe9092919063ffffffff16565b610911565b6001905092915050565b600061086c610865610909565b8484610b08565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61090681610f06565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610997576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061107e6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fe96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b8e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806110596025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fc66023913960400191505060405180910390fd5b610c7f8160405180606001604052806026815260200161100b602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dbe9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d12816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e7e90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610e6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e30578082015181840152602081019050610e15565b50505050905090810190601f168015610e5d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610efc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b8060039080519060200190610f1c929190610f20565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f6157805160ff1916838001178555610f8f565b82800160010185558215610f8f579182015b82811115610f8e578251825591602001919060010190610f73565b5b509050610f9c9190610fa0565b5090565b610fc291905b80821115610fbe576000816000905550600101610fa6565b5090565b9056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a72305820fb330b307e3c5496929ea04e034bb78cc9bcde5767393dc8725c79f09629ec3a0029",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a0823114610296578063a457c2d7146102ee578063a9059cbb14610354578063dd62ed3e146103ba578063e0df5b6f146104325761009e565b8063095ea7b3146100a357806318160ddd1461010957806323b872dd1461012757806339509351146101ad5780633c130d9014610213575b600080fd5b6100ef600480360360408110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104ed565b604051808215151515815260200191505060405180910390f35b61011161050b565b6040518082815260200191505060405180910390f35b6101936004803603606081101561013d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610515565b604051808215151515815260200191505060405180910390f35b6101f9600480360360408110156101c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ee565b604051808215151515815260200191505060405180910390f35b61021b6106a1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561025b578082015181840152602081019050610240565b50505050905090810190601f1680156102885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d8600480360360208110156102ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610743565b6040518082815260200191505060405180910390f35b61033a6004803603604081101561030457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061078b565b604051808215151515815260200191505060405180910390f35b6103a06004803603604081101561036a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610858565b604051808215151515815260200191505060405180910390f35b61041c600480360360408110156103d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610876565b6040518082815260200191505060405180910390f35b6104eb6004803603602081101561044857600080fd5b810190808035906020019064010000000081111561046557600080fd5b82018360208201111561047757600080fd5b8035906020019184600183028401116401000000008311171561049957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506108fd565b005b60006105016104fa610909565b8484610911565b6001905092915050565b6000600254905090565b6000610522848484610b08565b6105e38461052e610909565b6105de8560405180606001604052806028815260200161103160289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610594610909565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dbe9092919063ffffffff16565b610911565b600190509392505050565b60006106976105fb610909565b84610692856001600061060c610909565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e7e90919063ffffffff16565b610911565b6001905092915050565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107395780601f1061070e57610100808354040283529160200191610739565b820191906000526020600020905b81548152906001019060200180831161071c57829003601f168201915b5050505050905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061084e610798610909565b84610849856040518060600160405280602581526020016110a260259139600160006107c2610909565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dbe9092919063ffffffff16565b610911565b6001905092915050565b600061086c610865610909565b8484610b08565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61090681610f06565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610997576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061107e6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fe96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b8e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806110596025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fc66023913960400191505060405180910390fd5b610c7f8160405180606001604052806026815260200161100b602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dbe9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d12816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e7e90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610e6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e30578082015181840152602081019050610e15565b50505050905090810190601f168015610e5d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610efc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b8060039080519060200190610f1c929190610f20565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f6157805160ff1916838001178555610f8f565b82800160010185558215610f8f579182015b82811115610f8e578251825591602001919060010190610f73565b5b509050610f9c9190610fa0565b5090565b610fc291905b80821115610fbe576000816000905550600101610fa6565b5090565b9056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a72305820fb330b307e3c5496929ea04e034bb78cc9bcde5767393dc8725c79f09629ec3a0029",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"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\":true,\"inputs\":[],\"name\":\"tokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"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\":\"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\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"tokenURI\",\"type\":\"string\"}],\"name\":\"setTokenURI\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"tokenURI\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":{\"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.\"},\"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`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/ERC20MetadataMock.sol\":\"ERC20MetadataMock\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/drafts/ERC1046/ERC20Metadata.sol\":{\"keccak256\":\"0x42dc484a5d3369f160ef361eaef7c415657d7720d20dd4ebbac3dda94291619e\",\"urls\":[\"bzzr://34a94f8fefb4beb5378750d1938ffb7b2b6f03f61f4b7eaac3e4137331ff0c32\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/mocks/ERC20MetadataMock.sol\":{\"keccak256\":\"0x54d36bc34741f46b025918cc8afe48d675f1bfe52afd18cd33e7bd28285d3e7e\",\"urls\":[\"bzzr://16e96aa7644a3b0d753783025892dd81b224ffff7db48d119b89571575520e6f\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xe694ef04a7c6886b66ff96bcd2f69391584c886f98af4209b1871ae30e9ccc02\",\"urls\":[\"bzzr://492925b0d8de70689bfdc292e7870ca3f67feb106fc0c847c05afc619587b518\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]}},\"version\":1}",
"bytecode": "0x60806040523480156200001157600080fd5b506040516200127438038062001274833981018060405260208110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b828101905060208101848111156200006757600080fd5b81518560018202830111640100000000821117156200008557600080fd5b5050929190505050806200009f81620000a760201b60201c565b505062000172565b8060039080519060200190620000bf929190620000c3565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200010657805160ff191683800117855562000137565b8280016001018555821562000137579182015b828111156200013657825182559160200191906001019062000119565b5b5090506200014691906200014a565b5090565b6200016f91905b808211156200016b57600081600090555060010162000151565b5090565b90565b6110f280620001826000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a0823114610296578063a457c2d7146102ee578063a9059cbb14610354578063dd62ed3e146103ba578063e0df5b6f146104325761009e565b8063095ea7b3146100a357806318160ddd1461010957806323b872dd1461012757806339509351146101ad5780633c130d9014610213575b600080fd5b6100ef600480360360408110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104ed565b604051808215151515815260200191505060405180910390f35b61011161050b565b6040518082815260200191505060405180910390f35b6101936004803603606081101561013d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610515565b604051808215151515815260200191505060405180910390f35b6101f9600480360360408110156101c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ee565b604051808215151515815260200191505060405180910390f35b61021b6106a1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561025b578082015181840152602081019050610240565b50505050905090810190601f1680156102885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d8600480360360208110156102ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610743565b6040518082815260200191505060405180910390f35b61033a6004803603604081101561030457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061078b565b604051808215151515815260200191505060405180910390f35b6103a06004803603604081101561036a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610858565b604051808215151515815260200191505060405180910390f35b61041c600480360360408110156103d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610876565b6040518082815260200191505060405180910390f35b6104eb6004803603602081101561044857600080fd5b810190808035906020019064010000000081111561046557600080fd5b82018360208201111561047757600080fd5b8035906020019184600183028401116401000000008311171561049957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506108fd565b005b60006105016104fa610909565b8484610911565b6001905092915050565b6000600254905090565b6000610522848484610b08565b6105e38461052e610909565b6105de8560405180606001604052806028815260200161103160289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610594610909565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dbe9092919063ffffffff16565b610911565b600190509392505050565b60006106976105fb610909565b84610692856001600061060c610909565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e7e90919063ffffffff16565b610911565b6001905092915050565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107395780601f1061070e57610100808354040283529160200191610739565b820191906000526020600020905b81548152906001019060200180831161071c57829003601f168201915b5050505050905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061084e610798610909565b84610849856040518060600160405280602581526020016110a260259139600160006107c2610909565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dbe9092919063ffffffff16565b610911565b6001905092915050565b600061086c610865610909565b8484610b08565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61090681610f06565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610997576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061107e6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fe96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b8e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806110596025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fc66023913960400191505060405180910390fd5b610c7f8160405180606001604052806026815260200161100b602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dbe9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d12816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e7e90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610e6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e30578082015181840152602081019050610e15565b50505050905090810190601f168015610e5d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610efc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b8060039080519060200190610f1c929190610f20565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f6157805160ff1916838001178555610f8f565b82800160010185558215610f8f579182015b82811115610f8e578251825591602001919060010190610f73565b5b509050610f9c9190610fa0565b5090565b610fc291905b80821115610fbe576000816000905550600101610fa6565b5090565b9056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a72305820bf6be00556e25009fd3cb951c91ae43bd616092844f1c51077157c209d0e900e0029",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a0823114610296578063a457c2d7146102ee578063a9059cbb14610354578063dd62ed3e146103ba578063e0df5b6f146104325761009e565b8063095ea7b3146100a357806318160ddd1461010957806323b872dd1461012757806339509351146101ad5780633c130d9014610213575b600080fd5b6100ef600480360360408110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104ed565b604051808215151515815260200191505060405180910390f35b61011161050b565b6040518082815260200191505060405180910390f35b6101936004803603606081101561013d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610515565b604051808215151515815260200191505060405180910390f35b6101f9600480360360408110156101c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ee565b604051808215151515815260200191505060405180910390f35b61021b6106a1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561025b578082015181840152602081019050610240565b50505050905090810190601f1680156102885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d8600480360360208110156102ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610743565b6040518082815260200191505060405180910390f35b61033a6004803603604081101561030457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061078b565b604051808215151515815260200191505060405180910390f35b6103a06004803603604081101561036a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610858565b604051808215151515815260200191505060405180910390f35b61041c600480360360408110156103d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610876565b6040518082815260200191505060405180910390f35b6104eb6004803603602081101561044857600080fd5b810190808035906020019064010000000081111561046557600080fd5b82018360208201111561047757600080fd5b8035906020019184600183028401116401000000008311171561049957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506108fd565b005b60006105016104fa610909565b8484610911565b6001905092915050565b6000600254905090565b6000610522848484610b08565b6105e38461052e610909565b6105de8560405180606001604052806028815260200161103160289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610594610909565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dbe9092919063ffffffff16565b610911565b600190509392505050565b60006106976105fb610909565b84610692856001600061060c610909565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e7e90919063ffffffff16565b610911565b6001905092915050565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107395780601f1061070e57610100808354040283529160200191610739565b820191906000526020600020905b81548152906001019060200180831161071c57829003601f168201915b5050505050905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061084e610798610909565b84610849856040518060600160405280602581526020016110a260259139600160006107c2610909565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dbe9092919063ffffffff16565b610911565b6001905092915050565b600061086c610865610909565b8484610b08565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61090681610f06565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610997576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061107e6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fe96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b8e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806110596025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fc66023913960400191505060405180910390fd5b610c7f8160405180606001604052806026815260200161100b602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dbe9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d12816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e7e90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610e6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e30578082015181840152602081019050610e15565b50505050905090810190601f168015610e5d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610efc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b8060039080519060200190610f1c929190610f20565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f6157805160ff1916838001178555610f8f565b82800160010185558215610f8f579182015b82811115610f8e578251825591602001919060010190610f73565b5b509050610f9c9190610fa0565b5090565b610fc291905b80821115610fbe576000816000905550600101610fa6565b5090565b9056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a72305820bf6be00556e25009fd3cb951c91ae43bd616092844f1c51077157c209d0e900e0029",
"sourceMap": "107:288:66:-;;;164:132;8:9:-1;5:2;;;30:1;27;20:12;5:2;164:132:66;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;164:132:66;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;0:372;;164:132:66;;;;;;222:8;373:23:31;386:9;373:12;;;:23;;:::i;:::-;318:85;164:132:66;107:288;;506:94:31;584:9;572;:21;;;;;;;;;;;;:::i;:::-;;506:94;:::o;107:288:66:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;",
"deployedSourceMap": "107:288:66:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;107:288:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:147:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:147:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3104:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3104:300:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3799:207;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3799:207:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;409:91:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;409:91:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1706:108:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4493:258;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4493:258:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2017:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2017:155:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2230:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;302:91:66;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;302:91:66;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;302:91:66;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;302:91:66;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;302:91:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;302:91:66;;;;;;;;;;;;;;;:::i;:::-;;2500:147:120;2565:4;2581:38;2590:12;:10;:12::i;:::-;2604:7;2613:5;2581:8;:38::i;:::-;2636:4;2629:11;;2500:147;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;3104:300::-;3193:4;3209:36;3219:6;3227:9;3238:6;3209:9;:36::i;:::-;3255:121;3264:6;3272:12;:10;:12::i;:::-;3286:89;3324:6;3286:89;;;;;;;;;;;;;;;;;:11;:19;3298:6;3286:19;;;;;;;;;;;;;;;:33;3306:12;:10;:12::i;:::-;3286:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3255:8;:121::i;:::-;3393:4;3386:11;;3104:300;;;;;:::o;3799:207::-;3879:4;3895:83;3904:12;:10;:12::i;:::-;3918:7;3927:50;3966:10;3927:11;:25;3939:12;:10;:12::i;:::-;3927:25;;;;;;;;;;;;;;;:34;3953:7;3927:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3895:8;:83::i;:::-;3995:4;3988:11;;3799:207;;;;:::o;409:91:31:-;452:13;484:9;477:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;409:91;:::o;1706:108:120:-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;4493:258::-;4578:4;4594:129;4603:12;:10;:12::i;:::-;4617:7;4626:96;4665:15;4626:96;;;;;;;;;;;;;;;;;:11;:25;4638:12;:10;:12::i;:::-;4626:25;;;;;;;;;;;;;;;:34;4652:7;4626:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4594:8;:129::i;:::-;4740:4;4733:11;;4493:258;;;;:::o;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;2230:132::-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;302:91:66:-;364:22;377:8;364:12;:22::i;:::-;302:91;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;7344:329:120:-;7453:1;7436:19;;:5;:19;;;;7428:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7533:1;7514:21;;:7;:21;;;;7506:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7615:5;7585:11;:18;7597:5;7585:18;;;;;;;;;;;;;;;:27;7604:7;7585:27;;;;;;;;;;;;;;;:35;;;;7651:7;7635:31;;7644:5;7635:31;;;7660:5;7635:31;;;;;;;;;;;;;;;;;;7344:329;;;:::o;5225:464::-;5340:1;5322:20;;:6;:20;;;;5314:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5423:1;5402:23;;:9;:23;;;;5394:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5496;5518:6;5496:71;;;;;;;;;;;;;;;;;:9;:17;5506:6;5496:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5476:9;:17;5486:6;5476:17;;;;;;;;;;;;;;;:91;;;;5600:32;5625:6;5600:9;:20;5610:9;5600:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5577:9;:20;5587:9;5577:20;;;;;;;;;;;;;;;:55;;;;5664:9;5647:35;;5656:6;5647:35;;;5675:6;5647:35;;;;;;;;;;;;;;;;;;5225:464;;;:::o;1692:187:48:-;1778:7;1810:1;1805;:6;;1813:12;1797:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1797:29:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1836:9;1852:1;1848;:5;1836:17;;1871:1;1864:8;;;1692:187;;;;;:::o;834:176::-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;506:94:31:-;584:9;572;:21;;;;;;;;;;;;:::i;:::-;;506:94;:::o;107:288:66:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
"deployedSourceMap": "107:288:66:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;107:288:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:147:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:147:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3104:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3104:300:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3799:207;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3799:207:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;409:91:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;409:91:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1706:108:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:119;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4493:258;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4493:258:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2017:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2017:155:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2230:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;302:91:66;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;302:91:66;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;302:91:66;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;302:91:66;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;302:91:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;302:91:66;;;;;;;;;;;;;;;:::i;:::-;;2500:147:119;2565:4;2581:38;2590:12;:10;:12::i;:::-;2604:7;2613:5;2581:8;:38::i;:::-;2636:4;2629:11;;2500:147;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;3104:300::-;3193:4;3209:36;3219:6;3227:9;3238:6;3209:9;:36::i;:::-;3255:121;3264:6;3272:12;:10;:12::i;:::-;3286:89;3324:6;3286:89;;;;;;;;;;;;;;;;;:11;:19;3298:6;3286:19;;;;;;;;;;;;;;;:33;3306:12;:10;:12::i;:::-;3286:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3255:8;:121::i;:::-;3393:4;3386:11;;3104:300;;;;;:::o;3799:207::-;3879:4;3895:83;3904:12;:10;:12::i;:::-;3918:7;3927:50;3966:10;3927:11;:25;3939:12;:10;:12::i;:::-;3927:25;;;;;;;;;;;;;;;:34;3953:7;3927:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3895:8;:83::i;:::-;3995:4;3988:11;;3799:207;;;;:::o;409:91:31:-;452:13;484:9;477:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;409:91;:::o;1706:108:119:-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;4493:258::-;4578:4;4594:129;4603:12;:10;:12::i;:::-;4617:7;4626:96;4665:15;4626:96;;;;;;;;;;;;;;;;;:11;:25;4638:12;:10;:12::i;:::-;4626:25;;;;;;;;;;;;;;;:34;4652:7;4626:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4594:8;:129::i;:::-;4740:4;4733:11;;4493:258;;;;:::o;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;2230:132::-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;302:91:66:-;364:22;377:8;364:12;:22::i;:::-;302:91;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;7344:329:119:-;7453:1;7436:19;;:5;:19;;;;7428:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7533:1;7514:21;;:7;:21;;;;7506:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7615:5;7585:11;:18;7597:5;7585:18;;;;;;;;;;;;;;;:27;7604:7;7585:27;;;;;;;;;;;;;;;:35;;;;7651:7;7635:31;;7644:5;7635:31;;;7660:5;7635:31;;;;;;;;;;;;;;;;;;7344:329;;;:::o;5225:464::-;5340:1;5322:20;;:6;:20;;;;5314:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5423:1;5402:23;;:9;:23;;;;5394:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5496;5518:6;5496:71;;;;;;;;;;;;;;;;;:9;:17;5506:6;5496:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5476:9;:17;5486:6;5476:17;;;;;;;;;;;;;;;:91;;;;5600:32;5625:6;5600:9;:20;5610:9;5600:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5577:9;:20;5587:9;5577:20;;;;;;;;;;;;;;;:55;;;;5664:9;5647:35;;5656:6;5647:35;;;5675:6;5647:35;;;;;;;;;;;;;;;;;;5225:464;;;:::o;1844:187:48:-;1930:7;1962:1;1957;:6;;1965:12;1949:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1949:29:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1988:9;2004:1;2000;:5;1988:17;;2023:1;2016:8;;;1844:187;;;;;:::o;834:176::-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;506:94:31:-;584:9;572;:21;;;;;;;;;;;;:::i;:::-;;506:94;:::o;107:288:66:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../token/ERC20/ERC20.sol\";\nimport \"../drafts/ERC1046/ERC20Metadata.sol\";\n\ncontract ERC20MetadataMock is ERC20, ERC20Metadata {\n constructor (string memory tokenURI) public ERC20Metadata(tokenURI) {\n // solhint-disable-previous-line no-empty-blocks\n }\n\n function setTokenURI(string memory tokenURI) public {\n _setTokenURI(tokenURI);\n }\n}\n",

@@ -275,10 +275,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/ERC20MetadataMock.sol",

"ERC20MetadataMock": [
6122
6101
]
},
"id": 6123,
"id": 6102,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6096,
"id": 6075,
"literals": [

@@ -296,6 +296,6 @@ "solidity",

"file": "../token/ERC20/ERC20.sol",
"id": 6097,
"id": 6076,
"nodeType": "ImportDirective",
"scope": 6123,
"sourceUnit": 9920,
"scope": 6102,
"sourceUnit": 9797,
"src": "25:34:66",

@@ -308,6 +308,6 @@ "symbolAliases": [],

"file": "../drafts/ERC1046/ERC20Metadata.sol",
"id": 6098,
"id": 6077,
"nodeType": "ImportDirective",
"scope": 6123,
"sourceUnit": 3367,
"scope": 6102,
"sourceUnit": 3346,
"src": "60:45:66",

@@ -323,13 +323,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 6099,
"id": 6078,
"name": "ERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9919,
"referencedDeclaration": 9796,
"src": "137:5:66",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$9919",
"typeIdentifier": "t_contract$_ERC20_$9796",
"typeString": "contract ERC20"
}
},
"id": 6100,
"id": 6079,
"nodeType": "InheritanceSpecifier",

@@ -342,13 +342,13 @@ "src": "137:5:66"

"contractScope": null,
"id": 6101,
"id": 6080,
"name": "ERC20Metadata",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3366,
"referencedDeclaration": 3345,
"src": "144:13:66",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Metadata_$3366",
"typeIdentifier": "t_contract$_ERC20Metadata_$3345",
"typeString": "contract ERC20Metadata"
}
},
"id": 6102,
"id": 6081,
"nodeType": "InheritanceSpecifier",

@@ -360,5 +360,5 @@ "src": "144:13:66"

26,
3366,
9919,
10269
3345,
9796,
10146
],

@@ -368,8 +368,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 6122,
"id": 6101,
"linearizedBaseContracts": [
6122,
3366,
9919,
10269,
6101,
3345,
9796,
10146,
26

@@ -382,3 +382,3 @@ ],

"body": {
"id": 6110,
"id": 6089,
"nodeType": "Block",

@@ -389,3 +389,3 @@ "src": "232:64:66",

"documentation": null,
"id": 6111,
"id": 6090,
"implemented": true,

@@ -398,7 +398,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 6107,
"id": 6086,
"name": "tokenURI",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6104,
"referencedDeclaration": 6083,
"src": "222:8:66",

@@ -411,13 +411,13 @@ "typeDescriptions": {

],
"id": 6108,
"id": 6087,
"modifierName": {
"argumentTypes": null,
"id": 6106,
"id": 6085,
"name": "ERC20Metadata",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3366,
"referencedDeclaration": 3345,
"src": "208:13:66",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC20Metadata_$3366_$",
"typeIdentifier": "t_type$_t_contract$_ERC20Metadata_$3345_$",
"typeString": "type(contract ERC20Metadata)"

@@ -433,3 +433,3 @@ }

"parameters": {
"id": 6105,
"id": 6084,
"nodeType": "ParameterList",

@@ -439,6 +439,6 @@ "parameters": [

"constant": false,
"id": 6104,
"id": 6083,
"name": "tokenURI",
"nodeType": "VariableDeclaration",
"scope": 6111,
"scope": 6090,
"src": "177:22:66",

@@ -452,3 +452,3 @@ "stateVariable": false,

"typeName": {
"id": 6103,
"id": 6082,
"name": "string",

@@ -469,3 +469,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 6109,
"id": 6088,
"nodeType": "ParameterList",

@@ -475,3 +475,3 @@ "parameters": [],

},
"scope": 6122,
"scope": 6101,
"src": "164:132:66",

@@ -484,3 +484,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 6120,
"id": 6099,
"nodeType": "Block",

@@ -495,7 +495,7 @@ "src": "354:39:66",

"argumentTypes": null,
"id": 6117,
"id": 6096,
"name": "tokenURI",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6113,
"referencedDeclaration": 6092,
"src": "377:8:66",

@@ -515,7 +515,7 @@ "typeDescriptions": {

],
"id": 6116,
"id": 6095,
"name": "_setTokenURI",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3365,
"referencedDeclaration": 3344,
"src": "364:12:66",

@@ -527,3 +527,3 @@ "typeDescriptions": {

},
"id": 6118,
"id": 6097,
"isConstant": false,

@@ -542,3 +542,3 @@ "isLValue": false,

},
"id": 6119,
"id": 6098,
"nodeType": "ExpressionStatement",

@@ -550,3 +550,3 @@ "src": "364:22:66"

"documentation": null,
"id": 6121,
"id": 6100,
"implemented": true,

@@ -558,3 +558,3 @@ "kind": "function",

"parameters": {
"id": 6114,
"id": 6093,
"nodeType": "ParameterList",

@@ -564,6 +564,6 @@ "parameters": [

"constant": false,
"id": 6113,
"id": 6092,
"name": "tokenURI",
"nodeType": "VariableDeclaration",
"scope": 6121,
"scope": 6100,
"src": "323:22:66",

@@ -577,3 +577,3 @@ "stateVariable": false,

"typeName": {
"id": 6112,
"id": 6091,
"name": "string",

@@ -594,3 +594,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 6115,
"id": 6094,
"nodeType": "ParameterList",

@@ -600,3 +600,3 @@ "parameters": [],

},
"scope": 6122,
"scope": 6101,
"src": "302:91:66",

@@ -608,3 +608,3 @@ "stateMutability": "nonpayable",

],
"scope": 6123,
"scope": 6102,
"src": "107:288:66"

@@ -619,10 +619,10 @@ }

"ERC20MetadataMock": [
6122
6101
]
},
"id": 6123,
"id": 6102,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6096,
"id": 6075,
"literals": [

@@ -640,6 +640,6 @@ "solidity",

"file": "../token/ERC20/ERC20.sol",
"id": 6097,
"id": 6076,
"nodeType": "ImportDirective",
"scope": 6123,
"sourceUnit": 9920,
"scope": 6102,
"sourceUnit": 9797,
"src": "25:34:66",

@@ -652,6 +652,6 @@ "symbolAliases": [],

"file": "../drafts/ERC1046/ERC20Metadata.sol",
"id": 6098,
"id": 6077,
"nodeType": "ImportDirective",
"scope": 6123,
"sourceUnit": 3367,
"scope": 6102,
"sourceUnit": 3346,
"src": "60:45:66",

@@ -667,13 +667,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 6099,
"id": 6078,
"name": "ERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9919,
"referencedDeclaration": 9796,
"src": "137:5:66",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$9919",
"typeIdentifier": "t_contract$_ERC20_$9796",
"typeString": "contract ERC20"
}
},
"id": 6100,
"id": 6079,
"nodeType": "InheritanceSpecifier",

@@ -686,13 +686,13 @@ "src": "137:5:66"

"contractScope": null,
"id": 6101,
"id": 6080,
"name": "ERC20Metadata",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3366,
"referencedDeclaration": 3345,
"src": "144:13:66",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Metadata_$3366",
"typeIdentifier": "t_contract$_ERC20Metadata_$3345",
"typeString": "contract ERC20Metadata"
}
},
"id": 6102,
"id": 6081,
"nodeType": "InheritanceSpecifier",

@@ -704,5 +704,5 @@ "src": "144:13:66"

26,
3366,
9919,
10269
3345,
9796,
10146
],

@@ -712,8 +712,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 6122,
"id": 6101,
"linearizedBaseContracts": [
6122,
3366,
9919,
10269,
6101,
3345,
9796,
10146,
26

@@ -726,3 +726,3 @@ ],

"body": {
"id": 6110,
"id": 6089,
"nodeType": "Block",

@@ -733,3 +733,3 @@ "src": "232:64:66",

"documentation": null,
"id": 6111,
"id": 6090,
"implemented": true,

@@ -742,7 +742,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 6107,
"id": 6086,
"name": "tokenURI",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6104,
"referencedDeclaration": 6083,
"src": "222:8:66",

@@ -755,13 +755,13 @@ "typeDescriptions": {

],
"id": 6108,
"id": 6087,
"modifierName": {
"argumentTypes": null,
"id": 6106,
"id": 6085,
"name": "ERC20Metadata",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3366,
"referencedDeclaration": 3345,
"src": "208:13:66",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC20Metadata_$3366_$",
"typeIdentifier": "t_type$_t_contract$_ERC20Metadata_$3345_$",
"typeString": "type(contract ERC20Metadata)"

@@ -777,3 +777,3 @@ }

"parameters": {
"id": 6105,
"id": 6084,
"nodeType": "ParameterList",

@@ -783,6 +783,6 @@ "parameters": [

"constant": false,
"id": 6104,
"id": 6083,
"name": "tokenURI",
"nodeType": "VariableDeclaration",
"scope": 6111,
"scope": 6090,
"src": "177:22:66",

@@ -796,3 +796,3 @@ "stateVariable": false,

"typeName": {
"id": 6103,
"id": 6082,
"name": "string",

@@ -813,3 +813,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 6109,
"id": 6088,
"nodeType": "ParameterList",

@@ -819,3 +819,3 @@ "parameters": [],

},
"scope": 6122,
"scope": 6101,
"src": "164:132:66",

@@ -828,3 +828,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 6120,
"id": 6099,
"nodeType": "Block",

@@ -839,7 +839,7 @@ "src": "354:39:66",

"argumentTypes": null,
"id": 6117,
"id": 6096,
"name": "tokenURI",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6113,
"referencedDeclaration": 6092,
"src": "377:8:66",

@@ -859,7 +859,7 @@ "typeDescriptions": {

],
"id": 6116,
"id": 6095,
"name": "_setTokenURI",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3365,
"referencedDeclaration": 3344,
"src": "364:12:66",

@@ -871,3 +871,3 @@ "typeDescriptions": {

},
"id": 6118,
"id": 6097,
"isConstant": false,

@@ -886,3 +886,3 @@ "isLValue": false,

},
"id": 6119,
"id": 6098,
"nodeType": "ExpressionStatement",

@@ -894,3 +894,3 @@ "src": "364:22:66"

"documentation": null,
"id": 6121,
"id": 6100,
"implemented": true,

@@ -902,3 +902,3 @@ "kind": "function",

"parameters": {
"id": 6114,
"id": 6093,
"nodeType": "ParameterList",

@@ -908,6 +908,6 @@ "parameters": [

"constant": false,
"id": 6113,
"id": 6092,
"name": "tokenURI",
"nodeType": "VariableDeclaration",
"scope": 6121,
"scope": 6100,
"src": "323:22:66",

@@ -921,3 +921,3 @@ "stateVariable": false,

"typeName": {
"id": 6112,
"id": 6091,
"name": "string",

@@ -938,3 +938,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 6115,
"id": 6094,
"nodeType": "ParameterList",

@@ -944,3 +944,3 @@ "parameters": [],

},
"scope": 6122,
"scope": 6101,
"src": "302:91:66",

@@ -952,3 +952,3 @@ "stateMutability": "nonpayable",

],
"scope": 6123,
"scope": 6102,
"src": "107:288:66"

@@ -965,3 +965,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.731Z",
"updatedAt": "2019-08-16T19:32:31.249Z",
"devdoc": {

@@ -968,0 +968,0 @@ "methods": {

@@ -336,7 +336,7 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"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\":\"account\",\"type\":\"address\"}],\"name\":\"removeMinter\",\"outputs\":[],\"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\":\"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\":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\":\"onlyMinterMock\",\"outputs\":[],\"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\":{\"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\":\"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`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/ERC20MintableMock.sol\":\"ERC20MintableMock\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzzr://bd34c1ce05b5b2b3a62fc02e160f6805b1cadd476854664f433c685b2fda8dad\"]},\"/home/frangio/oz/contracts/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0xbe8eef6f2cb4e427f5c5d8a76865ccd06e55a4f1d6671ba312d45bfa705aedbf\",\"urls\":[\"bzzr://946a26eebf5d294534471d07c4dc449ce3123e9fc2994bdfcd99dff1d09cc1af\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/mocks/ERC20MintableMock.sol\":{\"keccak256\":\"0x3f050e05d637791d5031d2f1c63d77ad92785d0d24ebd656403c16a70eafe26b\",\"urls\":[\"bzzr://a584233f20b1191f3a77e3ab453063d37eb1709f7f0334208d7174212e0c03f1\"]},\"/home/frangio/oz/contracts/contracts/mocks/MinterRoleMock.sol\":{\"keccak256\":\"0x210100268eeb248ae06b8ab6421113ad8454d4d9a78aaeced15e8afb0050f556\",\"urls\":[\"bzzr://e99806768487c7f029b07cf3b9cffec9ba638009e07fce9e6e58fea8d527cfb5\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xe694ef04a7c6886b66ff96bcd2f69391584c886f98af4209b1871ae30e9ccc02\",\"urls\":[\"bzzr://492925b0d8de70689bfdc292e7870ca3f67feb106fc0c847c05afc619587b518\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20Mintable.sol\":{\"keccak256\":\"0xa2b957cf89692c504962afb7506999155f83385373f808243246cd5879de5940\",\"urls\":[\"bzzr://812521b94ef1bd30b0a93e14a97a0e79e2bf4cb607aa47c21c8177966a79fd1a\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]}},\"version\":1}",
"bytecode": "0x608060405262000024620000186200002a60201b60201c565b6200003260201b60201c565b62000257565b600033905090565b6200004d8160036200009360201b620013ab1790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b620000a582826200017760201b60201c565b1562000119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806200194a6022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6116e380620002676000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063983b2d561161008c578063a9059cbb11610066578063a9059cbb14610415578063aa271e1a1461047b578063b5dba35b146104d7578063dd62ed3e146104e1576100ea565b8063983b2d561461036157806398650275146103a5578063a457c2d7146103af576100ea565b80633092afd5116100c85780633092afd5146101f9578063395093511461023d57806340c10f19146102a357806370a0823114610309576100ea565b8063095ea7b3146100ef57806318160ddd1461015557806323b872dd14610173575b600080fd5b61013b6004803603604081101561010557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610559565b604051808215151515815260200191505060405180910390f35b61015d610577565b6040518082815260200191505060405180910390f35b6101df6004803603606081101561018957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610581565b604051808215151515815260200191505060405180910390f35b61023b6004803603602081101561020f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061065a565b005b6102896004803603604081101561025357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610666565b604051808215151515815260200191505060405180910390f35b6102ef600480360360408110156102b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610719565b604051808215151515815260200191505060405180910390f35b61034b6004803603602081101561031f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610794565b6040518082815260200191505060405180910390f35b6103a36004803603602081101561037757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107dc565b005b6103ad61084d565b005b6103fb600480360360408110156103c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085f565b604051808215151515815260200191505060405180910390f35b6104616004803603604081101561042b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061092c565b604051808215151515815260200191505060405180910390f35b6104bd6004803603602081101561049157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061094a565b604051808215151515815260200191505060405180910390f35b6104df610967565b005b610543600480360360408110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ce565b6040518082815260200191505060405180910390f35b600061056d610566610a55565b8484610a5d565b6001905092915050565b6000600254905090565b600061058e848484610c54565b61064f8461059a610a55565b61064a8560405180606001604052806028815260200161160060289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610600610a55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0a9092919063ffffffff16565b610a5d565b600190509392505050565b61066381610fca565b50565b600061070f610673610a55565b8461070a8560016000610684610a55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b610a5d565b6001905092915050565b600061072b610726610a55565b61094a565b610780576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806115af6030913960400191505060405180910390fd5b61078a838361105e565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107ec6107e7610a55565b61094a565b610841576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806115af6030913960400191505060405180910390fd5b61084a81611219565b50565b61085d610858610a55565b610fca565b565b600061092261086c610a55565b8461091d856040518060600160405280602581526020016116936025913960016000610896610a55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0a9092919063ffffffff16565b610a5d565b6001905092915050565b6000610940610939610a55565b8484610c54565b6001905092915050565b600061096082600361127390919063ffffffff16565b9050919050565b610977610972610a55565b61094a565b6109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806115af6030913960400191505060405180910390fd5b565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ae3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061166f6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115676022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061164a6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806115446023913960400191505060405180910390fd5b610dcb81604051806060016040528060268152602001611589602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0a9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e5e816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610fb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f7c578082015181840152602081019050610f61565b50505050905090810190601f168015610fa95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b610fd381611351565b50565b600080828401905083811015611054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611101576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61111681600254610fd690919063ffffffff16565b60028190555061116d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b61122d8160036113ab90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806116286022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61136581600361148690919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b6113b58282611273565b15611428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6114908282611273565b6114e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806115df6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a7230582078c6787aadbc2a227dd834347d055d4c6a7512be52cc2c3435f7bdb9d233593d0029526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063983b2d561161008c578063a9059cbb11610066578063a9059cbb14610415578063aa271e1a1461047b578063b5dba35b146104d7578063dd62ed3e146104e1576100ea565b8063983b2d561461036157806398650275146103a5578063a457c2d7146103af576100ea565b80633092afd5116100c85780633092afd5146101f9578063395093511461023d57806340c10f19146102a357806370a0823114610309576100ea565b8063095ea7b3146100ef57806318160ddd1461015557806323b872dd14610173575b600080fd5b61013b6004803603604081101561010557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610559565b604051808215151515815260200191505060405180910390f35b61015d610577565b6040518082815260200191505060405180910390f35b6101df6004803603606081101561018957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610581565b604051808215151515815260200191505060405180910390f35b61023b6004803603602081101561020f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061065a565b005b6102896004803603604081101561025357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610666565b604051808215151515815260200191505060405180910390f35b6102ef600480360360408110156102b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610719565b604051808215151515815260200191505060405180910390f35b61034b6004803603602081101561031f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610794565b6040518082815260200191505060405180910390f35b6103a36004803603602081101561037757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107dc565b005b6103ad61084d565b005b6103fb600480360360408110156103c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085f565b604051808215151515815260200191505060405180910390f35b6104616004803603604081101561042b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061092c565b604051808215151515815260200191505060405180910390f35b6104bd6004803603602081101561049157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061094a565b604051808215151515815260200191505060405180910390f35b6104df610967565b005b610543600480360360408110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ce565b6040518082815260200191505060405180910390f35b600061056d610566610a55565b8484610a5d565b6001905092915050565b6000600254905090565b600061058e848484610c54565b61064f8461059a610a55565b61064a8560405180606001604052806028815260200161160060289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610600610a55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0a9092919063ffffffff16565b610a5d565b600190509392505050565b61066381610fca565b50565b600061070f610673610a55565b8461070a8560016000610684610a55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b610a5d565b6001905092915050565b600061072b610726610a55565b61094a565b610780576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806115af6030913960400191505060405180910390fd5b61078a838361105e565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107ec6107e7610a55565b61094a565b610841576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806115af6030913960400191505060405180910390fd5b61084a81611219565b50565b61085d610858610a55565b610fca565b565b600061092261086c610a55565b8461091d856040518060600160405280602581526020016116936025913960016000610896610a55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0a9092919063ffffffff16565b610a5d565b6001905092915050565b6000610940610939610a55565b8484610c54565b6001905092915050565b600061096082600361127390919063ffffffff16565b9050919050565b610977610972610a55565b61094a565b6109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806115af6030913960400191505060405180910390fd5b565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ae3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061166f6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115676022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061164a6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806115446023913960400191505060405180910390fd5b610dcb81604051806060016040528060268152602001611589602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0a9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e5e816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610fb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f7c578082015181840152602081019050610f61565b50505050905090810190601f168015610fa95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b610fd381611351565b50565b600080828401905083811015611054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611101576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61111681600254610fd690919063ffffffff16565b60028190555061116d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b61122d8160036113ab90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806116286022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61136581600361148690919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b6113b58282611273565b15611428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6114908282611273565b6114e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806115df6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a7230582078c6787aadbc2a227dd834347d055d4c6a7512be52cc2c3435f7bdb9d233593d0029",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"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\":\"account\",\"type\":\"address\"}],\"name\":\"removeMinter\",\"outputs\":[],\"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\":\"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\":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\":\"onlyMinterMock\",\"outputs\":[],\"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\":{\"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\":\"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`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/ERC20MintableMock.sol\":\"ERC20MintableMock\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzzr://bd34c1ce05b5b2b3a62fc02e160f6805b1cadd476854664f433c685b2fda8dad\"]},\"/home/frangio/oz/contracts/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0xbe8eef6f2cb4e427f5c5d8a76865ccd06e55a4f1d6671ba312d45bfa705aedbf\",\"urls\":[\"bzzr://946a26eebf5d294534471d07c4dc449ce3123e9fc2994bdfcd99dff1d09cc1af\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/mocks/ERC20MintableMock.sol\":{\"keccak256\":\"0x3f050e05d637791d5031d2f1c63d77ad92785d0d24ebd656403c16a70eafe26b\",\"urls\":[\"bzzr://a584233f20b1191f3a77e3ab453063d37eb1709f7f0334208d7174212e0c03f1\"]},\"/home/frangio/oz/contracts/contracts/mocks/MinterRoleMock.sol\":{\"keccak256\":\"0x210100268eeb248ae06b8ab6421113ad8454d4d9a78aaeced15e8afb0050f556\",\"urls\":[\"bzzr://e99806768487c7f029b07cf3b9cffec9ba638009e07fce9e6e58fea8d527cfb5\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xe694ef04a7c6886b66ff96bcd2f69391584c886f98af4209b1871ae30e9ccc02\",\"urls\":[\"bzzr://492925b0d8de70689bfdc292e7870ca3f67feb106fc0c847c05afc619587b518\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20Mintable.sol\":{\"keccak256\":\"0xa2b957cf89692c504962afb7506999155f83385373f808243246cd5879de5940\",\"urls\":[\"bzzr://812521b94ef1bd30b0a93e14a97a0e79e2bf4cb607aa47c21c8177966a79fd1a\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]}},\"version\":1}",
"bytecode": "0x608060405262000024620000186200002a60201b60201c565b6200003260201b60201c565b62000257565b600033905090565b6200004d8160036200009360201b620013ab1790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b620000a582826200017760201b60201c565b1562000119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806200194a6022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6116e380620002676000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063983b2d561161008c578063a9059cbb11610066578063a9059cbb14610415578063aa271e1a1461047b578063b5dba35b146104d7578063dd62ed3e146104e1576100ea565b8063983b2d561461036157806398650275146103a5578063a457c2d7146103af576100ea565b80633092afd5116100c85780633092afd5146101f9578063395093511461023d57806340c10f19146102a357806370a0823114610309576100ea565b8063095ea7b3146100ef57806318160ddd1461015557806323b872dd14610173575b600080fd5b61013b6004803603604081101561010557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610559565b604051808215151515815260200191505060405180910390f35b61015d610577565b6040518082815260200191505060405180910390f35b6101df6004803603606081101561018957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610581565b604051808215151515815260200191505060405180910390f35b61023b6004803603602081101561020f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061065a565b005b6102896004803603604081101561025357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610666565b604051808215151515815260200191505060405180910390f35b6102ef600480360360408110156102b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610719565b604051808215151515815260200191505060405180910390f35b61034b6004803603602081101561031f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610794565b6040518082815260200191505060405180910390f35b6103a36004803603602081101561037757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107dc565b005b6103ad61084d565b005b6103fb600480360360408110156103c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085f565b604051808215151515815260200191505060405180910390f35b6104616004803603604081101561042b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061092c565b604051808215151515815260200191505060405180910390f35b6104bd6004803603602081101561049157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061094a565b604051808215151515815260200191505060405180910390f35b6104df610967565b005b610543600480360360408110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ce565b6040518082815260200191505060405180910390f35b600061056d610566610a55565b8484610a5d565b6001905092915050565b6000600254905090565b600061058e848484610c54565b61064f8461059a610a55565b61064a8560405180606001604052806028815260200161160060289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610600610a55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0a9092919063ffffffff16565b610a5d565b600190509392505050565b61066381610fca565b50565b600061070f610673610a55565b8461070a8560016000610684610a55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b610a5d565b6001905092915050565b600061072b610726610a55565b61094a565b610780576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806115af6030913960400191505060405180910390fd5b61078a838361105e565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107ec6107e7610a55565b61094a565b610841576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806115af6030913960400191505060405180910390fd5b61084a81611219565b50565b61085d610858610a55565b610fca565b565b600061092261086c610a55565b8461091d856040518060600160405280602581526020016116936025913960016000610896610a55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0a9092919063ffffffff16565b610a5d565b6001905092915050565b6000610940610939610a55565b8484610c54565b6001905092915050565b600061096082600361127390919063ffffffff16565b9050919050565b610977610972610a55565b61094a565b6109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806115af6030913960400191505060405180910390fd5b565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ae3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061166f6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115676022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061164a6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806115446023913960400191505060405180910390fd5b610dcb81604051806060016040528060268152602001611589602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0a9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e5e816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610fb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f7c578082015181840152602081019050610f61565b50505050905090810190601f168015610fa95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b610fd381611351565b50565b600080828401905083811015611054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611101576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61111681600254610fd690919063ffffffff16565b60028190555061116d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b61122d8160036113ab90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806116286022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61136581600361148690919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b6113b58282611273565b15611428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6114908282611273565b6114e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806115df6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a72305820fbbb937d5484b1a285b527e098056e4d7f43727176f3d9f356d6458951cf51770029526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063983b2d561161008c578063a9059cbb11610066578063a9059cbb14610415578063aa271e1a1461047b578063b5dba35b146104d7578063dd62ed3e146104e1576100ea565b8063983b2d561461036157806398650275146103a5578063a457c2d7146103af576100ea565b80633092afd5116100c85780633092afd5146101f9578063395093511461023d57806340c10f19146102a357806370a0823114610309576100ea565b8063095ea7b3146100ef57806318160ddd1461015557806323b872dd14610173575b600080fd5b61013b6004803603604081101561010557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610559565b604051808215151515815260200191505060405180910390f35b61015d610577565b6040518082815260200191505060405180910390f35b6101df6004803603606081101561018957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610581565b604051808215151515815260200191505060405180910390f35b61023b6004803603602081101561020f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061065a565b005b6102896004803603604081101561025357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610666565b604051808215151515815260200191505060405180910390f35b6102ef600480360360408110156102b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610719565b604051808215151515815260200191505060405180910390f35b61034b6004803603602081101561031f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610794565b6040518082815260200191505060405180910390f35b6103a36004803603602081101561037757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107dc565b005b6103ad61084d565b005b6103fb600480360360408110156103c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085f565b604051808215151515815260200191505060405180910390f35b6104616004803603604081101561042b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061092c565b604051808215151515815260200191505060405180910390f35b6104bd6004803603602081101561049157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061094a565b604051808215151515815260200191505060405180910390f35b6104df610967565b005b610543600480360360408110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ce565b6040518082815260200191505060405180910390f35b600061056d610566610a55565b8484610a5d565b6001905092915050565b6000600254905090565b600061058e848484610c54565b61064f8461059a610a55565b61064a8560405180606001604052806028815260200161160060289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610600610a55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0a9092919063ffffffff16565b610a5d565b600190509392505050565b61066381610fca565b50565b600061070f610673610a55565b8461070a8560016000610684610a55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b610a5d565b6001905092915050565b600061072b610726610a55565b61094a565b610780576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806115af6030913960400191505060405180910390fd5b61078a838361105e565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107ec6107e7610a55565b61094a565b610841576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806115af6030913960400191505060405180910390fd5b61084a81611219565b50565b61085d610858610a55565b610fca565b565b600061092261086c610a55565b8461091d856040518060600160405280602581526020016116936025913960016000610896610a55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0a9092919063ffffffff16565b610a5d565b6001905092915050565b6000610940610939610a55565b8484610c54565b6001905092915050565b600061096082600361127390919063ffffffff16565b9050919050565b610977610972610a55565b61094a565b6109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806115af6030913960400191505060405180910390fd5b565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ae3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061166f6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115676022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061164a6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806115446023913960400191505060405180910390fd5b610dcb81604051806060016040528060268152602001611589602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0a9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e5e816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610fb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f7c578082015181840152602081019050610f61565b50505050905090810190601f168015610fa95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b610fd381611351565b50565b600080828401905083811015611054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611101576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61111681600254610fd690919063ffffffff16565b60028190555061116d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b61122d8160036113ab90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806116286022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61136581600361148690919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b6113b58282611273565b15611428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6114908282611273565b6114e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806115df6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a72305820fbbb937d5484b1a285b527e098056e4d7f43727176f3d9f356d6458951cf51770029",
"sourceMap": "100:116:67:-;;;318:24:10;329:12;:10;;;:12;;:::i;:::-;318:10;;;:24;;:::i;:::-;100:116:67;;791:88:0;836:7;862:10;855:17;;791:88;:::o;786:119:10:-;842:21;855:7;842:8;:12;;;;;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;260:175:8:-;337:18;341:4;347:7;337:3;;;:18;;:::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;779:200::-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;100:116:67:-;;;;;;;",
"deployedSourceMap": "100:116:67:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;100:116:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:147:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:147:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3104:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3104:300:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;111:85:89;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;111:85:89;;;;;;;;;;;;;;;;;;;:::i;:::-;;3799:207:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3799:207:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;502:140:124;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;502:140:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1706:108:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;607:90:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;607:90:10;;;;;;;;;;;;;;;;;;;:::i;:::-;;703:77;;;:::i;:::-;;4493:258:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4493:258:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2017:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2017:155:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;494:107:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;494:107:10;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;202:113:89;;;:::i;:::-;;2230:132:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2500:147;2565:4;2581:38;2590:12;:10;:12::i;:::-;2604:7;2613:5;2581:8;:38::i;:::-;2636:4;2629:11;;2500:147;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;3104:300::-;3193:4;3209:36;3219:6;3227:9;3238:6;3209:9;:36::i;:::-;3255:121;3264:6;3272:12;:10;:12::i;:::-;3286:89;3324:6;3286:89;;;;;;;;;;;;;;;;;:11;:19;3298:6;3286:19;;;;;;;;;;;;;;;:33;3306:12;:10;:12::i;:::-;3286:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3255:8;:121::i;:::-;3393:4;3386:11;;3104:300;;;;;:::o;111:85:89:-;167:22;181:7;167:13;:22::i;:::-;111:85;:::o;3799:207:120:-;3879:4;3895:83;3904:12;:10;:12::i;:::-;3918:7;3927:50;3966:10;3927:11;:25;3939:12;:10;:12::i;:::-;3927:25;;;;;;;;;;;;;;;:34;3953:7;3927:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3895:8;:83::i;:::-;3995:4;3988:11;;3799:207;;;;:::o;502:140:124:-;576:4;395:22:10;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;592:22:124;598:7;607:6;592:5;:22::i;:::-;631:4;624:11;;502:140;;;;:::o;1706:108:120:-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;607:90:10:-;395:22;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:19;682:7;671:10;:19::i;:::-;607:90;:::o;703:77::-;746:27;760:12;:10;:12::i;:::-;746:13;:27::i;:::-;703:77::o;4493:258:120:-;4578:4;4594:129;4603:12;:10;:12::i;:::-;4617:7;4626:96;4665:15;4626:96;;;;;;;;;;;;;;;;;:11;:25;4638:12;:10;:12::i;:::-;4626:25;;;;;;;;;;;;;;;:34;4652:7;4626:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4594:8;:129::i;:::-;4740:4;4733:11;;4493:258;;;;:::o;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;494:107:10:-;550:4;573:21;586:7;573:8;:12;;:21;;;;:::i;:::-;566:28;;494:107;;;:::o;202:113:89:-;395:22:10;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;202:113:89:o;2230:132:120:-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;7344:329:120:-;7453:1;7436:19;;:5;:19;;;;7428:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7533:1;7514:21;;:7;:21;;;;7506:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7615:5;7585:11;:18;7597:5;7585:18;;;;;;;;;;;;;;;:27;7604:7;7585:27;;;;;;;;;;;;;;;:35;;;;7651:7;7635:31;;7644:5;7635:31;;;7660:5;7635:31;;;;;;;;;;;;;;;;;;7344:329;;;:::o;5225:464::-;5340:1;5322:20;;:6;:20;;;;5314:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5423:1;5402:23;;:9;:23;;;;5394:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5496;5518:6;5496:71;;;;;;;;;;;;;;;;;:9;:17;5506:6;5496:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5476:9;:17;5486:6;5476:17;;;;;;;;;;;;;;;:91;;;;5600:32;5625:6;5600:9;:20;5610:9;5600:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5577:9;:20;5587:9;5577:20;;;;;;;;;;;;;;;:55;;;;5664:9;5647:35;;5656:6;5647:35;;;5675:6;5647:35;;;;;;;;;;;;;;;;;;5225:464;;;:::o;1692:187:48:-;1778:7;1810:1;1805;:6;;1813:12;1797:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1797:29:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1836:9;1852:1;1848;:5;1836:17;;1871:1;1864:8;;;1692:187;;;;;:::o;394:94:89:-;453:28;473:7;453:19;:28::i;:::-;394:94;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;5959:302:120:-;6053:1;6034:21;;:7;:21;;;;6026:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6117:24;6134:6;6117:12;;:16;;:24;;;;:::i;:::-;6102:12;:39;;;;6172:30;6195:6;6172:9;:18;6182:7;6172:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;6151:9;:18;6161:7;6151:18;;;;;;;;;;;;;;;:51;;;;6238:7;6217:37;;6234:1;6217:37;;;6247:6;6217:37;;;;;;;;;;;;;;;;;;5959:302;;:::o;786:119:10:-;842:21;855:7;842:8;:12;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;779:200:8:-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;911:127:10:-;970:24;986:7;970:8;:15;;:24;;;;:::i;:::-;1023:7;1009:22;;;;;;;;;;;;911:127;:::o;260:175:8:-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;678:5;655:4;:11;;:20;667:7;655:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;510:180;;:::o",
"deployedSourceMap": "100:116:67:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;100:116:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:147:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:147:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3104:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3104:300:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;111:85:89;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;111:85:89;;;;;;;;;;;;;;;;;;;:::i;:::-;;3799:207:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3799:207:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;502:140:123;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;502:140:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1706:108:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:119;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;607:90:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;607:90:10;;;;;;;;;;;;;;;;;;;:::i;:::-;;703:77;;;:::i;:::-;;4493:258:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4493:258:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2017:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2017:155:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;494:107:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;494:107:10;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;202:113:89;;;:::i;:::-;;2230:132:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2500:147;2565:4;2581:38;2590:12;:10;:12::i;:::-;2604:7;2613:5;2581:8;:38::i;:::-;2636:4;2629:11;;2500:147;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;3104:300::-;3193:4;3209:36;3219:6;3227:9;3238:6;3209:9;:36::i;:::-;3255:121;3264:6;3272:12;:10;:12::i;:::-;3286:89;3324:6;3286:89;;;;;;;;;;;;;;;;;:11;:19;3298:6;3286:19;;;;;;;;;;;;;;;:33;3306:12;:10;:12::i;:::-;3286:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3255:8;:121::i;:::-;3393:4;3386:11;;3104:300;;;;;:::o;111:85:89:-;167:22;181:7;167:13;:22::i;:::-;111:85;:::o;3799:207:119:-;3879:4;3895:83;3904:12;:10;:12::i;:::-;3918:7;3927:50;3966:10;3927:11;:25;3939:12;:10;:12::i;:::-;3927:25;;;;;;;;;;;;;;;:34;3953:7;3927:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3895:8;:83::i;:::-;3995:4;3988:11;;3799:207;;;;:::o;502:140:123:-;576:4;395:22:10;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;592:22:123;598:7;607:6;592:5;:22::i;:::-;631:4;624:11;;502:140;;;;:::o;1706:108:119:-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;607:90:10:-;395:22;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:19;682:7;671:10;:19::i;:::-;607:90;:::o;703:77::-;746:27;760:12;:10;:12::i;:::-;746:13;:27::i;:::-;703:77::o;4493:258:119:-;4578:4;4594:129;4603:12;:10;:12::i;:::-;4617:7;4626:96;4665:15;4626:96;;;;;;;;;;;;;;;;;:11;:25;4638:12;:10;:12::i;:::-;4626:25;;;;;;;;;;;;;;;:34;4652:7;4626:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4594:8;:129::i;:::-;4740:4;4733:11;;4493:258;;;;:::o;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;494:107:10:-;550:4;573:21;586:7;573:8;:12;;:21;;;;:::i;:::-;566:28;;494:107;;;:::o;202:113:89:-;395:22:10;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;202:113:89:o;2230:132:119:-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;7344:329:119:-;7453:1;7436:19;;:5;:19;;;;7428:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7533:1;7514:21;;:7;:21;;;;7506:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7615:5;7585:11;:18;7597:5;7585:18;;;;;;;;;;;;;;;:27;7604:7;7585:27;;;;;;;;;;;;;;;:35;;;;7651:7;7635:31;;7644:5;7635:31;;;7660:5;7635:31;;;;;;;;;;;;;;;;;;7344:329;;;:::o;5225:464::-;5340:1;5322:20;;:6;:20;;;;5314:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5423:1;5402:23;;:9;:23;;;;5394:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5496;5518:6;5496:71;;;;;;;;;;;;;;;;;:9;:17;5506:6;5496:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5476:9;:17;5486:6;5476:17;;;;;;;;;;;;;;;:91;;;;5600:32;5625:6;5600:9;:20;5610:9;5600:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5577:9;:20;5587:9;5577:20;;;;;;;;;;;;;;;:55;;;;5664:9;5647:35;;5656:6;5647:35;;;5675:6;5647:35;;;;;;;;;;;;;;;;;;5225:464;;;:::o;1844:187:48:-;1930:7;1962:1;1957;:6;;1965:12;1949:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1949:29:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1988:9;2004:1;2000;:5;1988:17;;2023:1;2016:8;;;1844:187;;;;;:::o;394:94:89:-;453:28;473:7;453:19;:28::i;:::-;394:94;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;5959:302:119:-;6053:1;6034:21;;:7;:21;;;;6026:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6117:24;6134:6;6117:12;;:16;;:24;;;;:::i;:::-;6102:12;:39;;;;6172:30;6195:6;6172:9;:18;6182:7;6172:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;6151:9;:18;6161:7;6151:18;;;;;;;;;;;;;;;:51;;;;6238:7;6217:37;;6234:1;6217:37;;;6247:6;6217:37;;;;;;;;;;;;;;;;;;5959:302;;:::o;786:119:10:-;842:21;855:7;842:8;:12;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;779:200:8:-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;911:127:10:-;970:24;986:7;970:8;:15;;:24;;;;:::i;:::-;1023:7;1009:22;;;;;;;;;;;;911:127;:::o;260:175:8:-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;678:5;655:4;:11;;:20;667:7;655:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;510:180;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../token/ERC20/ERC20Mintable.sol\";\nimport \"./MinterRoleMock.sol\";\n\ncontract ERC20MintableMock is ERC20Mintable, MinterRoleMock {\n // solhint-disable-previous-line no-empty-blocks\n}\n",

@@ -348,10 +348,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/ERC20MintableMock.sol",

"ERC20MintableMock": [
6131
6110
]
},
"id": 6132,
"id": 6111,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6124,
"id": 6103,
"literals": [

@@ -369,6 +369,6 @@ "solidity",

"file": "../token/ERC20/ERC20Mintable.sol",
"id": 6125,
"id": 6104,
"nodeType": "ImportDirective",
"scope": 6132,
"sourceUnit": 10099,
"scope": 6111,
"sourceUnit": 9976,
"src": "25:42:67",

@@ -381,6 +381,6 @@ "symbolAliases": [],

"file": "./MinterRoleMock.sol",
"id": 6126,
"id": 6105,
"nodeType": "ImportDirective",
"scope": 6132,
"sourceUnit": 7458,
"scope": 6111,
"sourceUnit": 7435,
"src": "68:30:67",

@@ -396,13 +396,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 6127,
"id": 6106,
"name": "ERC20Mintable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10098,
"referencedDeclaration": 9975,
"src": "130:13:67",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Mintable_$10098",
"typeIdentifier": "t_contract$_ERC20Mintable_$9975",
"typeString": "contract ERC20Mintable"
}
},
"id": 6128,
"id": 6107,
"nodeType": "InheritanceSpecifier",

@@ -415,13 +415,13 @@ "src": "130:13:67"

"contractScope": null,
"id": 6129,
"id": 6108,
"name": "MinterRoleMock",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 7457,
"referencedDeclaration": 7434,
"src": "145:14:67",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MinterRoleMock_$7457",
"typeIdentifier": "t_contract$_MinterRoleMock_$7434",
"typeString": "contract MinterRoleMock"
}
},
"id": 6130,
"id": 6109,
"nodeType": "InheritanceSpecifier",

@@ -433,7 +433,7 @@ "src": "145:14:67"

26,
1423,
7457,
9919,
10098,
10269
1402,
7434,
9796,
9975,
10146
],

@@ -443,10 +443,10 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 6131,
"id": 6110,
"linearizedBaseContracts": [
6131,
7457,
10098,
1423,
9919,
10269,
6110,
7434,
9975,
1402,
9796,
10146,
26

@@ -457,3 +457,3 @@ ],

"nodes": [],
"scope": 6132,
"scope": 6111,
"src": "100:116:67"

@@ -468,10 +468,10 @@ }

"ERC20MintableMock": [
6131
6110
]
},
"id": 6132,
"id": 6111,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6124,
"id": 6103,
"literals": [

@@ -489,6 +489,6 @@ "solidity",

"file": "../token/ERC20/ERC20Mintable.sol",
"id": 6125,
"id": 6104,
"nodeType": "ImportDirective",
"scope": 6132,
"sourceUnit": 10099,
"scope": 6111,
"sourceUnit": 9976,
"src": "25:42:67",

@@ -501,6 +501,6 @@ "symbolAliases": [],

"file": "./MinterRoleMock.sol",
"id": 6126,
"id": 6105,
"nodeType": "ImportDirective",
"scope": 6132,
"sourceUnit": 7458,
"scope": 6111,
"sourceUnit": 7435,
"src": "68:30:67",

@@ -516,13 +516,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 6127,
"id": 6106,
"name": "ERC20Mintable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10098,
"referencedDeclaration": 9975,
"src": "130:13:67",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Mintable_$10098",
"typeIdentifier": "t_contract$_ERC20Mintable_$9975",
"typeString": "contract ERC20Mintable"
}
},
"id": 6128,
"id": 6107,
"nodeType": "InheritanceSpecifier",

@@ -535,13 +535,13 @@ "src": "130:13:67"

"contractScope": null,
"id": 6129,
"id": 6108,
"name": "MinterRoleMock",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 7457,
"referencedDeclaration": 7434,
"src": "145:14:67",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MinterRoleMock_$7457",
"typeIdentifier": "t_contract$_MinterRoleMock_$7434",
"typeString": "contract MinterRoleMock"
}
},
"id": 6130,
"id": 6109,
"nodeType": "InheritanceSpecifier",

@@ -553,7 +553,7 @@ "src": "145:14:67"

26,
1423,
7457,
9919,
10098,
10269
1402,
7434,
9796,
9975,
10146
],

@@ -563,10 +563,10 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 6131,
"id": 6110,
"linearizedBaseContracts": [
6131,
7457,
10098,
1423,
9919,
10269,
6110,
7434,
9975,
1402,
9796,
10146,
26

@@ -577,3 +577,3 @@ ],

"nodes": [],
"scope": 6132,
"scope": 6111,
"src": "100:116:67"

@@ -590,3 +590,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.732Z",
"updatedAt": "2019-08-16T19:32:31.249Z",
"devdoc": {

@@ -593,0 +593,0 @@ "methods": {

@@ -416,3 +416,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"tokenURI\",\"type\":\"string\"}],\"name\":\"mintWithTokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"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\":\"to\",\"type\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"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\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"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\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"ERC721 minting logic with metadata.\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Approves another address to transfer the given token ID The zero address indicates there is no approved address. There can only be one approved address per token at a given time. Can only be called by the token owner or an approved operator.\",\"params\":{\"to\":\"address to be approved for the given token ID\",\"tokenId\":\"uint256 ID of the token to be approved\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"owner\":\"address to query the balance of\"},\"return\":\"uint256 representing the amount owned by the passed address\"},\"getApproved(uint256)\":{\"details\":\"Gets the approved address for a token ID, or zero if no address set Reverts if the token ID does not exist.\",\"params\":{\"tokenId\":\"uint256 ID of the token to query the approval of\"},\"return\":\"address currently approved for the given token ID\"},\"isApprovedForAll(address,address)\":{\"details\":\"Tells whether an operator is approved by a given owner.\",\"params\":{\"operator\":\"operator address which you want to query the approval of\",\"owner\":\"owner address which you want to query the approval of\"},\"return\":\"bool whether the given operator is approved by the given owner\"},\"mintWithTokenURI(address,uint256,string)\":{\"details\":\"Function to mint tokens.\",\"params\":{\"to\":\"The address that will receive the minted tokens.\",\"tokenId\":\"The token id to mint.\",\"tokenURI\":\"The token URI of the minted token.\"},\"return\":\"A boolean that indicates if the operation was successful.\"},\"name()\":{\"details\":\"Gets the token name.\",\"return\":\"string representing the token name\"},\"ownerOf(uint256)\":{\"details\":\"Gets the owner of the specified token ID.\",\"params\":{\"tokenId\":\"uint256 ID of the token to query the owner of\"},\"return\":\"address currently marked as the owner of the given token ID\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers the ownership of a given token ID to another address If the target address is a contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer, and return the magic value `bytes4(keccak256(\\\"onERC721Received(address,address,uint256,bytes)\\\"))`; otherwise, the transfer is reverted. Requires the msg.sender to be the owner, approved, or operator\",\"params\":{\"from\":\"current owner of the token\",\"to\":\"address to receive the ownership of the given token ID\",\"tokenId\":\"uint256 ID of the token to be transferred\"}},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers the ownership of a given token ID to another address If the target address is a contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer, and return the magic value `bytes4(keccak256(\\\"onERC721Received(address,address,uint256,bytes)\\\"))`; otherwise, the transfer is reverted. Requires the _msgSender() to be the owner, approved, or operator\",\"params\":{\"_data\":\"bytes data to send along with a safe transfer check\",\"from\":\"current owner of the token\",\"to\":\"address to receive the ownership of the given token ID\",\"tokenId\":\"uint256 ID of the token to be transferred\"}},\"setApprovalForAll(address,bool)\":{\"details\":\"Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf.\",\"params\":{\"approved\":\"representing the status of the approval to be set\",\"to\":\"operator address to set the approval\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"Gets the token symbol.\",\"return\":\"string representing the token symbol\"},\"tokenURI(uint256)\":{\"details\":\"Returns an URI for a given token ID. Throws if the token ID does not exist. May return an empty string.\",\"params\":{\"tokenId\":\"uint256 ID of the token to query\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers the ownership of a given token ID to another address. Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requires the msg.sender to be the owner, approved, or operator.\",\"params\":{\"from\":\"current owner of the token\",\"to\":\"address to receive the ownership of the given token ID\",\"tokenId\":\"uint256 ID of the token to be transferred\"}}},\"title\":\"ERC721MetadataMintable\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/token/ERC721/ERC721MetadataMintable.sol\":\"ERC721MetadataMintable\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzzr://bd34c1ce05b5b2b3a62fc02e160f6805b1cadd476854664f433c685b2fda8dad\"]},\"/home/frangio/oz/contracts/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0xbe8eef6f2cb4e427f5c5d8a76865ccd06e55a4f1d6671ba312d45bfa705aedbf\",\"urls\":[\"bzzr://946a26eebf5d294534471d07c4dc449ce3123e9fc2994bdfcd99dff1d09cc1af\"]},\"/home/frangio/oz/contracts/contracts/drafts/Counters.sol\":{\"keccak256\":\"0xf1267d23aae72ba9bef7bbef542a658645e1e2a125d107978a0907f6693d43a1\",\"urls\":[\"bzzr://da1a56c4891c4d01514d16a3d5535ca00ba5754ea23a5b9f59be788b8e99ce92\"]},\"/home/frangio/oz/contracts/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x01aedbf24e121a744262e04c7815b2a4c8ce604dee4829c5cff00943a594ccf3\",\"urls\":[\"bzzr://07dffd4225b87bb0aa8d02cfdb04640c2e02e59b35143accd0dd757775449c61\"]},\"/home/frangio/oz/contracts/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xe0ed10f53955c35eecb02724538650a155aa940be3f0a54cd3bde6c6b0c6e48c\",\"urls\":[\"bzzr://14f0ef90a240b2aca847fe1489b10965e04ba16cf221f52ed6470d0cad291f9d\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x250605d58768f7b91ca896baa3001f0109d1c2dd071e97edfd6d9c0ca354a49a\",\"urls\":[\"bzzr://9e2f855cbfc319721a34811ad7881c3b59a5ad5cf63bd8b219dc1a36dde9b3e3\"]},\"/home/frangio/oz/contracts/contracts/token/ERC721/ERC721Metadata.sol\":{\"keccak256\":\"0xb62b21b93eaf635c372306f05e273a404ae263d14c4e1e4217daf731254edc84\",\"urls\":[\"bzzr://79fca89f6d5481c322917f7c1e9037e98f7a97f8002611ae67f5df36b14d411e\"]},\"/home/frangio/oz/contracts/contracts/token/ERC721/ERC721MetadataMintable.sol\":{\"keccak256\":\"0xbd9b003914fb0188bfeb7a97ae50c1d02093ba58a9c197dd80b667bf2c2c6f5c\",\"urls\":[\"bzzr://15c15c4b705c5902caccc7da889a2614893c86dff1881e698818ced007fae4d8\"]},\"/home/frangio/oz/contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x680c11bc8173eef7d5db843baaf64ce499476de2c172f6aea631dbee54bcd2e6\",\"urls\":[\"bzzr://8a586d8fd1e36ecb1bebccdd5969e38fbf7d435cf9703ffc9647be8c97bf0d31\"]},\"/home/frangio/oz/contracts/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0x2b2b99dc7fe8fcd1f9427d00822b99cbc683dc21f5dd7532bd7e2281fd2c2ca2\",\"urls\":[\"bzzr://b89c69b072072e7fa1c8da973f82c7b28a64fb6bdc1e47626fedc89050ae783c\"]},\"/home/frangio/oz/contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x042048c375daca04b31e31c91bbae912b84b5eb818c4e31b2deb530fd2305342\",\"urls\":[\"bzzr://2f8b9c142d30b43eab7b77dbcc632a51987eeb62371777d765e9311c0b3c4c13\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xe0812b2b05e37bf0dc866f8ba0a1a36d6dd006ac5b02bfde80e820a2a9e804b8\",\"urls\":[\"bzzr://7010caa641157fce5262c47d6cf10c9d6a6f0094fa327485c4fcf70989ec4532\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"tokenURI\",\"type\":\"string\"}],\"name\":\"mintWithTokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"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\":\"to\",\"type\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"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\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"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\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"ERC721 minting logic with metadata.\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Approves another address to transfer the given token ID The zero address indicates there is no approved address. There can only be one approved address per token at a given time. Can only be called by the token owner or an approved operator.\",\"params\":{\"to\":\"address to be approved for the given token ID\",\"tokenId\":\"uint256 ID of the token to be approved\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"owner\":\"address to query the balance of\"},\"return\":\"uint256 representing the amount owned by the passed address\"},\"getApproved(uint256)\":{\"details\":\"Gets the approved address for a token ID, or zero if no address set Reverts if the token ID does not exist.\",\"params\":{\"tokenId\":\"uint256 ID of the token to query the approval of\"},\"return\":\"address currently approved for the given token ID\"},\"isApprovedForAll(address,address)\":{\"details\":\"Tells whether an operator is approved by a given owner.\",\"params\":{\"operator\":\"operator address which you want to query the approval of\",\"owner\":\"owner address which you want to query the approval of\"},\"return\":\"bool whether the given operator is approved by the given owner\"},\"mintWithTokenURI(address,uint256,string)\":{\"details\":\"Function to mint tokens.\",\"params\":{\"to\":\"The address that will receive the minted tokens.\",\"tokenId\":\"The token id to mint.\",\"tokenURI\":\"The token URI of the minted token.\"},\"return\":\"A boolean that indicates if the operation was successful.\"},\"name()\":{\"details\":\"Gets the token name.\",\"return\":\"string representing the token name\"},\"ownerOf(uint256)\":{\"details\":\"Gets the owner of the specified token ID.\",\"params\":{\"tokenId\":\"uint256 ID of the token to query the owner of\"},\"return\":\"address currently marked as the owner of the given token ID\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers the ownership of a given token ID to another address If the target address is a contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer, and return the magic value `bytes4(keccak256(\\\"onERC721Received(address,address,uint256,bytes)\\\"))`; otherwise, the transfer is reverted. Requires the msg.sender to be the owner, approved, or operator\",\"params\":{\"from\":\"current owner of the token\",\"to\":\"address to receive the ownership of the given token ID\",\"tokenId\":\"uint256 ID of the token to be transferred\"}},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers the ownership of a given token ID to another address If the target address is a contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer, and return the magic value `bytes4(keccak256(\\\"onERC721Received(address,address,uint256,bytes)\\\"))`; otherwise, the transfer is reverted. Requires the _msgSender() to be the owner, approved, or operator\",\"params\":{\"_data\":\"bytes data to send along with a safe transfer check\",\"from\":\"current owner of the token\",\"to\":\"address to receive the ownership of the given token ID\",\"tokenId\":\"uint256 ID of the token to be transferred\"}},\"setApprovalForAll(address,bool)\":{\"details\":\"Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf.\",\"params\":{\"approved\":\"representing the status of the approval to be set\",\"to\":\"operator address to set the approval\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"Gets the token symbol.\",\"return\":\"string representing the token symbol\"},\"tokenURI(uint256)\":{\"details\":\"Returns an URI for a given token ID. Throws if the token ID does not exist. May return an empty string.\",\"params\":{\"tokenId\":\"uint256 ID of the token to query\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers the ownership of a given token ID to another address. Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requires the msg.sender to be the owner, approved, or operator.\",\"params\":{\"from\":\"current owner of the token\",\"to\":\"address to receive the ownership of the given token ID\",\"tokenId\":\"uint256 ID of the token to be transferred\"}}},\"title\":\"ERC721MetadataMintable\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/token/ERC721/ERC721MetadataMintable.sol\":\"ERC721MetadataMintable\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzzr://bd34c1ce05b5b2b3a62fc02e160f6805b1cadd476854664f433c685b2fda8dad\"]},\"/home/frangio/oz/contracts/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0xbe8eef6f2cb4e427f5c5d8a76865ccd06e55a4f1d6671ba312d45bfa705aedbf\",\"urls\":[\"bzzr://946a26eebf5d294534471d07c4dc449ce3123e9fc2994bdfcd99dff1d09cc1af\"]},\"/home/frangio/oz/contracts/contracts/drafts/Counters.sol\":{\"keccak256\":\"0xf1267d23aae72ba9bef7bbef542a658645e1e2a125d107978a0907f6693d43a1\",\"urls\":[\"bzzr://da1a56c4891c4d01514d16a3d5535ca00ba5754ea23a5b9f59be788b8e99ce92\"]},\"/home/frangio/oz/contracts/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x01aedbf24e121a744262e04c7815b2a4c8ce604dee4829c5cff00943a594ccf3\",\"urls\":[\"bzzr://07dffd4225b87bb0aa8d02cfdb04640c2e02e59b35143accd0dd757775449c61\"]},\"/home/frangio/oz/contracts/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xe0ed10f53955c35eecb02724538650a155aa940be3f0a54cd3bde6c6b0c6e48c\",\"urls\":[\"bzzr://14f0ef90a240b2aca847fe1489b10965e04ba16cf221f52ed6470d0cad291f9d\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x250605d58768f7b91ca896baa3001f0109d1c2dd071e97edfd6d9c0ca354a49a\",\"urls\":[\"bzzr://9e2f855cbfc319721a34811ad7881c3b59a5ad5cf63bd8b219dc1a36dde9b3e3\"]},\"/home/frangio/oz/contracts/contracts/token/ERC721/ERC721Metadata.sol\":{\"keccak256\":\"0xb62b21b93eaf635c372306f05e273a404ae263d14c4e1e4217daf731254edc84\",\"urls\":[\"bzzr://79fca89f6d5481c322917f7c1e9037e98f7a97f8002611ae67f5df36b14d411e\"]},\"/home/frangio/oz/contracts/contracts/token/ERC721/ERC721MetadataMintable.sol\":{\"keccak256\":\"0xbd9b003914fb0188bfeb7a97ae50c1d02093ba58a9c197dd80b667bf2c2c6f5c\",\"urls\":[\"bzzr://15c15c4b705c5902caccc7da889a2614893c86dff1881e698818ced007fae4d8\"]},\"/home/frangio/oz/contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x680c11bc8173eef7d5db843baaf64ce499476de2c172f6aea631dbee54bcd2e6\",\"urls\":[\"bzzr://8a586d8fd1e36ecb1bebccdd5969e38fbf7d435cf9703ffc9647be8c97bf0d31\"]},\"/home/frangio/oz/contracts/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0x2b2b99dc7fe8fcd1f9427d00822b99cbc683dc21f5dd7532bd7e2281fd2c2ca2\",\"urls\":[\"bzzr://b89c69b072072e7fa1c8da973f82c7b28a64fb6bdc1e47626fedc89050ae783c\"]},\"/home/frangio/oz/contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x042048c375daca04b31e31c91bbae912b84b5eb818c4e31b2deb530fd2305342\",\"urls\":[\"bzzr://2f8b9c142d30b43eab7b77dbcc632a51987eeb62371777d765e9311c0b3c4c13\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xf4bfe37bc0ed72fb1a94abab4acec42dcabc6b2936d684f9a018a61afe2d979a\",\"urls\":[\"bzzr://a0a3a1ea455fc61ea6032cad30321369a478121b32ae8a212a73a54e57dad3b5\"]}},\"version\":1}",
"bytecode": "0x",

@@ -428,10 +428,10 @@ "deployedBytecode": "0x",

"ERC721MetadataMintable": [
11813
11690
]
},
"id": 11814,
"id": 11691,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 11778,
"id": 11655,
"literals": [

@@ -444,3 +444,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:135"
"src": "0:23:134"
},

@@ -450,7 +450,7 @@ {

"file": "./ERC721Metadata.sol",
"id": 11779,
"id": 11656,
"nodeType": "ImportDirective",
"scope": 11814,
"sourceUnit": 11777,
"src": "25:30:135",
"scope": 11691,
"sourceUnit": 11654,
"src": "25:30:134",
"symbolAliases": [],

@@ -462,7 +462,7 @@ "unitAlias": ""

"file": "../../access/roles/MinterRole.sol",
"id": 11780,
"id": 11657,
"nodeType": "ImportDirective",
"scope": 11814,
"sourceUnit": 1424,
"src": "56:43:135",
"scope": 11691,
"sourceUnit": 1403,
"src": "56:43:134",
"symbolAliases": [],

@@ -477,15 +477,15 @@ "unitAlias": ""

"contractScope": null,
"id": 11781,
"id": 11658,
"name": "ERC721",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 11228,
"src": "222:6:135",
"referencedDeclaration": 11105,
"src": "222:6:134",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC721_$11228",
"typeIdentifier": "t_contract$_ERC721_$11105",
"typeString": "contract ERC721"
}
},
"id": 11782,
"id": 11659,
"nodeType": "InheritanceSpecifier",
"src": "222:6:135"
"src": "222:6:134"
},

@@ -496,15 +496,15 @@ {

"contractScope": null,
"id": 11783,
"id": 11660,
"name": "ERC721Metadata",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 11776,
"src": "230:14:135",
"referencedDeclaration": 11653,
"src": "230:14:134",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC721Metadata_$11776",
"typeIdentifier": "t_contract$_ERC721Metadata_$11653",
"typeString": "contract ERC721Metadata"
}
},
"id": 11784,
"id": 11661,
"nodeType": "InheritanceSpecifier",
"src": "230:14:135"
"src": "230:14:134"
},

@@ -515,15 +515,15 @@ {

"contractScope": null,
"id": 11785,
"id": 11662,
"name": "MinterRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1423,
"src": "246:10:135",
"referencedDeclaration": 1402,
"src": "246:10:134",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MinterRole_$1423",
"typeIdentifier": "t_contract$_MinterRole_$1402",
"typeString": "contract MinterRole"
}
},
"id": 11786,
"id": 11663,
"nodeType": "InheritanceSpecifier",
"src": "246:10:135"
"src": "246:10:134"
}

@@ -533,9 +533,9 @@ ],

26,
1423,
4889,
5093,
11228,
11776,
12048,
12110
1402,
4868,
5072,
11105,
11653,
11925,
11987
],

@@ -545,12 +545,12 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 11813,
"id": 11690,
"linearizedBaseContracts": [
11813,
1423,
11776,
12110,
11228,
12048,
4889,
5093,
11690,
1402,
11653,
11987,
11105,
11925,
4868,
5072,
26

@@ -563,5 +563,5 @@ ],

"body": {
"id": 11811,
"id": 11688,
"nodeType": "Block",
"src": "669:97:135",
"src": "669:97:134",
"statements": [

@@ -574,8 +574,8 @@ {

"argumentTypes": null,
"id": 11800,
"id": 11677,
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11788,
"src": "685:2:135",
"referencedDeclaration": 11665,
"src": "685:2:134",
"typeDescriptions": {

@@ -588,8 +588,8 @@ "typeIdentifier": "t_address",

"argumentTypes": null,
"id": 11801,
"id": 11678,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11790,
"src": "689:7:135",
"referencedDeclaration": 11667,
"src": "689:7:134",
"typeDescriptions": {

@@ -612,8 +612,8 @@ "typeIdentifier": "t_uint256",

],
"id": 11799,
"id": 11676,
"name": "_mint",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11052,
"src": "679:5:135",
"referencedDeclaration": 10929,
"src": "679:5:134",
"typeDescriptions": {

@@ -624,3 +624,3 @@ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",

},
"id": 11802,
"id": 11679,
"isConstant": false,

@@ -633,3 +633,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "679:18:135",
"src": "679:18:134",
"typeDescriptions": {

@@ -640,5 +640,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 11803,
"id": 11680,
"nodeType": "ExpressionStatement",
"src": "679:18:135"
"src": "679:18:134"
},

@@ -651,8 +651,8 @@ {

"argumentTypes": null,
"id": 11805,
"id": 11682,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11790,
"src": "720:7:135",
"referencedDeclaration": 11667,
"src": "720:7:134",
"typeDescriptions": {

@@ -665,8 +665,8 @@ "typeIdentifier": "t_uint256",

"argumentTypes": null,
"id": 11806,
"id": 11683,
"name": "tokenURI",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11792,
"src": "729:8:135",
"referencedDeclaration": 11669,
"src": "729:8:134",
"typeDescriptions": {

@@ -689,8 +689,8 @@ "typeIdentifier": "t_string_memory_ptr",

],
"id": 11804,
"id": 11681,
"name": "_setTokenURI",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11745,
"src": "707:12:135",
"referencedDeclaration": 11622,
"src": "707:12:134",
"typeDescriptions": {

@@ -701,3 +701,3 @@ "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$",

},
"id": 11807,
"id": 11684,
"isConstant": false,

@@ -710,3 +710,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "707:31:135",
"src": "707:31:134",
"typeDescriptions": {

@@ -717,5 +717,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 11808,
"id": 11685,
"nodeType": "ExpressionStatement",
"src": "707:31:135"
"src": "707:31:134"
},

@@ -726,3 +726,3 @@ {

"hexValue": "74727565",
"id": 11809,
"id": 11686,
"isConstant": false,

@@ -734,3 +734,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "755:4:135",
"src": "755:4:134",
"subdenomination": null,

@@ -743,6 +743,6 @@ "typeDescriptions": {

},
"functionReturnParameters": 11798,
"id": 11810,
"functionReturnParameters": 11675,
"id": 11687,
"nodeType": "Return",
"src": "748:11:135"
"src": "748:11:134"
}

@@ -752,3 +752,3 @@ ]

"documentation": "@dev Function to mint tokens.\n@param to The address that will receive the minted tokens.\n@param tokenId The token id to mint.\n@param tokenURI The token URI of the minted token.\n@return A boolean that indicates if the operation was successful.",
"id": 11812,
"id": 11689,
"implemented": true,

@@ -759,11 +759,11 @@ "kind": "function",

"arguments": null,
"id": 11795,
"id": 11672,
"modifierName": {
"argumentTypes": null,
"id": 11794,
"id": 11671,
"name": "onlyMinter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1356,
"src": "643:10:135",
"referencedDeclaration": 1335,
"src": "643:10:134",
"typeDescriptions": {

@@ -775,3 +775,3 @@ "typeIdentifier": "t_modifier$__$",

"nodeType": "ModifierInvocation",
"src": "643:10:135"
"src": "643:10:134"
}

@@ -782,3 +782,3 @@ ],

"parameters": {
"id": 11793,
"id": 11670,
"nodeType": "ParameterList",

@@ -788,7 +788,7 @@ "parameters": [

"constant": false,
"id": 11788,
"id": 11665,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 11812,
"src": "583:10:135",
"scope": 11689,
"src": "583:10:134",
"stateVariable": false,

@@ -801,6 +801,6 @@ "storageLocation": "default",

"typeName": {
"id": 11787,
"id": 11664,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "583:7:135",
"src": "583:7:134",
"stateMutability": "nonpayable",

@@ -817,7 +817,7 @@ "typeDescriptions": {

"constant": false,
"id": 11790,
"id": 11667,
"name": "tokenId",
"nodeType": "VariableDeclaration",
"scope": 11812,
"src": "595:15:135",
"scope": 11689,
"src": "595:15:134",
"stateVariable": false,

@@ -830,6 +830,6 @@ "storageLocation": "default",

"typeName": {
"id": 11789,
"id": 11666,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "595:7:135",
"src": "595:7:134",
"typeDescriptions": {

@@ -845,7 +845,7 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 11792,
"id": 11669,
"name": "tokenURI",
"nodeType": "VariableDeclaration",
"scope": 11812,
"src": "612:22:135",
"scope": 11689,
"src": "612:22:134",
"stateVariable": false,

@@ -858,6 +858,6 @@ "storageLocation": "memory",

"typeName": {
"id": 11791,
"id": 11668,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "612:6:135",
"src": "612:6:134",
"typeDescriptions": {

@@ -872,6 +872,6 @@ "typeIdentifier": "t_string_storage_ptr",

],
"src": "582:53:135"
"src": "582:53:134"
},
"returnParameters": {
"id": 11798,
"id": 11675,
"nodeType": "ParameterList",

@@ -881,7 +881,7 @@ "parameters": [

"constant": false,
"id": 11797,
"id": 11674,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 11812,
"src": "663:4:135",
"scope": 11689,
"src": "663:4:134",
"stateVariable": false,

@@ -894,6 +894,6 @@ "storageLocation": "default",

"typeName": {
"id": 11796,
"id": 11673,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "663:4:135",
"src": "663:4:134",
"typeDescriptions": {

@@ -908,6 +908,6 @@ "typeIdentifier": "t_bool",

],
"src": "662:6:135"
"src": "662:6:134"
},
"scope": 11813,
"src": "557:209:135",
"scope": 11690,
"src": "557:209:134",
"stateMutability": "nonpayable",

@@ -918,7 +918,7 @@ "superFunction": null,

],
"scope": 11814,
"src": "187:581:135"
"scope": 11691,
"src": "187:581:134"
}
],
"src": "0:769:135"
"src": "0:769:134"
},

@@ -929,10 +929,10 @@ "legacyAST": {

"ERC721MetadataMintable": [
11813
11690
]
},
"id": 11814,
"id": 11691,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 11778,
"id": 11655,
"literals": [

@@ -945,3 +945,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:135"
"src": "0:23:134"
},

@@ -951,7 +951,7 @@ {

"file": "./ERC721Metadata.sol",
"id": 11779,
"id": 11656,
"nodeType": "ImportDirective",
"scope": 11814,
"sourceUnit": 11777,
"src": "25:30:135",
"scope": 11691,
"sourceUnit": 11654,
"src": "25:30:134",
"symbolAliases": [],

@@ -963,7 +963,7 @@ "unitAlias": ""

"file": "../../access/roles/MinterRole.sol",
"id": 11780,
"id": 11657,
"nodeType": "ImportDirective",
"scope": 11814,
"sourceUnit": 1424,
"src": "56:43:135",
"scope": 11691,
"sourceUnit": 1403,
"src": "56:43:134",
"symbolAliases": [],

@@ -978,15 +978,15 @@ "unitAlias": ""

"contractScope": null,
"id": 11781,
"id": 11658,
"name": "ERC721",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 11228,
"src": "222:6:135",
"referencedDeclaration": 11105,
"src": "222:6:134",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC721_$11228",
"typeIdentifier": "t_contract$_ERC721_$11105",
"typeString": "contract ERC721"
}
},
"id": 11782,
"id": 11659,
"nodeType": "InheritanceSpecifier",
"src": "222:6:135"
"src": "222:6:134"
},

@@ -997,15 +997,15 @@ {

"contractScope": null,
"id": 11783,
"id": 11660,
"name": "ERC721Metadata",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 11776,
"src": "230:14:135",
"referencedDeclaration": 11653,
"src": "230:14:134",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC721Metadata_$11776",
"typeIdentifier": "t_contract$_ERC721Metadata_$11653",
"typeString": "contract ERC721Metadata"
}
},
"id": 11784,
"id": 11661,
"nodeType": "InheritanceSpecifier",
"src": "230:14:135"
"src": "230:14:134"
},

@@ -1016,15 +1016,15 @@ {

"contractScope": null,
"id": 11785,
"id": 11662,
"name": "MinterRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1423,
"src": "246:10:135",
"referencedDeclaration": 1402,
"src": "246:10:134",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MinterRole_$1423",
"typeIdentifier": "t_contract$_MinterRole_$1402",
"typeString": "contract MinterRole"
}
},
"id": 11786,
"id": 11663,
"nodeType": "InheritanceSpecifier",
"src": "246:10:135"
"src": "246:10:134"
}

@@ -1034,9 +1034,9 @@ ],

26,
1423,
4889,
5093,
11228,
11776,
12048,
12110
1402,
4868,
5072,
11105,
11653,
11925,
11987
],

@@ -1046,12 +1046,12 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 11813,
"id": 11690,
"linearizedBaseContracts": [
11813,
1423,
11776,
12110,
11228,
12048,
4889,
5093,
11690,
1402,
11653,
11987,
11105,
11925,
4868,
5072,
26

@@ -1064,5 +1064,5 @@ ],

"body": {
"id": 11811,
"id": 11688,
"nodeType": "Block",
"src": "669:97:135",
"src": "669:97:134",
"statements": [

@@ -1075,8 +1075,8 @@ {

"argumentTypes": null,
"id": 11800,
"id": 11677,
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11788,
"src": "685:2:135",
"referencedDeclaration": 11665,
"src": "685:2:134",
"typeDescriptions": {

@@ -1089,8 +1089,8 @@ "typeIdentifier": "t_address",

"argumentTypes": null,
"id": 11801,
"id": 11678,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11790,
"src": "689:7:135",
"referencedDeclaration": 11667,
"src": "689:7:134",
"typeDescriptions": {

@@ -1113,8 +1113,8 @@ "typeIdentifier": "t_uint256",

],
"id": 11799,
"id": 11676,
"name": "_mint",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11052,
"src": "679:5:135",
"referencedDeclaration": 10929,
"src": "679:5:134",
"typeDescriptions": {

@@ -1125,3 +1125,3 @@ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",

},
"id": 11802,
"id": 11679,
"isConstant": false,

@@ -1134,3 +1134,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "679:18:135",
"src": "679:18:134",
"typeDescriptions": {

@@ -1141,5 +1141,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 11803,
"id": 11680,
"nodeType": "ExpressionStatement",
"src": "679:18:135"
"src": "679:18:134"
},

@@ -1152,8 +1152,8 @@ {

"argumentTypes": null,
"id": 11805,
"id": 11682,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11790,
"src": "720:7:135",
"referencedDeclaration": 11667,
"src": "720:7:134",
"typeDescriptions": {

@@ -1166,8 +1166,8 @@ "typeIdentifier": "t_uint256",

"argumentTypes": null,
"id": 11806,
"id": 11683,
"name": "tokenURI",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11792,
"src": "729:8:135",
"referencedDeclaration": 11669,
"src": "729:8:134",
"typeDescriptions": {

@@ -1190,8 +1190,8 @@ "typeIdentifier": "t_string_memory_ptr",

],
"id": 11804,
"id": 11681,
"name": "_setTokenURI",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11745,
"src": "707:12:135",
"referencedDeclaration": 11622,
"src": "707:12:134",
"typeDescriptions": {

@@ -1202,3 +1202,3 @@ "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$",

},
"id": 11807,
"id": 11684,
"isConstant": false,

@@ -1211,3 +1211,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "707:31:135",
"src": "707:31:134",
"typeDescriptions": {

@@ -1218,5 +1218,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 11808,
"id": 11685,
"nodeType": "ExpressionStatement",
"src": "707:31:135"
"src": "707:31:134"
},

@@ -1227,3 +1227,3 @@ {

"hexValue": "74727565",
"id": 11809,
"id": 11686,
"isConstant": false,

@@ -1235,3 +1235,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "755:4:135",
"src": "755:4:134",
"subdenomination": null,

@@ -1244,6 +1244,6 @@ "typeDescriptions": {

},
"functionReturnParameters": 11798,
"id": 11810,
"functionReturnParameters": 11675,
"id": 11687,
"nodeType": "Return",
"src": "748:11:135"
"src": "748:11:134"
}

@@ -1253,3 +1253,3 @@ ]

"documentation": "@dev Function to mint tokens.\n@param to The address that will receive the minted tokens.\n@param tokenId The token id to mint.\n@param tokenURI The token URI of the minted token.\n@return A boolean that indicates if the operation was successful.",
"id": 11812,
"id": 11689,
"implemented": true,

@@ -1260,11 +1260,11 @@ "kind": "function",

"arguments": null,
"id": 11795,
"id": 11672,
"modifierName": {
"argumentTypes": null,
"id": 11794,
"id": 11671,
"name": "onlyMinter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1356,
"src": "643:10:135",
"referencedDeclaration": 1335,
"src": "643:10:134",
"typeDescriptions": {

@@ -1276,3 +1276,3 @@ "typeIdentifier": "t_modifier$__$",

"nodeType": "ModifierInvocation",
"src": "643:10:135"
"src": "643:10:134"
}

@@ -1283,3 +1283,3 @@ ],

"parameters": {
"id": 11793,
"id": 11670,
"nodeType": "ParameterList",

@@ -1289,7 +1289,7 @@ "parameters": [

"constant": false,
"id": 11788,
"id": 11665,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 11812,
"src": "583:10:135",
"scope": 11689,
"src": "583:10:134",
"stateVariable": false,

@@ -1302,6 +1302,6 @@ "storageLocation": "default",

"typeName": {
"id": 11787,
"id": 11664,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "583:7:135",
"src": "583:7:134",
"stateMutability": "nonpayable",

@@ -1318,7 +1318,7 @@ "typeDescriptions": {

"constant": false,
"id": 11790,
"id": 11667,
"name": "tokenId",
"nodeType": "VariableDeclaration",
"scope": 11812,
"src": "595:15:135",
"scope": 11689,
"src": "595:15:134",
"stateVariable": false,

@@ -1331,6 +1331,6 @@ "storageLocation": "default",

"typeName": {
"id": 11789,
"id": 11666,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "595:7:135",
"src": "595:7:134",
"typeDescriptions": {

@@ -1346,7 +1346,7 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 11792,
"id": 11669,
"name": "tokenURI",
"nodeType": "VariableDeclaration",
"scope": 11812,
"src": "612:22:135",
"scope": 11689,
"src": "612:22:134",
"stateVariable": false,

@@ -1359,6 +1359,6 @@ "storageLocation": "memory",

"typeName": {
"id": 11791,
"id": 11668,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "612:6:135",
"src": "612:6:134",
"typeDescriptions": {

@@ -1373,6 +1373,6 @@ "typeIdentifier": "t_string_storage_ptr",

],
"src": "582:53:135"
"src": "582:53:134"
},
"returnParameters": {
"id": 11798,
"id": 11675,
"nodeType": "ParameterList",

@@ -1382,7 +1382,7 @@ "parameters": [

"constant": false,
"id": 11797,
"id": 11674,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 11812,
"src": "663:4:135",
"scope": 11689,
"src": "663:4:134",
"stateVariable": false,

@@ -1395,6 +1395,6 @@ "storageLocation": "default",

"typeName": {
"id": 11796,
"id": 11673,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "663:4:135",
"src": "663:4:134",
"typeDescriptions": {

@@ -1409,6 +1409,6 @@ "typeIdentifier": "t_bool",

],
"src": "662:6:135"
"src": "662:6:134"
},
"scope": 11813,
"src": "557:209:135",
"scope": 11690,
"src": "557:209:134",
"stateMutability": "nonpayable",

@@ -1419,7 +1419,7 @@ "superFunction": null,

],
"scope": 11814,
"src": "187:581:135"
"scope": 11691,
"src": "187:581:134"
}
],
"src": "0:769:135"
"src": "0:769:134"
},

@@ -1432,3 +1432,3 @@ "compiler": {

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.845Z",
"updatedAt": "2019-08-16T19:32:31.360Z",
"devdoc": {

@@ -1435,0 +1435,0 @@ "details": "ERC721 minting logic with metadata.",

@@ -236,7 +236,7 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"hasClosed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOpen\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"closingTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finalize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"finalized\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"openingTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"openingTime\",\"type\":\"uint256\"},{\"name\":\"closingTime\",\"type\":\"uint256\"},{\"name\":\"rate\",\"type\":\"uint256\"},{\"name\":\"wallet\",\"type\":\"address\"},{\"name\":\"token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"CrowdsaleFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"prevClosingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"newClosingTime\",\"type\":\"uint256\"}],\"name\":\"TimedCrowdsaleExtended\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"closingTime()\":{\"return\":\"the crowdsale closing time.\"},\"finalize()\":{\"details\":\"Must be called after crowdsale ends, to do some extra finalization work. Calls the contract's finalization function.\"},\"finalized()\":{\"return\":\"true if the crowdsale is finalized, false otherwise.\"},\"hasClosed()\":{\"details\":\"Checks whether the period in which the crowdsale is open has already elapsed.\",\"return\":\"Whether crowdsale period has elapsed\"},\"isOpen()\":{\"return\":\"true if the crowdsale is open, false otherwise.\"},\"openingTime()\":{\"return\":\"the crowdsale opening time.\"},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/FinalizableCrowdsaleImpl.sol\":\"FinalizableCrowdsaleImpl\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/distribution/FinalizableCrowdsale.sol\":{\"keccak256\":\"0x22ad427395c439878122cbfbf13e896fd48d1fad0c6fc889a36b4f1bf4743ff4\",\"urls\":[\"bzzr://1c725bc536a34c8ae31246c7c4327a2fe7abeb7686979516c1ab65c8959f71ec\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/validation/TimedCrowdsale.sol\":{\"keccak256\":\"0x9407dd37cfed74aa107fd1614c478ba0a2bc3e084e9aa8fbd5a6f316c53aed3b\",\"urls\":[\"bzzr://196407d49d26f709494b573b06676eaa21b0019ebebd4e610a8b1276965a8067\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/mocks/FinalizableCrowdsaleImpl.sol\":{\"keccak256\":\"0x45a88f9b3f4d67e17b6d359fcf370aa7005cd18944a62e4261da3d46715714e4\",\"urls\":[\"bzzr://b9bb01acdb5291a0b7028a5a42d434fb7febeaf800a04e7990a099390020e36d\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xe0812b2b05e37bf0dc866f8ba0a1a36d6dd006ac5b02bfde80e820a2a9e804b8\",\"urls\":[\"bzzr://7010caa641157fce5262c47d6cf10c9d6a6f0094fa327485c4fcf70989ec4532\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b5060405160a080611226833981018060405260a081101561003057600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505084848484846001600081905550600083116100ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f43726f776473616c653a2072617465206973203000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610172576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806112016025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156101f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806111dd6024913960400191505060405180910390fd5b8260038190555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050428210156102dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806111736033913960400191505060405180910390fd5b818111610335576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806111a66037913960400191505060405180910390fd5b816005819055508060068190555050506000600760006101000a81548160ff0219169083151502179055505050505050610dff806103746000396000f3fe60806040526004361061009c5760003560e01c80634bb278f3116100645780634bb278f31461018d578063521eb273146101a4578063b3f05b97146101fb578063b7a8807c1461022a578063ec8ac4d814610255578063fc0c546a146102995761009c565b80631515bc2b146100ae5780632c4e722e146100dd5780634042b66f1461010857806347535d7b146101335780634b6753bc14610162575b6100ac6100a76102f0565b6102f8565b005b3480156100ba57600080fd5b506100c361045c565b604051808215151515815260200191505060405180910390f35b3480156100e957600080fd5b506100f2610468565b6040518082815260200191505060405180910390f35b34801561011457600080fd5b5061011d610472565b6040518082815260200191505060405180910390f35b34801561013f57600080fd5b5061014861047c565b604051808215151515815260200191505060405180910390f35b34801561016e57600080fd5b50610177610497565b6040518082815260200191505060405180910390f35b34801561019957600080fd5b506101a26104a1565b005b3480156101b057600080fd5b506101b96105d2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020757600080fd5b506102106105fc565b604051808215151515815260200191505060405180910390f35b34801561023657600080fd5b5061023f610613565b6040518082815260200191505060405180910390f35b6102976004803603602081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102f8565b005b3480156102a557600080fd5b506102ae61061d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b60016000808282540192505081905550600080549050600034905061031d8382610647565b6000610328826106cf565b905061033f826004546106ed90919063ffffffff16565b60048190555061034f8482610775565b8373ffffffffffffffffffffffffffffffffffffffff1661036e6102f0565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a36103cd8483610783565b6103d5610787565b6103df84836107f2565b50506000548114610458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b60006006544211905090565b6000600354905090565b6000600454905090565b6000600554421015801561049257506006544211155b905090565b6000600654905090565b600760009054906101000a900460ff1615610507576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610d596027913960400191505060405180910390fd5b61050f61045c565b610581576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f46696e616c697a61626c6543726f776473616c653a206e6f7420636c6f73656481525060200191505060405180910390fd5b6001600760006101000a81548160ff0219169083151502179055506105a46107f6565b7f9270cc390c096600a1c17c44345a1ba689fafd99d97487b10cfccf86cf73183660405160405180910390a1565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600760009054906101000a900460ff16905090565b6000600554905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61064f61047c565b6106c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f54696d656443726f776473616c653a206e6f74206f70656e000000000000000081525060200191505060405180910390fd5b6106cb82826107f8565b5050565b60006106e6600354836108f990919063ffffffff16565b9050919050565b60008082840190508381101561076b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b61077f828261097f565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156107ef573d6000803e3d6000fd5b50565b5050565b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561087e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610d80602a913960400191505060405180910390fd5b60008114156108f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b60008083141561090c5760009050610979565b600082840290508284828161091d57fe5b0414610974576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610d386021913960400191505060405180910390fd5b809150505b92915050565b6109cc8282600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109d09092919063ffffffff16565b5050565b610a9c838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610aa1565b505050565b610ac08273ffffffffffffffffffffffffffffffffffffffff16610cec565b610b32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310610b815780518252602082019150602081019050602083039250610b5e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610be3576040519150601f19603f3d011682016040523d82523d6000602084013e610be8565b606091505b509150915081610c60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115610ce657808060200190516020811015610c7f57600080fd5b8101908080519060200190929190505050610ce5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610daa602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b8214158015610d2e5750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7746696e616c697a61626c6543726f776473616c653a20616c72656164792066696e616c697a656443726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a723058206360875509bf7b9923c9accceaa8fdf23868ba462eeed0e1e9988a1d7817cdcc002954696d656443726f776473616c653a206f70656e696e672074696d65206973206265666f72652063757272656e742074696d6554696d656443726f776473616c653a206f70656e696e672074696d65206973206e6f74206265666f726520636c6f73696e672074696d6543726f776473616c653a20746f6b656e20697320746865207a65726f206164647265737343726f776473616c653a2077616c6c657420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x60806040526004361061009c5760003560e01c80634bb278f3116100645780634bb278f31461018d578063521eb273146101a4578063b3f05b97146101fb578063b7a8807c1461022a578063ec8ac4d814610255578063fc0c546a146102995761009c565b80631515bc2b146100ae5780632c4e722e146100dd5780634042b66f1461010857806347535d7b146101335780634b6753bc14610162575b6100ac6100a76102f0565b6102f8565b005b3480156100ba57600080fd5b506100c361045c565b604051808215151515815260200191505060405180910390f35b3480156100e957600080fd5b506100f2610468565b6040518082815260200191505060405180910390f35b34801561011457600080fd5b5061011d610472565b6040518082815260200191505060405180910390f35b34801561013f57600080fd5b5061014861047c565b604051808215151515815260200191505060405180910390f35b34801561016e57600080fd5b50610177610497565b6040518082815260200191505060405180910390f35b34801561019957600080fd5b506101a26104a1565b005b3480156101b057600080fd5b506101b96105d2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020757600080fd5b506102106105fc565b604051808215151515815260200191505060405180910390f35b34801561023657600080fd5b5061023f610613565b6040518082815260200191505060405180910390f35b6102976004803603602081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102f8565b005b3480156102a557600080fd5b506102ae61061d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b60016000808282540192505081905550600080549050600034905061031d8382610647565b6000610328826106cf565b905061033f826004546106ed90919063ffffffff16565b60048190555061034f8482610775565b8373ffffffffffffffffffffffffffffffffffffffff1661036e6102f0565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a36103cd8483610783565b6103d5610787565b6103df84836107f2565b50506000548114610458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b60006006544211905090565b6000600354905090565b6000600454905090565b6000600554421015801561049257506006544211155b905090565b6000600654905090565b600760009054906101000a900460ff1615610507576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610d596027913960400191505060405180910390fd5b61050f61045c565b610581576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f46696e616c697a61626c6543726f776473616c653a206e6f7420636c6f73656481525060200191505060405180910390fd5b6001600760006101000a81548160ff0219169083151502179055506105a46107f6565b7f9270cc390c096600a1c17c44345a1ba689fafd99d97487b10cfccf86cf73183660405160405180910390a1565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600760009054906101000a900460ff16905090565b6000600554905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61064f61047c565b6106c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f54696d656443726f776473616c653a206e6f74206f70656e000000000000000081525060200191505060405180910390fd5b6106cb82826107f8565b5050565b60006106e6600354836108f990919063ffffffff16565b9050919050565b60008082840190508381101561076b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b61077f828261097f565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156107ef573d6000803e3d6000fd5b50565b5050565b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561087e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610d80602a913960400191505060405180910390fd5b60008114156108f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b60008083141561090c5760009050610979565b600082840290508284828161091d57fe5b0414610974576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610d386021913960400191505060405180910390fd5b809150505b92915050565b6109cc8282600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109d09092919063ffffffff16565b5050565b610a9c838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610aa1565b505050565b610ac08273ffffffffffffffffffffffffffffffffffffffff16610cec565b610b32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310610b815780518252602082019150602081019050602083039250610b5e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610be3576040519150601f19603f3d011682016040523d82523d6000602084013e610be8565b606091505b509150915081610c60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115610ce657808060200190516020811015610c7f57600080fd5b8101908080519060200190929190505050610ce5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610daa602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b8214158015610d2e5750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7746696e616c697a61626c6543726f776473616c653a20616c72656164792066696e616c697a656443726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a723058206360875509bf7b9923c9accceaa8fdf23868ba462eeed0e1e9988a1d7817cdcc0029",
"sourceMap": "123:344:79:-;;;187:278;8:9:-1;5:2;;;30:1;27;20:12;5:2;187:278:79;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;187:278:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:11;384;327:4;333:6;341:5;879:1:149;863:13;:17;;;;2416:1:15;2409:4;:8;2401:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2478:1;2460:20;;:6;:20;;;;2452:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2566:1;2540:28;;2548:5;2540:28;;;;2532:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2628:4;2620:5;:12;;;;2652:6;2642:7;;:16;;;;;;;;;;;;;;;;;;2677:5;2668:6;;:14;;;;;;;;;;;;;;;;;;2319:370;;;1064:15:26;1049:11;:30;;1041:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1220:11;1206;:25;1198:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1317:11;1302:12;:26;;;;1353:11;1338:12;:26;;;;915:456;;459:5:16;446:10;;:18;;;;;;;;;;;;;;;;;;187:278:79;;;;;123:344;;;;;;",
"deployedSourceMap": "123:344:79:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3017:23:15;3027:12;:10;:12::i;:::-;3017:9;:23::i;:::-;123:344:79;2117:156:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2117:156:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3430:75:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3430:75:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3568:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3568:85:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1764:189:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1764:189:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1590:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1590:89:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;801:262:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;801:262:16;;;:::i;:::-;;3258:87:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3258:87:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;561:82:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;561:82:16;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1436:89:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1436:89:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3910:605:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3910:605:15;;;;;;;;;;;;;;;;;;;:::i;:::-;;3106:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3106:76:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;791:88:0;836:7;862:10;855:17;;791:88;:::o;3910:605:15:-;1313:1:149;1296:13;;:18;;;;;;;;;;;1324:20;1347:13;;1324:36;;3988:17:15;4008:9;3988:29;;4027:44;4048:11;4061:9;4027:20;:44::i;:::-;4130:14;4147:26;4163:9;4147:15;:26::i;:::-;4130:43;;4221:25;4236:9;4221:10;;:14;;:25;;;;:::i;:::-;4208:10;:38;;;;4257:37;4274:11;4287:6;4257:16;:37::i;:::-;4339:11;4309:61;;4325:12;:10;:12::i;:::-;4309:61;;;4352:9;4363:6;4309:61;;;;;;;;;;;;;;;;;;;;;;;;4381:46;4404:11;4417:9;4381:22;:46::i;:::-;4438:15;:13;:15::i;:::-;4463:45;4485:11;4498:9;4463:21;:45::i;:::-;1370:1:149;;1405:13;;1389:12;:29;1381:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3910:605:15;;:::o;2117:156:26:-;2159:4;2254:12;;2236:15;:30;2229:37;;2117:156;:::o;3430:75:15:-;3467:7;3493:5;;3486:12;;3430:75;:::o;3568:85::-;3610:7;3636:10;;3629:17;;3568:85;:::o;1764:189:26:-;1803:4;1899:12;;1880:15;:31;;:66;;;;;1934:12;;1915:15;:31;;1880:66;1873:73;;1764:189;:::o;1590:89::-;1634:7;1660:12;;1653:19;;1590:89;:::o;801:262:16:-;847:10;;;;;;;;;;;846:11;838:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;919:11;:9;:11::i;:::-;911:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;991:4;978:10;;:17;;;;;;;;;;;;;;;;;;1006:15;:13;:15::i;:::-;1036:20;;;;;;;;;;801:262::o;3258:87:15:-;3297:15;3331:7;;;;;;;;;;;3324:14;;3258:87;:::o;561:82:16:-;603:4;626:10;;;;;;;;;;;619:17;;561:82;:::o;1436:89:26:-;1480:7;1506:12;;1499:19;;1436:89;:::o;3106:76:15:-;3144:6;3169;;;;;;;;;;;3162:13;;3106:76;:::o;2466:165:26:-;672:8;:6;:8::i;:::-;664:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2574:50;2601:11;2614:9;2574:26;:50::i;:::-;2466:165;;:::o;7358:120:15:-;7425:7;7451:20;7465:5;;7451:9;:13;;:20;;;;:::i;:::-;7444:27;;7358:120;;;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;6560:134:15:-;6647:40;6662:11;6675;6647:14;:40::i;:::-;6560:134;;:::o;6964:145::-;;;:::o;7565:78::-;7609:7;;;;;;;;;;;:16;;:27;7626:9;7609:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7609:27:15;7565:78::o;5728:149::-;;;:::o;1272:98:16:-;:::o;5057:376:15:-;5182:1;5159:25;;:11;:25;;;;5151:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5262:1;5249:9;:14;;5241:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5057:376;;:::o;2119:459:48:-;2177:7;2423:1;2418;:6;2414:45;;;2447:1;2440:8;;;;2414:45;2469:9;2485:1;2481;:5;2469:17;;2513:1;2508;2504;:5;;;;;;:10;2496:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2570:1;2563:8;;;2119:459;;;;;:::o;6157:137:15:-;6242:45;6262:11;6275;6242:6;;;;;;;;;;;:19;;;;:45;;;;;:::i;:::-;6157:137;;:::o;662:174:127:-;744:85;763:5;793;:14;;;:23;;;;818:2;822:5;770:58;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;770:58:127;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;770:58:127;744:18;:85::i;:::-;662:174;;;:::o;2666:1095::-;3261:27;3269:5;3261:25;;;:27::i;:::-;3253:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3395:12;3409:23;3444:5;3436:19;;3456:4;3436:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3436:25:127;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3394:67:127;;;;3479:7;3471:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3558:1;3538:10;:17;:21;3534:221;;;3678:10;3667:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3667:30:127;;;;;;;;;;;;;;;;3659:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3534:221;2666:1095;;;;:::o;557:805:147:-;617:4;1070:16;1096:19;1118:66;1096:88;;;;1285:7;1273:20;1261:32;;1324:3;1312:15;;:8;:15;;:42;;;;;1343:11;1331:8;:23;;1312:42;1304:51;;;;557:805;;;:::o",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"hasClosed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOpen\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"closingTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finalize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"finalized\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"openingTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"openingTime\",\"type\":\"uint256\"},{\"name\":\"closingTime\",\"type\":\"uint256\"},{\"name\":\"rate\",\"type\":\"uint256\"},{\"name\":\"wallet\",\"type\":\"address\"},{\"name\":\"token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"CrowdsaleFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"prevClosingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"newClosingTime\",\"type\":\"uint256\"}],\"name\":\"TimedCrowdsaleExtended\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"closingTime()\":{\"return\":\"the crowdsale closing time.\"},\"finalize()\":{\"details\":\"Must be called after crowdsale ends, to do some extra finalization work. Calls the contract's finalization function.\"},\"finalized()\":{\"return\":\"true if the crowdsale is finalized, false otherwise.\"},\"hasClosed()\":{\"details\":\"Checks whether the period in which the crowdsale is open has already elapsed.\",\"return\":\"Whether crowdsale period has elapsed\"},\"isOpen()\":{\"return\":\"true if the crowdsale is open, false otherwise.\"},\"openingTime()\":{\"return\":\"the crowdsale opening time.\"},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/FinalizableCrowdsaleImpl.sol\":\"FinalizableCrowdsaleImpl\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/distribution/FinalizableCrowdsale.sol\":{\"keccak256\":\"0x22ad427395c439878122cbfbf13e896fd48d1fad0c6fc889a36b4f1bf4743ff4\",\"urls\":[\"bzzr://1c725bc536a34c8ae31246c7c4327a2fe7abeb7686979516c1ab65c8959f71ec\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/validation/TimedCrowdsale.sol\":{\"keccak256\":\"0x9407dd37cfed74aa107fd1614c478ba0a2bc3e084e9aa8fbd5a6f316c53aed3b\",\"urls\":[\"bzzr://196407d49d26f709494b573b06676eaa21b0019ebebd4e610a8b1276965a8067\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/mocks/FinalizableCrowdsaleImpl.sol\":{\"keccak256\":\"0x45a88f9b3f4d67e17b6d359fcf370aa7005cd18944a62e4261da3d46715714e4\",\"urls\":[\"bzzr://b9bb01acdb5291a0b7028a5a42d434fb7febeaf800a04e7990a099390020e36d\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xf4bfe37bc0ed72fb1a94abab4acec42dcabc6b2936d684f9a018a61afe2d979a\",\"urls\":[\"bzzr://a0a3a1ea455fc61ea6032cad30321369a478121b32ae8a212a73a54e57dad3b5\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b5060405160a080611226833981018060405260a081101561003057600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505084848484846001600081905550600083116100ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f43726f776473616c653a2072617465206973203000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610172576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806112016025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156101f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806111dd6024913960400191505060405180910390fd5b8260038190555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050428210156102dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806111736033913960400191505060405180910390fd5b818111610335576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806111a66037913960400191505060405180910390fd5b816005819055508060068190555050506000600760006101000a81548160ff0219169083151502179055505050505050610dff806103746000396000f3fe60806040526004361061009c5760003560e01c80634bb278f3116100645780634bb278f31461018d578063521eb273146101a4578063b3f05b97146101fb578063b7a8807c1461022a578063ec8ac4d814610255578063fc0c546a146102995761009c565b80631515bc2b146100ae5780632c4e722e146100dd5780634042b66f1461010857806347535d7b146101335780634b6753bc14610162575b6100ac6100a76102f0565b6102f8565b005b3480156100ba57600080fd5b506100c361045c565b604051808215151515815260200191505060405180910390f35b3480156100e957600080fd5b506100f2610468565b6040518082815260200191505060405180910390f35b34801561011457600080fd5b5061011d610472565b6040518082815260200191505060405180910390f35b34801561013f57600080fd5b5061014861047c565b604051808215151515815260200191505060405180910390f35b34801561016e57600080fd5b50610177610497565b6040518082815260200191505060405180910390f35b34801561019957600080fd5b506101a26104a1565b005b3480156101b057600080fd5b506101b96105d2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020757600080fd5b506102106105fc565b604051808215151515815260200191505060405180910390f35b34801561023657600080fd5b5061023f610613565b6040518082815260200191505060405180910390f35b6102976004803603602081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102f8565b005b3480156102a557600080fd5b506102ae61061d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b60016000808282540192505081905550600080549050600034905061031d8382610647565b6000610328826106cf565b905061033f826004546106ed90919063ffffffff16565b60048190555061034f8482610775565b8373ffffffffffffffffffffffffffffffffffffffff1661036e6102f0565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a36103cd8483610783565b6103d5610787565b6103df84836107f2565b50506000548114610458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b60006006544211905090565b6000600354905090565b6000600454905090565b6000600554421015801561049257506006544211155b905090565b6000600654905090565b600760009054906101000a900460ff1615610507576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610d596027913960400191505060405180910390fd5b61050f61045c565b610581576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f46696e616c697a61626c6543726f776473616c653a206e6f7420636c6f73656481525060200191505060405180910390fd5b6001600760006101000a81548160ff0219169083151502179055506105a46107f6565b7f9270cc390c096600a1c17c44345a1ba689fafd99d97487b10cfccf86cf73183660405160405180910390a1565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600760009054906101000a900460ff16905090565b6000600554905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61064f61047c565b6106c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f54696d656443726f776473616c653a206e6f74206f70656e000000000000000081525060200191505060405180910390fd5b6106cb82826107f8565b5050565b60006106e6600354836108f990919063ffffffff16565b9050919050565b60008082840190508381101561076b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b61077f828261097f565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156107ef573d6000803e3d6000fd5b50565b5050565b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561087e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610d80602a913960400191505060405180910390fd5b60008114156108f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b60008083141561090c5760009050610979565b600082840290508284828161091d57fe5b0414610974576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610d386021913960400191505060405180910390fd5b809150505b92915050565b6109cc8282600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109d09092919063ffffffff16565b5050565b610a9c838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610aa1565b505050565b610ac08273ffffffffffffffffffffffffffffffffffffffff16610cec565b610b32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310610b815780518252602082019150602081019050602083039250610b5e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610be3576040519150601f19603f3d011682016040523d82523d6000602084013e610be8565b606091505b509150915081610c60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115610ce657808060200190516020811015610c7f57600080fd5b8101908080519060200190929190505050610ce5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610daa602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b8214158015610d2e5750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7746696e616c697a61626c6543726f776473616c653a20616c72656164792066696e616c697a656443726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a72305820877307757541fcfe9be663d9d90003855ea6c158d414e887abf36c86c63a44e9002954696d656443726f776473616c653a206f70656e696e672074696d65206973206265666f72652063757272656e742074696d6554696d656443726f776473616c653a206f70656e696e672074696d65206973206e6f74206265666f726520636c6f73696e672074696d6543726f776473616c653a20746f6b656e20697320746865207a65726f206164647265737343726f776473616c653a2077616c6c657420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x60806040526004361061009c5760003560e01c80634bb278f3116100645780634bb278f31461018d578063521eb273146101a4578063b3f05b97146101fb578063b7a8807c1461022a578063ec8ac4d814610255578063fc0c546a146102995761009c565b80631515bc2b146100ae5780632c4e722e146100dd5780634042b66f1461010857806347535d7b146101335780634b6753bc14610162575b6100ac6100a76102f0565b6102f8565b005b3480156100ba57600080fd5b506100c361045c565b604051808215151515815260200191505060405180910390f35b3480156100e957600080fd5b506100f2610468565b6040518082815260200191505060405180910390f35b34801561011457600080fd5b5061011d610472565b6040518082815260200191505060405180910390f35b34801561013f57600080fd5b5061014861047c565b604051808215151515815260200191505060405180910390f35b34801561016e57600080fd5b50610177610497565b6040518082815260200191505060405180910390f35b34801561019957600080fd5b506101a26104a1565b005b3480156101b057600080fd5b506101b96105d2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020757600080fd5b506102106105fc565b604051808215151515815260200191505060405180910390f35b34801561023657600080fd5b5061023f610613565b6040518082815260200191505060405180910390f35b6102976004803603602081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102f8565b005b3480156102a557600080fd5b506102ae61061d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b60016000808282540192505081905550600080549050600034905061031d8382610647565b6000610328826106cf565b905061033f826004546106ed90919063ffffffff16565b60048190555061034f8482610775565b8373ffffffffffffffffffffffffffffffffffffffff1661036e6102f0565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a36103cd8483610783565b6103d5610787565b6103df84836107f2565b50506000548114610458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b60006006544211905090565b6000600354905090565b6000600454905090565b6000600554421015801561049257506006544211155b905090565b6000600654905090565b600760009054906101000a900460ff1615610507576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610d596027913960400191505060405180910390fd5b61050f61045c565b610581576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f46696e616c697a61626c6543726f776473616c653a206e6f7420636c6f73656481525060200191505060405180910390fd5b6001600760006101000a81548160ff0219169083151502179055506105a46107f6565b7f9270cc390c096600a1c17c44345a1ba689fafd99d97487b10cfccf86cf73183660405160405180910390a1565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600760009054906101000a900460ff16905090565b6000600554905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61064f61047c565b6106c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f54696d656443726f776473616c653a206e6f74206f70656e000000000000000081525060200191505060405180910390fd5b6106cb82826107f8565b5050565b60006106e6600354836108f990919063ffffffff16565b9050919050565b60008082840190508381101561076b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b61077f828261097f565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156107ef573d6000803e3d6000fd5b50565b5050565b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561087e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610d80602a913960400191505060405180910390fd5b60008114156108f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b60008083141561090c5760009050610979565b600082840290508284828161091d57fe5b0414610974576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610d386021913960400191505060405180910390fd5b809150505b92915050565b6109cc8282600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109d09092919063ffffffff16565b5050565b610a9c838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610aa1565b505050565b610ac08273ffffffffffffffffffffffffffffffffffffffff16610cec565b610b32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310610b815780518252602082019150602081019050602083039250610b5e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610be3576040519150601f19603f3d011682016040523d82523d6000602084013e610be8565b606091505b509150915081610c60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115610ce657808060200190516020811015610c7f57600080fd5b8101908080519060200190929190505050610ce5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610daa602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b8214158015610d2e5750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7746696e616c697a61626c6543726f776473616c653a20616c72656164792066696e616c697a656443726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a72305820877307757541fcfe9be663d9d90003855ea6c158d414e887abf36c86c63a44e90029",
"sourceMap": "123:344:79:-;;;187:278;8:9:-1;5:2;;;30:1;27;20:12;5:2;187:278:79;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;187:278:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:11;384;327:4;333:6;341:5;879:1:148;863:13;:17;;;;2416:1:15;2409:4;:8;2401:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2478:1;2460:20;;:6;:20;;;;2452:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2566:1;2540:28;;2548:5;2540:28;;;;2532:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2628:4;2620:5;:12;;;;2652:6;2642:7;;:16;;;;;;;;;;;;;;;;;;2677:5;2668:6;;:14;;;;;;;;;;;;;;;;;;2319:370;;;1064:15:26;1049:11;:30;;1041:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1220:11;1206;:25;1198:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1317:11;1302:12;:26;;;;1353:11;1338:12;:26;;;;915:456;;459:5:16;446:10;;:18;;;;;;;;;;;;;;;;;;187:278:79;;;;;123:344;;;;;;",
"deployedSourceMap": "123:344:79:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3017:23:15;3027:12;:10;:12::i;:::-;3017:9;:23::i;:::-;123:344:79;2117:156:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2117:156:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3430:75:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3430:75:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3568:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3568:85:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1764:189:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1764:189:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1590:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1590:89:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;801:262:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;801:262:16;;;:::i;:::-;;3258:87:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3258:87:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;561:82:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;561:82:16;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1436:89:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1436:89:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3910:605:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3910:605:15;;;;;;;;;;;;;;;;;;;:::i;:::-;;3106:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3106:76:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;791:88:0;836:7;862:10;855:17;;791:88;:::o;3910:605:15:-;1313:1:148;1296:13;;:18;;;;;;;;;;;1324:20;1347:13;;1324:36;;3988:17:15;4008:9;3988:29;;4027:44;4048:11;4061:9;4027:20;:44::i;:::-;4130:14;4147:26;4163:9;4147:15;:26::i;:::-;4130:43;;4221:25;4236:9;4221:10;;:14;;:25;;;;:::i;:::-;4208:10;:38;;;;4257:37;4274:11;4287:6;4257:16;:37::i;:::-;4339:11;4309:61;;4325:12;:10;:12::i;:::-;4309:61;;;4352:9;4363:6;4309:61;;;;;;;;;;;;;;;;;;;;;;;;4381:46;4404:11;4417:9;4381:22;:46::i;:::-;4438:15;:13;:15::i;:::-;4463:45;4485:11;4498:9;4463:21;:45::i;:::-;1370:1:148;;1405:13;;1389:12;:29;1381:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3910:605:15;;:::o;2117:156:26:-;2159:4;2254:12;;2236:15;:30;2229:37;;2117:156;:::o;3430:75:15:-;3467:7;3493:5;;3486:12;;3430:75;:::o;3568:85::-;3610:7;3636:10;;3629:17;;3568:85;:::o;1764:189:26:-;1803:4;1899:12;;1880:15;:31;;:66;;;;;1934:12;;1915:15;:31;;1880:66;1873:73;;1764:189;:::o;1590:89::-;1634:7;1660:12;;1653:19;;1590:89;:::o;801:262:16:-;847:10;;;;;;;;;;;846:11;838:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;919:11;:9;:11::i;:::-;911:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;991:4;978:10;;:17;;;;;;;;;;;;;;;;;;1006:15;:13;:15::i;:::-;1036:20;;;;;;;;;;801:262::o;3258:87:15:-;3297:15;3331:7;;;;;;;;;;;3324:14;;3258:87;:::o;561:82:16:-;603:4;626:10;;;;;;;;;;;619:17;;561:82;:::o;1436:89:26:-;1480:7;1506:12;;1499:19;;1436:89;:::o;3106:76:15:-;3144:6;3169;;;;;;;;;;;3162:13;;3106:76;:::o;2466:165:26:-;672:8;:6;:8::i;:::-;664:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2574:50;2601:11;2614:9;2574:26;:50::i;:::-;2466:165;;:::o;7358:120:15:-;7425:7;7451:20;7465:5;;7451:9;:13;;:20;;;;:::i;:::-;7444:27;;7358:120;;;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;6560:134:15:-;6647:40;6662:11;6675;6647:14;:40::i;:::-;6560:134;;:::o;6964:145::-;;;:::o;7565:78::-;7609:7;;;;;;;;;;;:16;;:27;7626:9;7609:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7609:27:15;7565:78::o;5728:149::-;;;:::o;1272:98:16:-;:::o;5057:376:15:-;5182:1;5159:25;;:11;:25;;;;5151:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5262:1;5249:9;:14;;5241:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5057:376;;:::o;2271:459:48:-;2329:7;2575:1;2570;:6;2566:45;;;2599:1;2592:8;;;;2566:45;2621:9;2637:1;2633;:5;2621:17;;2665:1;2660;2656;:5;;;;;;:10;2648:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2722:1;2715:8;;;2271:459;;;;;:::o;6157:137:15:-;6242:45;6262:11;6275;6242:6;;;;;;;;;;;:19;;;;:45;;;;;:::i;:::-;6157:137;;:::o;662:174:126:-;744:85;763:5;793;:14;;;:23;;;;818:2;822:5;770:58;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;770:58:126;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;770:58:126;744:18;:85::i;:::-;662:174;;;:::o;2666:1095::-;3261:27;3269:5;3261:25;;;:27::i;:::-;3253:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3395:12;3409:23;3444:5;3436:19;;3456:4;3436:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3436:25:126;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3394:67:126;;;;3479:7;3471:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3558:1;3538:10;:17;:21;3534:221;;;3678:10;3667:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3667:30:126;;;;;;;;;;;;;;;;3659:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3534:221;2666:1095;;;;:::o;557:805:146:-;617:4;1070:16;1096:19;1118:66;1096:88;;;;1285:7;1273:20;1261:32;;1324:3;1312:15;;:8;:15;;:42;;;;;1343:11;1331:8;:23;;1312:42;1304:51;;;;557:805;;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../token/ERC20/IERC20.sol\";\nimport \"../crowdsale/distribution/FinalizableCrowdsale.sol\";\n\ncontract FinalizableCrowdsaleImpl is FinalizableCrowdsale {\n constructor (uint256 openingTime, uint256 closingTime, uint256 rate, address payable wallet, IERC20 token)\n public\n Crowdsale(rate, wallet, token)\n TimedCrowdsale(openingTime, closingTime)\n {\n // solhint-disable-previous-line no-empty-blocks\n }\n}\n",

@@ -248,10 +248,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/FinalizableCrowdsaleImpl.sol",

"FinalizableCrowdsaleImpl": [
7023
7002
]
},
"id": 7024,
"id": 7003,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6995,
"id": 6974,
"literals": [

@@ -269,6 +269,6 @@ "solidity",

"file": "../token/ERC20/IERC20.sol",
"id": 6996,
"id": 6975,
"nodeType": "ImportDirective",
"scope": 7024,
"sourceUnit": 10270,
"scope": 7003,
"sourceUnit": 10147,
"src": "25:35:79",

@@ -281,6 +281,6 @@ "symbolAliases": [],

"file": "../crowdsale/distribution/FinalizableCrowdsale.sol",
"id": 6997,
"id": 6976,
"nodeType": "ImportDirective",
"scope": 7024,
"sourceUnit": 2195,
"scope": 7003,
"sourceUnit": 2174,
"src": "61:60:79",

@@ -296,13 +296,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 6998,
"id": 6977,
"name": "FinalizableCrowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2194,
"referencedDeclaration": 2173,
"src": "160:20:79",
"typeDescriptions": {
"typeIdentifier": "t_contract$_FinalizableCrowdsale_$2194",
"typeIdentifier": "t_contract$_FinalizableCrowdsale_$2173",
"typeString": "contract FinalizableCrowdsale"
}
},
"id": 6999,
"id": 6978,
"nodeType": "InheritanceSpecifier",

@@ -314,6 +314,6 @@ "src": "160:20:79"

26,
2134,
2194,
3102,
13448
2113,
2173,
3081,
13325
],

@@ -323,9 +323,9 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7023,
"id": 7002,
"linearizedBaseContracts": [
7023,
2194,
3102,
2134,
13448,
7002,
2173,
3081,
2113,
13325,
26

@@ -338,3 +338,3 @@ ],

"body": {
"id": 7021,
"id": 7000,
"nodeType": "Block",

@@ -345,3 +345,3 @@ "src": "401:64:79",

"documentation": null,
"id": 7022,
"id": 7001,
"implemented": true,

@@ -354,7 +354,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 7012,
"id": 6991,
"name": "rate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7005,
"referencedDeclaration": 6984,
"src": "327:4:79",

@@ -368,7 +368,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7013,
"id": 6992,
"name": "wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7007,
"referencedDeclaration": 6986,
"src": "333:6:79",

@@ -382,10 +382,10 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7014,
"id": 6993,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7009,
"referencedDeclaration": 6988,
"src": "341:5:79",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -395,13 +395,13 @@ }

],
"id": 7015,
"id": 6994,
"modifierName": {
"argumentTypes": null,
"id": 7011,
"id": 6990,
"name": "Crowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "317:9:79",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2134_$",
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2113_$",
"typeString": "type(contract Crowdsale)"

@@ -417,7 +417,7 @@ }

"argumentTypes": null,
"id": 7017,
"id": 6996,
"name": "openingTime",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7001,
"referencedDeclaration": 6980,
"src": "371:11:79",

@@ -431,7 +431,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7018,
"id": 6997,
"name": "closingTime",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7003,
"referencedDeclaration": 6982,
"src": "384:11:79",

@@ -444,13 +444,13 @@ "typeDescriptions": {

],
"id": 7019,
"id": 6998,
"modifierName": {
"argumentTypes": null,
"id": 7016,
"id": 6995,
"name": "TimedCrowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3102,
"referencedDeclaration": 3081,
"src": "356:14:79",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_TimedCrowdsale_$3102_$",
"typeIdentifier": "t_type$_t_contract$_TimedCrowdsale_$3081_$",
"typeString": "type(contract TimedCrowdsale)"

@@ -466,3 +466,3 @@ }

"parameters": {
"id": 7010,
"id": 6989,
"nodeType": "ParameterList",

@@ -472,6 +472,6 @@ "parameters": [

"constant": false,
"id": 7001,
"id": 6980,
"name": "openingTime",
"nodeType": "VariableDeclaration",
"scope": 7022,
"scope": 7001,
"src": "200:19:79",

@@ -485,3 +485,3 @@ "stateVariable": false,

"typeName": {
"id": 7000,
"id": 6979,
"name": "uint256",

@@ -500,6 +500,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7003,
"id": 6982,
"name": "closingTime",
"nodeType": "VariableDeclaration",
"scope": 7022,
"scope": 7001,
"src": "221:19:79",

@@ -513,3 +513,3 @@ "stateVariable": false,

"typeName": {
"id": 7002,
"id": 6981,
"name": "uint256",

@@ -528,6 +528,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7005,
"id": 6984,
"name": "rate",
"nodeType": "VariableDeclaration",
"scope": 7022,
"scope": 7001,
"src": "242:12:79",

@@ -541,3 +541,3 @@ "stateVariable": false,

"typeName": {
"id": 7004,
"id": 6983,
"name": "uint256",

@@ -556,6 +556,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7007,
"id": 6986,
"name": "wallet",
"nodeType": "VariableDeclaration",
"scope": 7022,
"scope": 7001,
"src": "256:22:79",

@@ -569,3 +569,3 @@ "stateVariable": false,

"typeName": {
"id": 7006,
"id": 6985,
"name": "address",

@@ -585,6 +585,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7009,
"id": 6988,
"name": "token",
"nodeType": "VariableDeclaration",
"scope": 7022,
"scope": 7001,
"src": "280:12:79",

@@ -594,3 +594,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -600,9 +600,9 @@ },

"contractScope": null,
"id": 7008,
"id": 6987,
"name": "IERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10269,
"referencedDeclaration": 10146,
"src": "280:6:79",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -618,3 +618,3 @@ }

"returnParameters": {
"id": 7020,
"id": 6999,
"nodeType": "ParameterList",

@@ -624,3 +624,3 @@ "parameters": [],

},
"scope": 7023,
"scope": 7002,
"src": "187:278:79",

@@ -632,3 +632,3 @@ "stateMutability": "nonpayable",

],
"scope": 7024,
"scope": 7003,
"src": "123:344:79"

@@ -643,10 +643,10 @@ }

"FinalizableCrowdsaleImpl": [
7023
7002
]
},
"id": 7024,
"id": 7003,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6995,
"id": 6974,
"literals": [

@@ -664,6 +664,6 @@ "solidity",

"file": "../token/ERC20/IERC20.sol",
"id": 6996,
"id": 6975,
"nodeType": "ImportDirective",
"scope": 7024,
"sourceUnit": 10270,
"scope": 7003,
"sourceUnit": 10147,
"src": "25:35:79",

@@ -676,6 +676,6 @@ "symbolAliases": [],

"file": "../crowdsale/distribution/FinalizableCrowdsale.sol",
"id": 6997,
"id": 6976,
"nodeType": "ImportDirective",
"scope": 7024,
"sourceUnit": 2195,
"scope": 7003,
"sourceUnit": 2174,
"src": "61:60:79",

@@ -691,13 +691,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 6998,
"id": 6977,
"name": "FinalizableCrowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2194,
"referencedDeclaration": 2173,
"src": "160:20:79",
"typeDescriptions": {
"typeIdentifier": "t_contract$_FinalizableCrowdsale_$2194",
"typeIdentifier": "t_contract$_FinalizableCrowdsale_$2173",
"typeString": "contract FinalizableCrowdsale"
}
},
"id": 6999,
"id": 6978,
"nodeType": "InheritanceSpecifier",

@@ -709,6 +709,6 @@ "src": "160:20:79"

26,
2134,
2194,
3102,
13448
2113,
2173,
3081,
13325
],

@@ -718,9 +718,9 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7023,
"id": 7002,
"linearizedBaseContracts": [
7023,
2194,
3102,
2134,
13448,
7002,
2173,
3081,
2113,
13325,
26

@@ -733,3 +733,3 @@ ],

"body": {
"id": 7021,
"id": 7000,
"nodeType": "Block",

@@ -740,3 +740,3 @@ "src": "401:64:79",

"documentation": null,
"id": 7022,
"id": 7001,
"implemented": true,

@@ -749,7 +749,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 7012,
"id": 6991,
"name": "rate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7005,
"referencedDeclaration": 6984,
"src": "327:4:79",

@@ -763,7 +763,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7013,
"id": 6992,
"name": "wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7007,
"referencedDeclaration": 6986,
"src": "333:6:79",

@@ -777,10 +777,10 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7014,
"id": 6993,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7009,
"referencedDeclaration": 6988,
"src": "341:5:79",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -790,13 +790,13 @@ }

],
"id": 7015,
"id": 6994,
"modifierName": {
"argumentTypes": null,
"id": 7011,
"id": 6990,
"name": "Crowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "317:9:79",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2134_$",
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2113_$",
"typeString": "type(contract Crowdsale)"

@@ -812,7 +812,7 @@ }

"argumentTypes": null,
"id": 7017,
"id": 6996,
"name": "openingTime",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7001,
"referencedDeclaration": 6980,
"src": "371:11:79",

@@ -826,7 +826,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7018,
"id": 6997,
"name": "closingTime",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7003,
"referencedDeclaration": 6982,
"src": "384:11:79",

@@ -839,13 +839,13 @@ "typeDescriptions": {

],
"id": 7019,
"id": 6998,
"modifierName": {
"argumentTypes": null,
"id": 7016,
"id": 6995,
"name": "TimedCrowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3102,
"referencedDeclaration": 3081,
"src": "356:14:79",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_TimedCrowdsale_$3102_$",
"typeIdentifier": "t_type$_t_contract$_TimedCrowdsale_$3081_$",
"typeString": "type(contract TimedCrowdsale)"

@@ -861,3 +861,3 @@ }

"parameters": {
"id": 7010,
"id": 6989,
"nodeType": "ParameterList",

@@ -867,6 +867,6 @@ "parameters": [

"constant": false,
"id": 7001,
"id": 6980,
"name": "openingTime",
"nodeType": "VariableDeclaration",
"scope": 7022,
"scope": 7001,
"src": "200:19:79",

@@ -880,3 +880,3 @@ "stateVariable": false,

"typeName": {
"id": 7000,
"id": 6979,
"name": "uint256",

@@ -895,6 +895,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7003,
"id": 6982,
"name": "closingTime",
"nodeType": "VariableDeclaration",
"scope": 7022,
"scope": 7001,
"src": "221:19:79",

@@ -908,3 +908,3 @@ "stateVariable": false,

"typeName": {
"id": 7002,
"id": 6981,
"name": "uint256",

@@ -923,6 +923,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7005,
"id": 6984,
"name": "rate",
"nodeType": "VariableDeclaration",
"scope": 7022,
"scope": 7001,
"src": "242:12:79",

@@ -936,3 +936,3 @@ "stateVariable": false,

"typeName": {
"id": 7004,
"id": 6983,
"name": "uint256",

@@ -951,6 +951,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7007,
"id": 6986,
"name": "wallet",
"nodeType": "VariableDeclaration",
"scope": 7022,
"scope": 7001,
"src": "256:22:79",

@@ -964,3 +964,3 @@ "stateVariable": false,

"typeName": {
"id": 7006,
"id": 6985,
"name": "address",

@@ -980,6 +980,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7009,
"id": 6988,
"name": "token",
"nodeType": "VariableDeclaration",
"scope": 7022,
"scope": 7001,
"src": "280:12:79",

@@ -989,3 +989,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -995,9 +995,9 @@ },

"contractScope": null,
"id": 7008,
"id": 6987,
"name": "IERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10269,
"referencedDeclaration": 10146,
"src": "280:6:79",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -1013,3 +1013,3 @@ }

"returnParameters": {
"id": 7020,
"id": 6999,
"nodeType": "ParameterList",

@@ -1019,3 +1019,3 @@ "parameters": [],

},
"scope": 7023,
"scope": 7002,
"src": "187:278:79",

@@ -1027,3 +1027,3 @@ "stateMutability": "nonpayable",

],
"scope": 7024,
"scope": 7003,
"src": "123:344:79"

@@ -1040,3 +1040,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.752Z",
"updatedAt": "2019-08-16T19:32:31.269Z",
"devdoc": {

@@ -1043,0 +1043,0 @@ "methods": {

@@ -176,7 +176,7 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"mockFunction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getHubAddr\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"context\",\"type\":\"bytes\"}],\"name\":\"preRelayedCall\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"relay\",\"type\":\"address\"},{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"encodedFunction\",\"type\":\"bytes\"},{\"name\":\"transactionFee\",\"type\":\"uint256\"},{\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\"},{\"name\":\"approvalData\",\"type\":\"bytes\"},{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"acceptRelayedCall\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"relayHubVersion\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"context\",\"type\":\"bytes\"},{\"name\":\"success\",\"type\":\"bool\"},{\"name\":\"actualCharge\",\"type\":\"uint256\"},{\"name\":\"preRetVal\",\"type\":\"bytes32\"}],\"name\":\"postRelayedCall\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"trustedSigner\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"MockFunctionCalled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"oldRelayHub\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newRelayHub\",\"type\":\"address\"}],\"name\":\"RelayHubChanged\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"postRelayedCall(bytes,bool,uint256,bytes32)\":{\"details\":\"See `IRelayRecipient.postRelayedCall`. * This function should not be overriden directly, use `_postRelayedCall` instead. * * Requirements: * - the caller must be the `RelayHub` contract.\"},\"preRelayedCall(bytes)\":{\"details\":\"See `IRelayRecipient.preRelayedCall`. * This function should not be overriden directly, use `_preRelayedCall` instead. * * Requirements: * - the caller must be the `RelayHub` contract.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/GSNBouncerSignatureMock.sol\":\"GSNBouncerSignatureMock\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/GSN/GSNContext.sol\":{\"keccak256\":\"0x03102eeae3a84dfadee67f2eaa1e3cc7cc5b2d429cd0e85fc1ba99791adc7f8a\",\"urls\":[\"bzzr://3cdd231fe38f3e9540dc9689e2cfdf4b322acd5ff93dafc3bae2dc9aab24deb7\"]},\"/home/frangio/oz/contracts/contracts/GSN/GSNRecipient.sol\":{\"keccak256\":\"0x0aa80db75be2b4e851d339fdb3fb7129a28603ed0928cdc1462ad0f5146673f6\",\"urls\":[\"bzzr://def47ebbb27467e26173f17815b3244ff04437c53e8572acb690365e8f006805\"]},\"/home/frangio/oz/contracts/contracts/GSN/IRelayHub.sol\":{\"keccak256\":\"0xd4f5108ea9c6714571e009008c0b9df15e11c2b8a4166629bd0b39eb2e9d2238\",\"urls\":[\"bzzr://8bd2802d52f95a9a80062af71cfda7406a690361b19746e7e1eb59068c74c796\"]},\"/home/frangio/oz/contracts/contracts/GSN/IRelayRecipient.sol\":{\"keccak256\":\"0x11bb9457a11aa8b90bc102827ac1f7dd04aa79eb7eecb1e0b08c18ceed730a85\",\"urls\":[\"bzzr://29a45e7e96445c9ad85b3aa2c759670b0bfa979a0ad6565542b3ea0a35818b25\"]},\"/home/frangio/oz/contracts/contracts/GSN/bouncers/GSNBouncerBase.sol\":{\"keccak256\":\"0x2a0348ca965ee1e26d99ffd3bac7a033079395a3dc0f82be2ea8e87d98e8f841\",\"urls\":[\"bzzr://cf76d0146ad9e4025cb2acecbc2881cc81dafcf58ac036f1d8ad0e696639b8e4\"]},\"/home/frangio/oz/contracts/contracts/GSN/bouncers/GSNBouncerSignature.sol\":{\"keccak256\":\"0x12dc9acd6d7330c7221c7c3bf4daaef2889dbca0dd7a992bf9b2b8aaaef97e23\",\"urls\":[\"bzzr://23d347e75c988c94d30ecbff55fae90429bb0b27335859c7aecce37d2c1567f0\"]},\"/home/frangio/oz/contracts/contracts/cryptography/ECDSA.sol\":{\"keccak256\":\"0x90b5efd4295fce6dbe417837ce7ceb0e2bf12bc1880ee60a02714652f5082a8d\",\"urls\":[\"bzzr://6fd78f7a642f1d8311fb83afac7e15c838cb84a7a88a4a17f5073a07ddbe761d\"]},\"/home/frangio/oz/contracts/contracts/mocks/GSNBouncerSignatureMock.sol\":{\"keccak256\":\"0x3348013420a826a842ab40bd00989ed05ca879fbd329cf3fd4481b428aaa1b47\",\"urls\":[\"bzzr://369cd8baa7de6d345fd5e2ce750f7e3dd46a58ff601e9991db6a8412d54e48ac\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50604051602080610db78339810180604052602081101561003057600080fd5b81019080805190602001909291905050508061006573d216153c06e857cd7f72665e0af1d7d82172f4946100ac60201b60201c565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610284565b60006100bc61025360201b60201c565b9050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610144576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610d8b602c913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156101c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180610d60602b913960400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fb9f84b8e65164b14439ae3620df0a4d8786d896996c0282b683f9d8c08f046e860405160405180910390a360007f06b7792c761dcc05af1761f0315ce8b01ac39c16cc934eb0b2f7a8e71414f26260001b9050828155505050565b6000807f06b7792c761dcc05af1761f0315ce8b01ac39c16cc934eb0b2f7a8e71414f26260001b9050805491505090565b610acd806102936000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633e6fec041461006757806374e861d61461007157806380274db7146100bb57806383947ea014610148578063ad61ccd514610309578063e06e0e221461038c575b600080fd5b61006f610425565b005b610079610453565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610132600480360360208110156100d157600080fd5b81019080803590602001906401000000008111156100ee57600080fd5b82018360208201111561010057600080fd5b8035906020019184600183028401116401000000008311171561012257600080fd5b9091929391929390505050610462565b6040518082815260200191505060405180910390f35b610287600480360361012081101561015f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101bc57600080fd5b8201836020820111156101ce57600080fd5b803590602001918460018302840111640100000000831117156101f057600080fd5b9091929391929390803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561023957600080fd5b82018360208201111561024b57600080fd5b8035906020019184600183028401116401000000008311171561026d57600080fd5b909192939192939080359060200190929190505050610544565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156102cd5780820151818401526020810190506102b2565b50505050905090810190601f1680156102fa5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b61031161076d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610351578082015181840152602081019050610336565b50505050905090810190601f16801561037e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610423600480360360808110156103a257600080fd5b81019080803590602001906401000000008111156103bf57600080fd5b8201836020820111156103d157600080fd5b803590602001918460018302840111640100000000831117156103f357600080fd5b909192939192939080351515906020019092919080359060200190929190803590602001909291905050506107aa565b005b7f52c66ed6ec9ca819cba26fe2b2650059270d8981b295af300187a964f54a8c2360405160405180910390a1565b600061045d61088c565b905090565b600061046c610453565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610a7c6026913960400191505060405180910390fd5b61053c83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506108bd565b905092915050565b60006060808d8d8d8d8d8d8d8d610559610453565b30604051602001808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401898980828437808301925050508781526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014019a505050505050505050505060405160208183030381529060405290506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661071587878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061070784805190602001206108c4565b61091c90919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16141561074357610739610a20565b925092505061075d565b61075760008081111561075257fe5b610a44565b92509250505b9b509b9950505050505050505050565b60606040518060400160405280600581526020017f312e302e30000000000000000000000000000000000000000000000000000000815250905090565b6107b2610453565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610835576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610a7c6026913960400191505060405180910390fd5b61088585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050848484610a65565b5050505050565b6000807f06b7792c761dcc05af1761f0315ce8b01ac39c16cc934eb0b2f7a8e71414f26260001b9050805491505090565b6000919050565b60008160405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001209050919050565b600060418251146109305760009050610a1a565b60008060006020850151925060408501519150606085015160001a90507f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c11156109845760009350505050610a1a565b601b8160ff161415801561099c5750601c8160ff1614155b156109ad5760009350505050610a1a565b60018682858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610a0a573d6000803e3d6000fd5b5050506020604051035193505050505b92915050565b60006060610a3c60405180602001604052806000815250610a6b565b915091509091565b6000606082600b016040518060200160405280600081525091509150915091565b50505050565b600060606000839150915091509156fe47534e426f756e636572426173653a2063616c6c6572206973206e6f742052656c6179487562a165627a7a72305820195c4eddde7f356f14185ddc47dc500c186e320b8e21ef1896ecca323d030a3b002947534e436f6e746578743a206e65772052656c6179487562206973207468652063757272656e74206f6e6547534e436f6e746578743a206e65772052656c617948756220697320746865207a65726f2061646472657373",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80633e6fec041461006757806374e861d61461007157806380274db7146100bb57806383947ea014610148578063ad61ccd514610309578063e06e0e221461038c575b600080fd5b61006f610425565b005b610079610453565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610132600480360360208110156100d157600080fd5b81019080803590602001906401000000008111156100ee57600080fd5b82018360208201111561010057600080fd5b8035906020019184600183028401116401000000008311171561012257600080fd5b9091929391929390505050610462565b6040518082815260200191505060405180910390f35b610287600480360361012081101561015f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101bc57600080fd5b8201836020820111156101ce57600080fd5b803590602001918460018302840111640100000000831117156101f057600080fd5b9091929391929390803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561023957600080fd5b82018360208201111561024b57600080fd5b8035906020019184600183028401116401000000008311171561026d57600080fd5b909192939192939080359060200190929190505050610544565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156102cd5780820151818401526020810190506102b2565b50505050905090810190601f1680156102fa5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b61031161076d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610351578082015181840152602081019050610336565b50505050905090810190601f16801561037e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610423600480360360808110156103a257600080fd5b81019080803590602001906401000000008111156103bf57600080fd5b8201836020820111156103d157600080fd5b803590602001918460018302840111640100000000831117156103f357600080fd5b909192939192939080351515906020019092919080359060200190929190803590602001909291905050506107aa565b005b7f52c66ed6ec9ca819cba26fe2b2650059270d8981b295af300187a964f54a8c2360405160405180910390a1565b600061045d61088c565b905090565b600061046c610453565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610a7c6026913960400191505060405180910390fd5b61053c83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506108bd565b905092915050565b60006060808d8d8d8d8d8d8d8d610559610453565b30604051602001808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401898980828437808301925050508781526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014019a505050505050505050505060405160208183030381529060405290506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661071587878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061070784805190602001206108c4565b61091c90919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16141561074357610739610a20565b925092505061075d565b61075760008081111561075257fe5b610a44565b92509250505b9b509b9950505050505050505050565b60606040518060400160405280600581526020017f312e302e30000000000000000000000000000000000000000000000000000000815250905090565b6107b2610453565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610835576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610a7c6026913960400191505060405180910390fd5b61088585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050848484610a65565b5050505050565b6000807f06b7792c761dcc05af1761f0315ce8b01ac39c16cc934eb0b2f7a8e71414f26260001b9050805491505090565b6000919050565b60008160405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001209050919050565b600060418251146109305760009050610a1a565b60008060006020850151925060408501519150606085015160001a90507f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c11156109845760009350505050610a1a565b601b8160ff161415801561099c5750601c8160ff1614155b156109ad5760009350505050610a1a565b60018682858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610a0a573d6000803e3d6000fd5b5050506020604051035193505050505b92915050565b60006060610a3c60405180602001604052806000815250610a6b565b915091509091565b6000606082600b016040518060200160405280600081525091509150915091565b50505050565b600060606000839150915091509156fe47534e426f756e636572426173653a2063616c6c6572206973206e6f742052656c6179487562a165627a7a72305820195c4eddde7f356f14185ddc47dc500c186e320b8e21ef1896ecca323d030a3b0029",
"sourceMap": "110:331:81:-;;;186:141;8:9:-1;5:2;;;30:1;27;20:12;5:2;186:141:81;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;186:141:81;;;;;;;;;;;;;;;;248:13;872:60:1;889:42;872:16;;;:60;;:::i;:::-;356:13:7;339:14;;:30;;;;;;;;;;;;;;;;;;287:89;186:141:81;110:331;;1199:541:1;1265:23;1291:14;:12;;;:14;;:::i;:::-;1265:40;;1346:1;1323:25;;:11;:25;;;;1315:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1430:15;1415:30;;:11;:30;;;;1407:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1542:11;1509:45;;1525:15;1509:45;;;;;;;;;;;;1565:12;680:66;1580:30;;1565:45;;1712:11;1706:4;1699:25;1685:49;;;:::o;945:248::-;992:16;1020:12;680:66;1035:30;;1020:45;;1172:4;1166:11;1154:23;;1140:47;;:::o;110:331:81:-;;;;;;;",
"deployedSourceMap": "110:331:81:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;110:331:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;366:73;;;:::i;:::-;;417:90:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;936:210:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;936:210:5;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;936:210:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;936:210:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;936:210:5;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;382:1002:7;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;382:1002:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;382:1002:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;382:1002:7;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;382:1002:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;382:1002:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;382:1002:7;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;382:1002:7;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;382:1002:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;621:227:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;621:227:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1403:276:5;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1403:276:5;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1403:276:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1403:276:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1403:276:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;366:73:81;412:20;;;;;;;;;;366:73::o;417:90:2:-;460:7;486:14;:12;:14::i;:::-;479:21;;417:90;:::o;936:210:5:-;1002:7;1043:12;:10;:12::i;:::-;1029:26;;:10;:26;;;1021:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1115:24;1131:7;;1115:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1115:24:5;;;;;;:15;:24::i;:::-;1108:31;;936:210;;;;:::o;382:1002:7:-;708:7;717:12;745:17;795:5;814:4;832:15;;861:14;889:8;911;933:5;984:12;:10;:12::i;:::-;1060:4;765:353;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;765:353:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;765:353:7;;;745:373;;1198:14;;;;;;;;;;;1132:80;;:62;1181:12;;1132:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1132:62:7;;;;;;:40;1142:4;1132:15;;;;;;:38;:40::i;:::-;:48;;:62;;;;:::i;:::-;:80;;;1128:250;;;1235:21;:19;:21::i;:::-;1228:28;;;;;;;1128:250;1294:73;1321:44;1313:53;;;;;;;;1294:18;:73::i;:::-;1287:80;;;;;382:1002;;;;;;;;;;;;;;;:::o;621:227:2:-;669:13;827:14;;;;;;;;;;;;;;;;;;;621:227;:::o;1403:276:5:-;1548:12;:10;:12::i;:::-;1534:26;;:10;:26;;;1526:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1613:59;1630:7;;1613:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1613:59:5;;;;;;1639:7;1648:12;1662:9;1613:16;:59::i;:::-;1403:276;;;;;:::o;945:248:1:-;992:16;1020:12;680:66;1035:30;;1020:45;;1172:4;1166:11;1154:23;;1140:47;;:::o;2704:130:5:-;2761:7;2704:130;;;:::o;3382:265:28:-;3451:7;3634:4;3581:58;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3581:58:28;;;3571:69;;;;;;3564:76;;3382:265;;;:::o;1227:1891::-;1305:7;1386:2;1366:9;:16;:22;1362:72;;1420:1;1404:19;;;;1362:72;1500:9;1519;1538:7;1784:4;1773:9;1769:20;1763:27;1758:32;;1829:4;1818:9;1814:20;1808:27;1803:32;;1882:4;1871:9;1867:20;1861:27;1858:1;1853:36;1848:41;;2800:66;2795:1;2787:10;;:79;2783:127;;;2897:1;2882:17;;;;;;;2783:127;2929:2;2924:1;:7;;;;:18;;;;;2940:2;2935:1;:7;;;;2924:18;2920:66;;;2973:1;2958:17;;;;;;;2920:66;3087:24;3097:4;3103:1;3106;3109;3087:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3087:24:28;;;;;;;;3080:31;;;;;1227:1891;;;;;:::o;1860:124:5:-;1914:7;1923:12;1954:23;;;;;;;;;;;;;:19;:23::i;:::-;1947:30;;;;1860:124;;:::o;2432:156::-;2502:7;2511:12;2567:9;418:2;2543:33;2535:46;;;;;;;;;;;;;;;;2432:156;;;:::o;2840:137::-;;;;;:::o;2148:153::-;2222:7;2231:12;362:1;2286:7;2255:39;;;;2148:153;;;:::o",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"mockFunction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getHubAddr\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"context\",\"type\":\"bytes\"}],\"name\":\"preRelayedCall\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"relay\",\"type\":\"address\"},{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"encodedFunction\",\"type\":\"bytes\"},{\"name\":\"transactionFee\",\"type\":\"uint256\"},{\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\"},{\"name\":\"approvalData\",\"type\":\"bytes\"},{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"acceptRelayedCall\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"relayHubVersion\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"context\",\"type\":\"bytes\"},{\"name\":\"success\",\"type\":\"bool\"},{\"name\":\"actualCharge\",\"type\":\"uint256\"},{\"name\":\"preRetVal\",\"type\":\"bytes32\"}],\"name\":\"postRelayedCall\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"trustedSigner\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"MockFunctionCalled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"oldRelayHub\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newRelayHub\",\"type\":\"address\"}],\"name\":\"RelayHubChanged\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"acceptRelayedCall(address,address,bytes,uint256,uint256,uint256,uint256,bytes,uint256)\":{\"details\":\"Ensures that only transactions with a trusted signature can be relayed through the GSN.\"},\"getHubAddr()\":{\"details\":\"Returns the RelayHub address for this recipient contract.\"},\"postRelayedCall(bytes,bool,uint256,bytes32)\":{\"details\":\"See `IRelayRecipient.postRelayedCall`. * This function should not be overriden directly, use `_postRelayedCall` instead. * * Requirements: * - the caller must be the `RelayHub` contract.\"},\"preRelayedCall(bytes)\":{\"details\":\"See `IRelayRecipient.preRelayedCall`. * This function should not be overriden directly, use `_preRelayedCall` instead. * * Requirements: * - the caller must be the `RelayHub` contract.\"},\"relayHubVersion()\":{\"details\":\"This function returns the version string of the RelayHub for which this recipient implementation was built. It's not currently used, but may be used by tooling.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/GSNBouncerSignatureMock.sol\":\"GSNBouncerSignatureMock\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/GSN/GSNContext.sol\":{\"keccak256\":\"0xe4e2826dc25f7337f523695f860d4f117eab9b43ad6cc25eb4dbfaea302dc15b\",\"urls\":[\"bzzr://1668cbae08944067392e54d012588caa38cf08eeaaaf1c5a54b66774c01b3dba\"]},\"/home/frangio/oz/contracts/contracts/GSN/GSNRecipient.sol\":{\"keccak256\":\"0x51bb0ca51e8150bf0eefcd29c4398dbf0548f52eb0bad8c46628f524f2f0dd18\",\"urls\":[\"bzzr://a57c188dcf908defdbf9743677c215f6d3d826e70573252cb558e96c32328fe4\"]},\"/home/frangio/oz/contracts/contracts/GSN/IRelayHub.sol\":{\"keccak256\":\"0xd4f5108ea9c6714571e009008c0b9df15e11c2b8a4166629bd0b39eb2e9d2238\",\"urls\":[\"bzzr://8bd2802d52f95a9a80062af71cfda7406a690361b19746e7e1eb59068c74c796\"]},\"/home/frangio/oz/contracts/contracts/GSN/IRelayRecipient.sol\":{\"keccak256\":\"0x11bb9457a11aa8b90bc102827ac1f7dd04aa79eb7eecb1e0b08c18ceed730a85\",\"urls\":[\"bzzr://29a45e7e96445c9ad85b3aa2c759670b0bfa979a0ad6565542b3ea0a35818b25\"]},\"/home/frangio/oz/contracts/contracts/GSN/bouncers/GSNBouncerBase.sol\":{\"keccak256\":\"0x2a0348ca965ee1e26d99ffd3bac7a033079395a3dc0f82be2ea8e87d98e8f841\",\"urls\":[\"bzzr://cf76d0146ad9e4025cb2acecbc2881cc81dafcf58ac036f1d8ad0e696639b8e4\"]},\"/home/frangio/oz/contracts/contracts/GSN/bouncers/GSNBouncerSignature.sol\":{\"keccak256\":\"0xab1264d3de01a6280ab3ee9b267e002697cd30ed4dec5ae8bc4a92dd12b2747c\",\"urls\":[\"bzzr://e4fb2d4ba1e2b678b206ab4dc43abd21b0ffc98b8d3830b98782584fa2d6109f\"]},\"/home/frangio/oz/contracts/contracts/cryptography/ECDSA.sol\":{\"keccak256\":\"0x90b5efd4295fce6dbe417837ce7ceb0e2bf12bc1880ee60a02714652f5082a8d\",\"urls\":[\"bzzr://6fd78f7a642f1d8311fb83afac7e15c838cb84a7a88a4a17f5073a07ddbe761d\"]},\"/home/frangio/oz/contracts/contracts/mocks/GSNBouncerSignatureMock.sol\":{\"keccak256\":\"0x3348013420a826a842ab40bd00989ed05ca879fbd329cf3fd4481b428aaa1b47\",\"urls\":[\"bzzr://369cd8baa7de6d345fd5e2ce750f7e3dd46a58ff601e9991db6a8412d54e48ac\"]}},\"version\":1}",
"bytecode": "0x608060405273d216153c06e857cd7f72665e0af1d7d82172f4946000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561006457600080fd5b50604051602080610b9f8339810180604052602081101561008457600080fd5b81019080805190602001909291905050508080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610ab7806100e86000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633e6fec041461006757806374e861d61461007157806380274db7146100bb57806383947ea014610148578063ad61ccd514610309578063e06e0e221461038c575b600080fd5b61006f610425565b005b610079610453565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610132600480360360208110156100d157600080fd5b81019080803590602001906401000000008111156100ee57600080fd5b82018360208201111561010057600080fd5b8035906020019184600183028401116401000000008311171561012257600080fd5b909192939192939050505061047c565b6040518082815260200191505060405180910390f35b610287600480360361012081101561015f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101bc57600080fd5b8201836020820111156101ce57600080fd5b803590602001918460018302840111640100000000831117156101f057600080fd5b9091929391929390803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561023957600080fd5b82018360208201111561024b57600080fd5b8035906020019184600183028401116401000000008311171561026d57600080fd5b90919293919293908035906020019092919050505061055e565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156102cd5780820151818401526020810190506102b2565b50505050905090810190601f1680156102fa5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b610311610788565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610351578082015181840152602081019050610336565b50505050905090810190601f16801561037e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610423600480360360808110156103a257600080fd5b81019080803590602001906401000000008111156103bf57600080fd5b8201836020820111156103d157600080fd5b803590602001918460018302840111640100000000831117156103f357600080fd5b909192939192939080351515906020019092919080359060200190929190803590602001909291905050506107c5565b005b7f52c66ed6ec9ca819cba26fe2b2650059270d8981b295af300187a964f54a8c2360405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610486610453565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610509576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610a666026913960400191505060405180910390fd5b61055683838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506108a7565b905092915050565b60006060808d8d8d8d8d8d8d8d610573610453565b30604051602001808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401898980828437808301925050508781526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014019a50505050505050505050506040516020818303038152906040529050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661073087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061072284805190602001206108ae565b61090690919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16141561075e57610754610a0a565b9250925050610778565b61077260008081111561076d57fe5b610a2e565b92509250505b9b509b9950505050505050505050565b60606040518060400160405280600581526020017f312e302e30000000000000000000000000000000000000000000000000000000815250905090565b6107cd610453565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610850576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610a666026913960400191505060405180910390fd5b6108a085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050848484610a4f565b5050505050565b6000919050565b60008160405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001209050919050565b6000604182511461091a5760009050610a04565b60008060006020850151925060408501519150606085015160001a90507f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c111561096e5760009350505050610a04565b601b8160ff16141580156109865750601c8160ff1614155b156109975760009350505050610a04565b60018682858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156109f4573d6000803e3d6000fd5b5050506020604051035193505050505b92915050565b60006060610a2660405180602001604052806000815250610a55565b915091509091565b6000606082600b016040518060200160405280600081525091509150915091565b50505050565b600060606000839150915091509156fe47534e426f756e636572426173653a2063616c6c6572206973206e6f742052656c6179487562a165627a7a723058205280710bb3d1f079fda7777b179d626aee9b8f3e376489eea9d587dcd29aff4e0029",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80633e6fec041461006757806374e861d61461007157806380274db7146100bb57806383947ea014610148578063ad61ccd514610309578063e06e0e221461038c575b600080fd5b61006f610425565b005b610079610453565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610132600480360360208110156100d157600080fd5b81019080803590602001906401000000008111156100ee57600080fd5b82018360208201111561010057600080fd5b8035906020019184600183028401116401000000008311171561012257600080fd5b909192939192939050505061047c565b6040518082815260200191505060405180910390f35b610287600480360361012081101561015f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101bc57600080fd5b8201836020820111156101ce57600080fd5b803590602001918460018302840111640100000000831117156101f057600080fd5b9091929391929390803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561023957600080fd5b82018360208201111561024b57600080fd5b8035906020019184600183028401116401000000008311171561026d57600080fd5b90919293919293908035906020019092919050505061055e565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156102cd5780820151818401526020810190506102b2565b50505050905090810190601f1680156102fa5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b610311610788565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610351578082015181840152602081019050610336565b50505050905090810190601f16801561037e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610423600480360360808110156103a257600080fd5b81019080803590602001906401000000008111156103bf57600080fd5b8201836020820111156103d157600080fd5b803590602001918460018302840111640100000000831117156103f357600080fd5b909192939192939080351515906020019092919080359060200190929190803590602001909291905050506107c5565b005b7f52c66ed6ec9ca819cba26fe2b2650059270d8981b295af300187a964f54a8c2360405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610486610453565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610509576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610a666026913960400191505060405180910390fd5b61055683838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506108a7565b905092915050565b60006060808d8d8d8d8d8d8d8d610573610453565b30604051602001808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401898980828437808301925050508781526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014019a50505050505050505050506040516020818303038152906040529050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661073087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061072284805190602001206108ae565b61090690919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16141561075e57610754610a0a565b9250925050610778565b61077260008081111561076d57fe5b610a2e565b92509250505b9b509b9950505050505050505050565b60606040518060400160405280600581526020017f312e302e30000000000000000000000000000000000000000000000000000000815250905090565b6107cd610453565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610850576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610a666026913960400191505060405180910390fd5b6108a085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050848484610a4f565b5050505050565b6000919050565b60008160405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001209050919050565b6000604182511461091a5760009050610a04565b60008060006020850151925060408501519150606085015160001a90507f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c111561096e5760009350505050610a04565b601b8160ff16141580156109865750601c8160ff1614155b156109975760009350505050610a04565b60018682858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156109f4573d6000803e3d6000fd5b5050506020604051035193505050505b92915050565b60006060610a2660405180602001604052806000815250610a55565b915091509091565b6000606082600b016040518060200160405280600081525091509150915091565b50505050565b600060606000839150915091509156fe47534e426f756e636572426173653a2063616c6c6572206973206e6f742052656c6179487562a165627a7a723058205280710bb3d1f079fda7777b179d626aee9b8f3e376489eea9d587dcd29aff4e0029",
"sourceMap": "110:331:81:-;;;435:42:1;406:71;;;;;;;;;;;;;;;;;;;;186:141:81;8:9:-1;5:2;;;30:1;27;20:12;5:2;186:141:81;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;186:141:81;;;;;;;;;;;;;;;;248:13;906::7;889:14;;:30;;;;;;;;;;;;;;;;;;837:89;186:141:81;110:331;;;;;;",
"deployedSourceMap": "110:331:81:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;110:331:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;366:73;;;:::i;:::-;;503:85:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;936:210:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;936:210:5;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;936:210:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;936:210:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;936:210:5;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1048:1002:7;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1048:1002:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1048:1002:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1048:1002:7;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1048:1002:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1048:1002:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1048:1002:7;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1048:1002:7;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1048:1002:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;905:227:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;905:227:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1403:276:5;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1403:276:5;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1403:276:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1403:276:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1403:276:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;366:73:81;412:20;;;;;;;;;;366:73::o;503:85:2:-;546:7;572:9;;;;;;;;;;;565:16;;503:85;:::o;936:210:5:-;1002:7;1043:12;:10;:12::i;:::-;1029:26;;:10;:26;;;1021:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1115:24;1131:7;;1115:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1115:24:5;;;;;;:15;:24::i;:::-;1108:31;;936:210;;;;:::o;1048:1002:7:-;1374:7;1383:12;1411:17;1461:5;1480:4;1498:15;;1527:14;1555:8;1577;1599:5;1650:12;:10;:12::i;:::-;1726:4;1431:353;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;1431:353:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1431:353:7;;;1411:373;;1864:14;;;;;;;;;;;1798:80;;:62;1847:12;;1798:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1798:62:7;;;;;;:40;1808:4;1798:15;;;;;;:38;:40::i;:::-;:48;;:62;;;;:::i;:::-;:80;;;1794:250;;;1901:21;:19;:21::i;:::-;1894:28;;;;;;;1794:250;1960:73;1987:44;1979:53;;;;;;;;1960:18;:73::i;:::-;1953:80;;;;;1048:1002;;;;;;;;;;;;;;;:::o;905:227:2:-;953:13;1111:14;;;;;;;;;;;;;;;;;;;905:227;:::o;1403:276:5:-;1548:12;:10;:12::i;:::-;1534:26;;:10;:26;;;1526:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1613:59;1630:7;;1613:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1613:59:5;;;;;;1639:7;1648:12;1662:9;1613:16;:59::i;:::-;1403:276;;;;;:::o;2704:130::-;2761:7;2704:130;;;:::o;3382:265:28:-;3451:7;3634:4;3581:58;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3581:58:28;;;3571:69;;;;;;3564:76;;3382:265;;;:::o;1227:1891::-;1305:7;1386:2;1366:9;:16;:22;1362:72;;1420:1;1404:19;;;;1362:72;1500:9;1519;1538:7;1784:4;1773:9;1769:20;1763:27;1758:32;;1829:4;1818:9;1814:20;1808:27;1803:32;;1882:4;1871:9;1867:20;1861:27;1858:1;1853:36;1848:41;;2800:66;2795:1;2787:10;;:79;2783:127;;;2897:1;2882:17;;;;;;;2783:127;2929:2;2924:1;:7;;;;:18;;;;;2940:2;2935:1;:7;;;;2924:18;2920:66;;;2973:1;2958:17;;;;;;;2920:66;3087:24;3097:4;3103:1;3106;3109;3087:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3087:24:28;;;;;;;;3080:31;;;;;1227:1891;;;;;:::o;1860:124:5:-;1914:7;1923:12;1954:23;;;;;;;;;;;;;:19;:23::i;:::-;1947:30;;;;1860:124;;:::o;2432:156::-;2502:7;2511:12;2567:9;418:2;2543:33;2535:46;;;;;;;;;;;;;;;;2432:156;;;:::o;2840:137::-;;;;;:::o;2148:153::-;2222:7;2231:12;362:1;2286:7;2255:39;;;;2148:153;;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../GSN/GSNRecipient.sol\";\nimport \"../GSN/bouncers/GSNBouncerSignature.sol\";\n\ncontract GSNBouncerSignatureMock is GSNRecipient, GSNBouncerSignature {\n constructor(address trustedSigner) public GSNBouncerSignature(trustedSigner) {\n // solhint-disable-previous-line no-empty-blocks\n }\n\n event MockFunctionCalled();\n\n function mockFunction() public {\n emit MockFunctionCalled();\n }\n}\n",

@@ -188,10 +188,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/GSNBouncerSignatureMock.sol",

"GSNBouncerSignatureMock": [
7104
7083
]
},
"id": 7105,
"id": 7084,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7079,
"id": 7058,
"literals": [

@@ -209,6 +209,6 @@ "solidity",

"file": "../GSN/GSNRecipient.sol",
"id": 7080,
"id": 7059,
"nodeType": "ImportDirective",
"scope": 7105,
"sourceUnit": 251,
"scope": 7084,
"sourceUnit": 230,
"src": "25:33:81",

@@ -221,6 +221,6 @@ "symbolAliases": [],

"file": "../GSN/bouncers/GSNBouncerSignature.sol",
"id": 7081,
"id": 7060,
"nodeType": "ImportDirective",
"scope": 7105,
"sourceUnit": 1129,
"scope": 7084,
"sourceUnit": 1108,
"src": "59:49:81",

@@ -236,13 +236,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 7082,
"id": 7061,
"name": "GSNRecipient",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 250,
"referencedDeclaration": 229,
"src": "146:12:81",
"typeDescriptions": {
"typeIdentifier": "t_contract$_GSNRecipient_$250",
"typeIdentifier": "t_contract$_GSNRecipient_$229",
"typeString": "contract GSNRecipient"
}
},
"id": 7083,
"id": 7062,
"nodeType": "InheritanceSpecifier",

@@ -255,13 +255,13 @@ "src": "146:12:81"

"contractScope": null,
"id": 7084,
"id": 7063,
"name": "GSNBouncerSignature",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1128,
"referencedDeclaration": 1107,
"src": "160:19:81",
"typeDescriptions": {
"typeIdentifier": "t_contract$_GSNBouncerSignature_$1128",
"typeIdentifier": "t_contract$_GSNBouncerSignature_$1107",
"typeString": "contract GSNBouncerSignature"
}
},
"id": 7085,
"id": 7064,
"nodeType": "InheritanceSpecifier",

@@ -273,7 +273,7 @@ "src": "160:19:81"

26,
201,
250,
554,
704,
1128
182,
229,
533,
683,
1107
],

@@ -283,10 +283,10 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7104,
"id": 7083,
"linearizedBaseContracts": [
7104,
1128,
250,
704,
201,
554,
7083,
1107,
229,
683,
182,
533,
26

@@ -299,3 +299,3 @@ ],

"body": {
"id": 7093,
"id": 7072,
"nodeType": "Block",

@@ -306,3 +306,3 @@ "src": "263:64:81",

"documentation": null,
"id": 7094,
"id": 7073,
"implemented": true,

@@ -315,7 +315,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 7090,
"id": 7069,
"name": "trustedSigner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7087,
"referencedDeclaration": 7066,
"src": "248:13:81",

@@ -328,13 +328,13 @@ "typeDescriptions": {

],
"id": 7091,
"id": 7070,
"modifierName": {
"argumentTypes": null,
"id": 7089,
"id": 7068,
"name": "GSNBouncerSignature",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1128,
"referencedDeclaration": 1107,
"src": "228:19:81",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_GSNBouncerSignature_$1128_$",
"typeIdentifier": "t_type$_t_contract$_GSNBouncerSignature_$1107_$",
"typeString": "type(contract GSNBouncerSignature)"

@@ -350,3 +350,3 @@ }

"parameters": {
"id": 7088,
"id": 7067,
"nodeType": "ParameterList",

@@ -356,6 +356,6 @@ "parameters": [

"constant": false,
"id": 7087,
"id": 7066,
"name": "trustedSigner",
"nodeType": "VariableDeclaration",
"scope": 7094,
"scope": 7073,
"src": "198:21:81",

@@ -369,3 +369,3 @@ "stateVariable": false,

"typeName": {
"id": 7086,
"id": 7065,
"name": "address",

@@ -387,3 +387,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 7092,
"id": 7071,
"nodeType": "ParameterList",

@@ -393,3 +393,3 @@ "parameters": [],

},
"scope": 7104,
"scope": 7083,
"src": "186:141:81",

@@ -403,7 +403,7 @@ "stateMutability": "nonpayable",

"documentation": null,
"id": 7096,
"id": 7075,
"name": "MockFunctionCalled",
"nodeType": "EventDefinition",
"parameters": {
"id": 7095,
"id": 7074,
"nodeType": "ParameterList",

@@ -417,3 +417,3 @@ "parameters": [],

"body": {
"id": 7102,
"id": 7081,
"nodeType": "Block",

@@ -428,7 +428,7 @@ "src": "397:42:81",

"argumentTypes": [],
"id": 7099,
"id": 7078,
"name": "MockFunctionCalled",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7096,
"referencedDeclaration": 7075,
"src": "412:18:81",

@@ -440,3 +440,3 @@ "typeDescriptions": {

},
"id": 7100,
"id": 7079,
"isConstant": false,

@@ -455,3 +455,3 @@ "isLValue": false,

},
"id": 7101,
"id": 7080,
"nodeType": "EmitStatement",

@@ -463,3 +463,3 @@ "src": "407:25:81"

"documentation": null,
"id": 7103,
"id": 7082,
"implemented": true,

@@ -471,3 +471,3 @@ "kind": "function",

"parameters": {
"id": 7097,
"id": 7076,
"nodeType": "ParameterList",

@@ -478,3 +478,3 @@ "parameters": [],

"returnParameters": {
"id": 7098,
"id": 7077,
"nodeType": "ParameterList",

@@ -484,3 +484,3 @@ "parameters": [],

},
"scope": 7104,
"scope": 7083,
"src": "366:73:81",

@@ -492,3 +492,3 @@ "stateMutability": "nonpayable",

],
"scope": 7105,
"scope": 7084,
"src": "110:331:81"

@@ -503,10 +503,10 @@ }

"GSNBouncerSignatureMock": [
7104
7083
]
},
"id": 7105,
"id": 7084,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7079,
"id": 7058,
"literals": [

@@ -524,6 +524,6 @@ "solidity",

"file": "../GSN/GSNRecipient.sol",
"id": 7080,
"id": 7059,
"nodeType": "ImportDirective",
"scope": 7105,
"sourceUnit": 251,
"scope": 7084,
"sourceUnit": 230,
"src": "25:33:81",

@@ -536,6 +536,6 @@ "symbolAliases": [],

"file": "../GSN/bouncers/GSNBouncerSignature.sol",
"id": 7081,
"id": 7060,
"nodeType": "ImportDirective",
"scope": 7105,
"sourceUnit": 1129,
"scope": 7084,
"sourceUnit": 1108,
"src": "59:49:81",

@@ -551,13 +551,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 7082,
"id": 7061,
"name": "GSNRecipient",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 250,
"referencedDeclaration": 229,
"src": "146:12:81",
"typeDescriptions": {
"typeIdentifier": "t_contract$_GSNRecipient_$250",
"typeIdentifier": "t_contract$_GSNRecipient_$229",
"typeString": "contract GSNRecipient"
}
},
"id": 7083,
"id": 7062,
"nodeType": "InheritanceSpecifier",

@@ -570,13 +570,13 @@ "src": "146:12:81"

"contractScope": null,
"id": 7084,
"id": 7063,
"name": "GSNBouncerSignature",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1128,
"referencedDeclaration": 1107,
"src": "160:19:81",
"typeDescriptions": {
"typeIdentifier": "t_contract$_GSNBouncerSignature_$1128",
"typeIdentifier": "t_contract$_GSNBouncerSignature_$1107",
"typeString": "contract GSNBouncerSignature"
}
},
"id": 7085,
"id": 7064,
"nodeType": "InheritanceSpecifier",

@@ -588,7 +588,7 @@ "src": "160:19:81"

26,
201,
250,
554,
704,
1128
182,
229,
533,
683,
1107
],

@@ -598,10 +598,10 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7104,
"id": 7083,
"linearizedBaseContracts": [
7104,
1128,
250,
704,
201,
554,
7083,
1107,
229,
683,
182,
533,
26

@@ -614,3 +614,3 @@ ],

"body": {
"id": 7093,
"id": 7072,
"nodeType": "Block",

@@ -621,3 +621,3 @@ "src": "263:64:81",

"documentation": null,
"id": 7094,
"id": 7073,
"implemented": true,

@@ -630,7 +630,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 7090,
"id": 7069,
"name": "trustedSigner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7087,
"referencedDeclaration": 7066,
"src": "248:13:81",

@@ -643,13 +643,13 @@ "typeDescriptions": {

],
"id": 7091,
"id": 7070,
"modifierName": {
"argumentTypes": null,
"id": 7089,
"id": 7068,
"name": "GSNBouncerSignature",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1128,
"referencedDeclaration": 1107,
"src": "228:19:81",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_GSNBouncerSignature_$1128_$",
"typeIdentifier": "t_type$_t_contract$_GSNBouncerSignature_$1107_$",
"typeString": "type(contract GSNBouncerSignature)"

@@ -665,3 +665,3 @@ }

"parameters": {
"id": 7088,
"id": 7067,
"nodeType": "ParameterList",

@@ -671,6 +671,6 @@ "parameters": [

"constant": false,
"id": 7087,
"id": 7066,
"name": "trustedSigner",
"nodeType": "VariableDeclaration",
"scope": 7094,
"scope": 7073,
"src": "198:21:81",

@@ -684,3 +684,3 @@ "stateVariable": false,

"typeName": {
"id": 7086,
"id": 7065,
"name": "address",

@@ -702,3 +702,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 7092,
"id": 7071,
"nodeType": "ParameterList",

@@ -708,3 +708,3 @@ "parameters": [],

},
"scope": 7104,
"scope": 7083,
"src": "186:141:81",

@@ -718,7 +718,7 @@ "stateMutability": "nonpayable",

"documentation": null,
"id": 7096,
"id": 7075,
"name": "MockFunctionCalled",
"nodeType": "EventDefinition",
"parameters": {
"id": 7095,
"id": 7074,
"nodeType": "ParameterList",

@@ -732,3 +732,3 @@ "parameters": [],

"body": {
"id": 7102,
"id": 7081,
"nodeType": "Block",

@@ -743,7 +743,7 @@ "src": "397:42:81",

"argumentTypes": [],
"id": 7099,
"id": 7078,
"name": "MockFunctionCalled",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7096,
"referencedDeclaration": 7075,
"src": "412:18:81",

@@ -755,3 +755,3 @@ "typeDescriptions": {

},
"id": 7100,
"id": 7079,
"isConstant": false,

@@ -770,3 +770,3 @@ "isLValue": false,

},
"id": 7101,
"id": 7080,
"nodeType": "EmitStatement",

@@ -778,3 +778,3 @@ "src": "407:25:81"

"documentation": null,
"id": 7103,
"id": 7082,
"implemented": true,

@@ -786,3 +786,3 @@ "kind": "function",

"parameters": {
"id": 7097,
"id": 7076,
"nodeType": "ParameterList",

@@ -793,3 +793,3 @@ "parameters": [],

"returnParameters": {
"id": 7098,
"id": 7077,
"nodeType": "ParameterList",

@@ -799,3 +799,3 @@ "parameters": [],

},
"scope": 7104,
"scope": 7083,
"src": "366:73:81",

@@ -807,3 +807,3 @@ "stateMutability": "nonpayable",

],
"scope": 7105,
"scope": 7084,
"src": "110:331:81"

@@ -820,5 +820,11 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.754Z",
"updatedAt": "2019-08-16T19:32:31.271Z",
"devdoc": {
"methods": {
"acceptRelayedCall(address,address,bytes,uint256,uint256,uint256,uint256,bytes,uint256)": {
"details": "Ensures that only transactions with a trusted signature can be relayed through the GSN."
},
"getHubAddr()": {
"details": "Returns the RelayHub address for this recipient contract."
},
"postRelayedCall(bytes,bool,uint256,bytes32)": {

@@ -829,2 +835,5 @@ "details": "See `IRelayRecipient.postRelayedCall`. * This function should not be overriden directly, use `_postRelayedCall` instead. * * Requirements: * - the caller must be the `RelayHub` contract."

"details": "See `IRelayRecipient.preRelayedCall`. * This function should not be overriden directly, use `_preRelayedCall` instead. * * Requirements: * - the caller must be the `RelayHub` contract."
},
"relayHubVersion()": {
"details": "This function returns the version string of the RelayHub for which this recipient implementation was built. It's not currently used, but may be used by tooling."
}

@@ -831,0 +840,0 @@ }

@@ -150,3 +150,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"getHubAddr\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"context\",\"type\":\"bytes\"}],\"name\":\"preRelayedCall\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"relay\",\"type\":\"address\"},{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"encodedFunction\",\"type\":\"bytes\"},{\"name\":\"transactionFee\",\"type\":\"uint256\"},{\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\"},{\"name\":\"approvalData\",\"type\":\"bytes\"},{\"name\":\"maxPossibleCharge\",\"type\":\"uint256\"}],\"name\":\"acceptRelayedCall\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"relayHubVersion\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"context\",\"type\":\"bytes\"},{\"name\":\"success\",\"type\":\"bool\"},{\"name\":\"actualCharge\",\"type\":\"uint256\"},{\"name\":\"preRetVal\",\"type\":\"bytes32\"}],\"name\":\"postRelayedCall\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"oldRelayHub\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newRelayHub\",\"type\":\"address\"}],\"name\":\"RelayHubChanged\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"postRelayedCall(bytes,bool,uint256,bytes32)\":{\"details\":\"See `IRelayRecipient.postRelayedCall`. * This function should not be overriden directly, use `_postRelayedCall` instead. * * Requirements: * - the caller must be the `RelayHub` contract.\"},\"preRelayedCall(bytes)\":{\"details\":\"See `IRelayRecipient.preRelayedCall`. * This function should not be overriden directly, use `_preRelayedCall` instead. * * Requirements: * - the caller must be the `RelayHub` contract.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/GSN/GSNRecipient.sol\":\"GSNRecipient\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/GSN/GSNContext.sol\":{\"keccak256\":\"0x03102eeae3a84dfadee67f2eaa1e3cc7cc5b2d429cd0e85fc1ba99791adc7f8a\",\"urls\":[\"bzzr://3cdd231fe38f3e9540dc9689e2cfdf4b322acd5ff93dafc3bae2dc9aab24deb7\"]},\"/home/frangio/oz/contracts/contracts/GSN/GSNRecipient.sol\":{\"keccak256\":\"0x0aa80db75be2b4e851d339fdb3fb7129a28603ed0928cdc1462ad0f5146673f6\",\"urls\":[\"bzzr://def47ebbb27467e26173f17815b3244ff04437c53e8572acb690365e8f006805\"]},\"/home/frangio/oz/contracts/contracts/GSN/IRelayHub.sol\":{\"keccak256\":\"0xd4f5108ea9c6714571e009008c0b9df15e11c2b8a4166629bd0b39eb2e9d2238\",\"urls\":[\"bzzr://8bd2802d52f95a9a80062af71cfda7406a690361b19746e7e1eb59068c74c796\"]},\"/home/frangio/oz/contracts/contracts/GSN/IRelayRecipient.sol\":{\"keccak256\":\"0x11bb9457a11aa8b90bc102827ac1f7dd04aa79eb7eecb1e0b08c18ceed730a85\",\"urls\":[\"bzzr://29a45e7e96445c9ad85b3aa2c759670b0bfa979a0ad6565542b3ea0a35818b25\"]},\"/home/frangio/oz/contracts/contracts/GSN/bouncers/GSNBouncerBase.sol\":{\"keccak256\":\"0x2a0348ca965ee1e26d99ffd3bac7a033079395a3dc0f82be2ea8e87d98e8f841\",\"urls\":[\"bzzr://cf76d0146ad9e4025cb2acecbc2881cc81dafcf58ac036f1d8ad0e696639b8e4\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"getHubAddr\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"context\",\"type\":\"bytes\"}],\"name\":\"preRelayedCall\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"relay\",\"type\":\"address\"},{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"encodedFunction\",\"type\":\"bytes\"},{\"name\":\"transactionFee\",\"type\":\"uint256\"},{\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\"},{\"name\":\"approvalData\",\"type\":\"bytes\"},{\"name\":\"maxPossibleCharge\",\"type\":\"uint256\"}],\"name\":\"acceptRelayedCall\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"relayHubVersion\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"context\",\"type\":\"bytes\"},{\"name\":\"success\",\"type\":\"bool\"},{\"name\":\"actualCharge\",\"type\":\"uint256\"},{\"name\":\"preRetVal\",\"type\":\"bytes32\"}],\"name\":\"postRelayedCall\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"oldRelayHub\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newRelayHub\",\"type\":\"address\"}],\"name\":\"RelayHubChanged\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"getHubAddr()\":{\"details\":\"Returns the RelayHub address for this recipient contract.\"},\"postRelayedCall(bytes,bool,uint256,bytes32)\":{\"details\":\"See `IRelayRecipient.postRelayedCall`. * This function should not be overriden directly, use `_postRelayedCall` instead. * * Requirements: * - the caller must be the `RelayHub` contract.\"},\"preRelayedCall(bytes)\":{\"details\":\"See `IRelayRecipient.preRelayedCall`. * This function should not be overriden directly, use `_preRelayedCall` instead. * * Requirements: * - the caller must be the `RelayHub` contract.\"},\"relayHubVersion()\":{\"details\":\"This function returns the version string of the RelayHub for which this recipient implementation was built. It's not currently used, but may be used by tooling.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/GSN/GSNRecipient.sol\":\"GSNRecipient\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/GSN/GSNContext.sol\":{\"keccak256\":\"0xe4e2826dc25f7337f523695f860d4f117eab9b43ad6cc25eb4dbfaea302dc15b\",\"urls\":[\"bzzr://1668cbae08944067392e54d012588caa38cf08eeaaaf1c5a54b66774c01b3dba\"]},\"/home/frangio/oz/contracts/contracts/GSN/GSNRecipient.sol\":{\"keccak256\":\"0x51bb0ca51e8150bf0eefcd29c4398dbf0548f52eb0bad8c46628f524f2f0dd18\",\"urls\":[\"bzzr://a57c188dcf908defdbf9743677c215f6d3d826e70573252cb558e96c32328fe4\"]},\"/home/frangio/oz/contracts/contracts/GSN/IRelayHub.sol\":{\"keccak256\":\"0xd4f5108ea9c6714571e009008c0b9df15e11c2b8a4166629bd0b39eb2e9d2238\",\"urls\":[\"bzzr://8bd2802d52f95a9a80062af71cfda7406a690361b19746e7e1eb59068c74c796\"]},\"/home/frangio/oz/contracts/contracts/GSN/IRelayRecipient.sol\":{\"keccak256\":\"0x11bb9457a11aa8b90bc102827ac1f7dd04aa79eb7eecb1e0b08c18ceed730a85\",\"urls\":[\"bzzr://29a45e7e96445c9ad85b3aa2c759670b0bfa979a0ad6565542b3ea0a35818b25\"]},\"/home/frangio/oz/contracts/contracts/GSN/bouncers/GSNBouncerBase.sol\":{\"keccak256\":\"0x2a0348ca965ee1e26d99ffd3bac7a033079395a3dc0f82be2ea8e87d98e8f841\",\"urls\":[\"bzzr://cf76d0146ad9e4025cb2acecbc2881cc81dafcf58ac036f1d8ad0e696639b8e4\"]}},\"version\":1}",
"bytecode": "0x",

@@ -156,3 +156,3 @@ "deployedBytecode": "0x",

"deployedSourceMap": "",
"source": "pragma solidity ^0.5.0;\n\nimport \"./IRelayRecipient.sol\";\nimport \"./GSNContext.sol\";\nimport \"./bouncers/GSNBouncerBase.sol\";\nimport \"./IRelayHub.sol\";\n\n/*\n * @dev Base GSN recipient contract, adding the recipient interface and enabling\n * GSN support. Not all interface methods are implemented, derived contracts\n * must do so themselves.\n */\ncontract GSNRecipient is IRelayRecipient, GSNContext, GSNBouncerBase {\n function getHubAddr() public view returns (address) {\n return _getRelayHub();\n }\n\n // This function is view for future-proofing, it may require reading from\n // storage in the future.\n function relayHubVersion() public view returns (string memory) {\n this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691\n return \"1.0.0\";\n }\n\n function _withdrawDeposits(uint256 amount, address payable payee) internal {\n IRelayHub(_getRelayHub()).withdraw(amount, payee);\n }\n}\n",
"source": "pragma solidity ^0.5.0;\n\nimport \"./IRelayRecipient.sol\";\nimport \"./GSNContext.sol\";\nimport \"./bouncers/GSNBouncerBase.sol\";\nimport \"./IRelayHub.sol\";\n\n/*\n * @dev Base GSN recipient contract, adding the recipient interface and enabling\n * GSN support. Not all interface methods are implemented, derived contracts\n * must do so themselves.\n */\ncontract GSNRecipient is IRelayRecipient, GSNContext, GSNBouncerBase {\n /**\n * @dev Returns the RelayHub address for this recipient contract.\n */\n function getHubAddr() public view returns (address) {\n return _relayHub;\n }\n\n /**\n * @dev This function returns the version string of the RelayHub for which\n * this recipient implementation was built. It's not currently used, but\n * may be used by tooling.\n */\n // This function is view for future-proofing, it may require reading from\n // storage in the future.\n function relayHubVersion() public view returns (string memory) {\n this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691\n return \"1.0.0\";\n }\n\n /**\n * @dev Triggers a withdraw of the recipient's deposits in RelayHub. Can\n * be used by derived contracts to expose the functionality in an external\n * interface.\n */\n function _withdrawDeposits(uint256 amount, address payable payee) internal {\n IRelayHub(_relayHub).withdraw(amount, payee);\n }\n}\n",
"sourcePath": "/home/frangio/oz/contracts/contracts/GSN/GSNRecipient.sol",

@@ -163,10 +163,10 @@ "ast": {

"GSNRecipient": [
250
229
]
},
"id": 251,
"id": 230,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 203,
"id": 184,
"literals": [

@@ -184,6 +184,6 @@ "solidity",

"file": "./IRelayRecipient.sol",
"id": 204,
"id": 185,
"nodeType": "ImportDirective",
"scope": 251,
"sourceUnit": 555,
"scope": 230,
"sourceUnit": 534,
"src": "25:31:2",

@@ -196,6 +196,6 @@ "symbolAliases": [],

"file": "./GSNContext.sol",
"id": 205,
"id": 186,
"nodeType": "ImportDirective",
"scope": 251,
"sourceUnit": 202,
"scope": 230,
"sourceUnit": 183,
"src": "57:26:2",

@@ -208,6 +208,6 @@ "symbolAliases": [],

"file": "./bouncers/GSNBouncerBase.sol",
"id": 206,
"id": 187,
"nodeType": "ImportDirective",
"scope": 251,
"sourceUnit": 705,
"scope": 230,
"sourceUnit": 684,
"src": "84:39:2",

@@ -220,6 +220,6 @@ "symbolAliases": [],

"file": "./IRelayHub.sol",
"id": 207,
"id": 188,
"nodeType": "ImportDirective",
"scope": 251,
"sourceUnit": 504,
"scope": 230,
"sourceUnit": 483,
"src": "124:25:2",

@@ -235,13 +235,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 208,
"id": 189,
"name": "IRelayRecipient",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 554,
"referencedDeclaration": 533,
"src": "367:15:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IRelayRecipient_$554",
"typeIdentifier": "t_contract$_IRelayRecipient_$533",
"typeString": "contract IRelayRecipient"
}
},
"id": 209,
"id": 190,
"nodeType": "InheritanceSpecifier",

@@ -254,13 +254,13 @@ "src": "367:15:2"

"contractScope": null,
"id": 210,
"id": 191,
"name": "GSNContext",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 201,
"referencedDeclaration": 182,
"src": "384:10:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_GSNContext_$201",
"typeIdentifier": "t_contract$_GSNContext_$182",
"typeString": "contract GSNContext"
}
},
"id": 211,
"id": 192,
"nodeType": "InheritanceSpecifier",

@@ -273,13 +273,13 @@ "src": "384:10:2"

"contractScope": null,
"id": 212,
"id": 193,
"name": "GSNBouncerBase",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 704,
"referencedDeclaration": 683,
"src": "396:14:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_GSNBouncerBase_$704",
"typeIdentifier": "t_contract$_GSNBouncerBase_$683",
"typeString": "contract GSNBouncerBase"
}
},
"id": 213,
"id": 194,
"nodeType": "InheritanceSpecifier",

@@ -291,5 +291,5 @@ "src": "396:14:2"

26,
201,
554,
704
182,
533,
683
],

@@ -299,8 +299,8 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 250,
"id": 229,
"linearizedBaseContracts": [
250,
704,
201,
554,
229,
683,
182,
533,
26

@@ -313,5 +313,5 @@ ],

"body": {
"id": 221,
"id": 201,
"nodeType": "Block",
"src": "469:38:2",
"src": "555:33:2",
"statements": [

@@ -321,25 +321,8 @@ {

"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 218,
"name": "_getRelayHub",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 59,
"src": "486:12:2",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
"typeString": "function () view returns (address)"
}
},
"id": 219,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "486:14:2",
"id": 199,
"name": "_relayHub",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 34,
"src": "572:9:2",
"typeDescriptions": {

@@ -350,11 +333,11 @@ "typeIdentifier": "t_address",

},
"functionReturnParameters": 217,
"id": 220,
"functionReturnParameters": 198,
"id": 200,
"nodeType": "Return",
"src": "479:21:2"
"src": "565:16:2"
}
]
},
"documentation": null,
"id": 222,
"documentation": "@dev Returns the RelayHub address for this recipient contract.",
"id": 202,
"implemented": true,

@@ -366,9 +349,9 @@ "kind": "function",

"parameters": {
"id": 214,
"id": 195,
"nodeType": "ParameterList",
"parameters": [],
"src": "436:2:2"
"src": "522:2:2"
},
"returnParameters": {
"id": 217,
"id": 198,
"nodeType": "ParameterList",

@@ -378,7 +361,7 @@ "parameters": [

"constant": false,
"id": 216,
"id": 197,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 222,
"src": "460:7:2",
"scope": 202,
"src": "546:7:2",
"stateVariable": false,

@@ -391,6 +374,6 @@ "storageLocation": "default",

"typeName": {
"id": 215,
"id": 196,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "460:7:2",
"src": "546:7:2",
"stateMutability": "nonpayable",

@@ -406,8 +389,8 @@ "typeDescriptions": {

],
"src": "459:9:2"
"src": "545:9:2"
},
"scope": 250,
"src": "417:90:2",
"scope": 229,
"src": "503:85:2",
"stateMutability": "view",
"superFunction": 510,
"superFunction": 489,
"visibility": "public"

@@ -417,5 +400,5 @@ },

"body": {
"id": 231,
"id": 211,
"nodeType": "Block",
"src": "684:164:2",
"src": "968:164:2",
"statements": [

@@ -425,16 +408,16 @@ {

"argumentTypes": null,
"id": 227,
"id": 207,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13487,
"src": "694:4:2",
"referencedDeclaration": 13364,
"src": "978:4:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_GSNRecipient_$250",
"typeIdentifier": "t_contract$_GSNRecipient_$229",
"typeString": "contract GSNRecipient"
}
},
"id": 228,
"id": 208,
"nodeType": "ExpressionStatement",
"src": "694:4:2"
"src": "978:4:2"
},

@@ -445,3 +428,3 @@ {

"hexValue": "312e302e30",
"id": 229,
"id": 209,
"isConstant": false,

@@ -453,3 +436,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "834:7:2",
"src": "1118:7:2",
"subdenomination": null,

@@ -462,11 +445,11 @@ "typeDescriptions": {

},
"functionReturnParameters": 226,
"id": 230,
"functionReturnParameters": 206,
"id": 210,
"nodeType": "Return",
"src": "827:14:2"
"src": "1111:14:2"
}
]
},
"documentation": null,
"id": 232,
"documentation": "@dev This function returns the version string of the RelayHub for which\nthis recipient implementation was built. It's not currently used, but\nmay be used by tooling.",
"id": 212,
"implemented": true,

@@ -478,9 +461,9 @@ "kind": "function",

"parameters": {
"id": 223,
"id": 203,
"nodeType": "ParameterList",
"parameters": [],
"src": "645:2:2"
"src": "929:2:2"
},
"returnParameters": {
"id": 226,
"id": 206,
"nodeType": "ParameterList",

@@ -490,7 +473,7 @@ "parameters": [

"constant": false,
"id": 225,
"id": 205,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 232,
"src": "669:13:2",
"scope": 212,
"src": "953:13:2",
"stateVariable": false,

@@ -503,6 +486,6 @@ "storageLocation": "memory",

"typeName": {
"id": 224,
"id": 204,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "669:6:2",
"src": "953:6:2",
"typeDescriptions": {

@@ -517,6 +500,6 @@ "typeIdentifier": "t_string_storage_ptr",

],
"src": "668:15:2"
"src": "952:15:2"
},
"scope": 250,
"src": "621:227:2",
"scope": 229,
"src": "905:227:2",
"stateMutability": "view",

@@ -528,5 +511,5 @@ "superFunction": null,

"body": {
"id": 248,
"id": 227,
"nodeType": "Block",
"src": "929:66:2",
"src": "1403:61:2",
"statements": [

@@ -539,8 +522,8 @@ {

"argumentTypes": null,
"id": 244,
"id": 223,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 234,
"src": "974:6:2",
"referencedDeclaration": 214,
"src": "1443:6:2",
"typeDescriptions": {

@@ -553,8 +536,8 @@ "typeIdentifier": "t_uint256",

"argumentTypes": null,
"id": 245,
"id": 224,
"name": "payee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 236,
"src": "982:5:2",
"referencedDeclaration": 216,
"src": "1451:5:2",
"typeDescriptions": {

@@ -582,25 +565,8 @@ "typeIdentifier": "t_address_payable",

"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 240,
"name": "_getRelayHub",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 59,
"src": "949:12:2",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
"typeString": "function () view returns (address)"
}
},
"id": 241,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "949:14:2",
"id": 220,
"name": "_relayHub",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 34,
"src": "1423:9:2",
"typeDescriptions": {

@@ -619,14 +585,14 @@ "typeIdentifier": "t_address",

],
"id": 239,
"id": 219,
"name": "IRelayHub",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 503,
"src": "939:9:2",
"referencedDeclaration": 482,
"src": "1413:9:2",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IRelayHub_$503_$",
"typeIdentifier": "t_type$_t_contract$_IRelayHub_$482_$",
"typeString": "type(contract IRelayHub)"
}
},
"id": 242,
"id": 221,
"isConstant": false,

@@ -639,9 +605,9 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "939:25:2",
"src": "1413:20:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IRelayHub_$503",
"typeIdentifier": "t_contract$_IRelayHub_$482",
"typeString": "contract IRelayHub"
}
},
"id": 243,
"id": 222,
"isConstant": false,

@@ -653,4 +619,4 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 357,
"src": "939:34:2",
"referencedDeclaration": 336,
"src": "1413:29:2",
"typeDescriptions": {

@@ -661,3 +627,3 @@ "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_payable_$returns$__$",

},
"id": 246,
"id": 225,
"isConstant": false,

@@ -670,3 +636,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "939:49:2",
"src": "1413:44:2",
"typeDescriptions": {

@@ -677,10 +643,10 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 247,
"id": 226,
"nodeType": "ExpressionStatement",
"src": "939:49:2"
"src": "1413:44:2"
}
]
},
"documentation": null,
"id": 249,
"documentation": "@dev Triggers a withdraw of the recipient's deposits in RelayHub. Can\nbe used by derived contracts to expose the functionality in an external\ninterface.",
"id": 228,
"implemented": true,

@@ -692,3 +658,3 @@ "kind": "function",

"parameters": {
"id": 237,
"id": 217,
"nodeType": "ParameterList",

@@ -698,7 +664,7 @@ "parameters": [

"constant": false,
"id": 234,
"id": 214,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 249,
"src": "881:14:2",
"scope": 228,
"src": "1355:14:2",
"stateVariable": false,

@@ -711,6 +677,6 @@ "storageLocation": "default",

"typeName": {
"id": 233,
"id": 213,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "881:7:2",
"src": "1355:7:2",
"typeDescriptions": {

@@ -726,7 +692,7 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 236,
"id": 216,
"name": "payee",
"nodeType": "VariableDeclaration",
"scope": 249,
"src": "897:21:2",
"scope": 228,
"src": "1371:21:2",
"stateVariable": false,

@@ -739,6 +705,6 @@ "storageLocation": "default",

"typeName": {
"id": 235,
"id": 215,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "897:15:2",
"src": "1371:15:2",
"stateMutability": "payable",

@@ -754,12 +720,12 @@ "typeDescriptions": {

],
"src": "880:39:2"
"src": "1354:39:2"
},
"returnParameters": {
"id": 238,
"id": 218,
"nodeType": "ParameterList",
"parameters": [],
"src": "929:0:2"
"src": "1403:0:2"
},
"scope": 250,
"src": "854:141:2",
"scope": 229,
"src": "1328:136:2",
"stateMutability": "nonpayable",

@@ -770,7 +736,7 @@ "superFunction": null,

],
"scope": 251,
"src": "342:655:2"
"scope": 230,
"src": "342:1124:2"
}
],
"src": "0:998:2"
"src": "0:1467:2"
},

@@ -781,10 +747,10 @@ "legacyAST": {

"GSNRecipient": [
250
229
]
},
"id": 251,
"id": 230,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 203,
"id": 184,
"literals": [

@@ -802,6 +768,6 @@ "solidity",

"file": "./IRelayRecipient.sol",
"id": 204,
"id": 185,
"nodeType": "ImportDirective",
"scope": 251,
"sourceUnit": 555,
"scope": 230,
"sourceUnit": 534,
"src": "25:31:2",

@@ -814,6 +780,6 @@ "symbolAliases": [],

"file": "./GSNContext.sol",
"id": 205,
"id": 186,
"nodeType": "ImportDirective",
"scope": 251,
"sourceUnit": 202,
"scope": 230,
"sourceUnit": 183,
"src": "57:26:2",

@@ -826,6 +792,6 @@ "symbolAliases": [],

"file": "./bouncers/GSNBouncerBase.sol",
"id": 206,
"id": 187,
"nodeType": "ImportDirective",
"scope": 251,
"sourceUnit": 705,
"scope": 230,
"sourceUnit": 684,
"src": "84:39:2",

@@ -838,6 +804,6 @@ "symbolAliases": [],

"file": "./IRelayHub.sol",
"id": 207,
"id": 188,
"nodeType": "ImportDirective",
"scope": 251,
"sourceUnit": 504,
"scope": 230,
"sourceUnit": 483,
"src": "124:25:2",

@@ -853,13 +819,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 208,
"id": 189,
"name": "IRelayRecipient",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 554,
"referencedDeclaration": 533,
"src": "367:15:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IRelayRecipient_$554",
"typeIdentifier": "t_contract$_IRelayRecipient_$533",
"typeString": "contract IRelayRecipient"
}
},
"id": 209,
"id": 190,
"nodeType": "InheritanceSpecifier",

@@ -872,13 +838,13 @@ "src": "367:15:2"

"contractScope": null,
"id": 210,
"id": 191,
"name": "GSNContext",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 201,
"referencedDeclaration": 182,
"src": "384:10:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_GSNContext_$201",
"typeIdentifier": "t_contract$_GSNContext_$182",
"typeString": "contract GSNContext"
}
},
"id": 211,
"id": 192,
"nodeType": "InheritanceSpecifier",

@@ -891,13 +857,13 @@ "src": "384:10:2"

"contractScope": null,
"id": 212,
"id": 193,
"name": "GSNBouncerBase",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 704,
"referencedDeclaration": 683,
"src": "396:14:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_GSNBouncerBase_$704",
"typeIdentifier": "t_contract$_GSNBouncerBase_$683",
"typeString": "contract GSNBouncerBase"
}
},
"id": 213,
"id": 194,
"nodeType": "InheritanceSpecifier",

@@ -909,5 +875,5 @@ "src": "396:14:2"

26,
201,
554,
704
182,
533,
683
],

@@ -917,8 +883,8 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 250,
"id": 229,
"linearizedBaseContracts": [
250,
704,
201,
554,
229,
683,
182,
533,
26

@@ -931,5 +897,5 @@ ],

"body": {
"id": 221,
"id": 201,
"nodeType": "Block",
"src": "469:38:2",
"src": "555:33:2",
"statements": [

@@ -939,25 +905,8 @@ {

"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 218,
"name": "_getRelayHub",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 59,
"src": "486:12:2",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
"typeString": "function () view returns (address)"
}
},
"id": 219,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "486:14:2",
"id": 199,
"name": "_relayHub",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 34,
"src": "572:9:2",
"typeDescriptions": {

@@ -968,11 +917,11 @@ "typeIdentifier": "t_address",

},
"functionReturnParameters": 217,
"id": 220,
"functionReturnParameters": 198,
"id": 200,
"nodeType": "Return",
"src": "479:21:2"
"src": "565:16:2"
}
]
},
"documentation": null,
"id": 222,
"documentation": "@dev Returns the RelayHub address for this recipient contract.",
"id": 202,
"implemented": true,

@@ -984,9 +933,9 @@ "kind": "function",

"parameters": {
"id": 214,
"id": 195,
"nodeType": "ParameterList",
"parameters": [],
"src": "436:2:2"
"src": "522:2:2"
},
"returnParameters": {
"id": 217,
"id": 198,
"nodeType": "ParameterList",

@@ -996,7 +945,7 @@ "parameters": [

"constant": false,
"id": 216,
"id": 197,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 222,
"src": "460:7:2",
"scope": 202,
"src": "546:7:2",
"stateVariable": false,

@@ -1009,6 +958,6 @@ "storageLocation": "default",

"typeName": {
"id": 215,
"id": 196,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "460:7:2",
"src": "546:7:2",
"stateMutability": "nonpayable",

@@ -1024,8 +973,8 @@ "typeDescriptions": {

],
"src": "459:9:2"
"src": "545:9:2"
},
"scope": 250,
"src": "417:90:2",
"scope": 229,
"src": "503:85:2",
"stateMutability": "view",
"superFunction": 510,
"superFunction": 489,
"visibility": "public"

@@ -1035,5 +984,5 @@ },

"body": {
"id": 231,
"id": 211,
"nodeType": "Block",
"src": "684:164:2",
"src": "968:164:2",
"statements": [

@@ -1043,16 +992,16 @@ {

"argumentTypes": null,
"id": 227,
"id": 207,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13487,
"src": "694:4:2",
"referencedDeclaration": 13364,
"src": "978:4:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_GSNRecipient_$250",
"typeIdentifier": "t_contract$_GSNRecipient_$229",
"typeString": "contract GSNRecipient"
}
},
"id": 228,
"id": 208,
"nodeType": "ExpressionStatement",
"src": "694:4:2"
"src": "978:4:2"
},

@@ -1063,3 +1012,3 @@ {

"hexValue": "312e302e30",
"id": 229,
"id": 209,
"isConstant": false,

@@ -1071,3 +1020,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "834:7:2",
"src": "1118:7:2",
"subdenomination": null,

@@ -1080,11 +1029,11 @@ "typeDescriptions": {

},
"functionReturnParameters": 226,
"id": 230,
"functionReturnParameters": 206,
"id": 210,
"nodeType": "Return",
"src": "827:14:2"
"src": "1111:14:2"
}
]
},
"documentation": null,
"id": 232,
"documentation": "@dev This function returns the version string of the RelayHub for which\nthis recipient implementation was built. It's not currently used, but\nmay be used by tooling.",
"id": 212,
"implemented": true,

@@ -1096,9 +1045,9 @@ "kind": "function",

"parameters": {
"id": 223,
"id": 203,
"nodeType": "ParameterList",
"parameters": [],
"src": "645:2:2"
"src": "929:2:2"
},
"returnParameters": {
"id": 226,
"id": 206,
"nodeType": "ParameterList",

@@ -1108,7 +1057,7 @@ "parameters": [

"constant": false,
"id": 225,
"id": 205,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 232,
"src": "669:13:2",
"scope": 212,
"src": "953:13:2",
"stateVariable": false,

@@ -1121,6 +1070,6 @@ "storageLocation": "memory",

"typeName": {
"id": 224,
"id": 204,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "669:6:2",
"src": "953:6:2",
"typeDescriptions": {

@@ -1135,6 +1084,6 @@ "typeIdentifier": "t_string_storage_ptr",

],
"src": "668:15:2"
"src": "952:15:2"
},
"scope": 250,
"src": "621:227:2",
"scope": 229,
"src": "905:227:2",
"stateMutability": "view",

@@ -1146,5 +1095,5 @@ "superFunction": null,

"body": {
"id": 248,
"id": 227,
"nodeType": "Block",
"src": "929:66:2",
"src": "1403:61:2",
"statements": [

@@ -1157,8 +1106,8 @@ {

"argumentTypes": null,
"id": 244,
"id": 223,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 234,
"src": "974:6:2",
"referencedDeclaration": 214,
"src": "1443:6:2",
"typeDescriptions": {

@@ -1171,8 +1120,8 @@ "typeIdentifier": "t_uint256",

"argumentTypes": null,
"id": 245,
"id": 224,
"name": "payee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 236,
"src": "982:5:2",
"referencedDeclaration": 216,
"src": "1451:5:2",
"typeDescriptions": {

@@ -1200,25 +1149,8 @@ "typeIdentifier": "t_address_payable",

"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 240,
"name": "_getRelayHub",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 59,
"src": "949:12:2",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
"typeString": "function () view returns (address)"
}
},
"id": 241,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "949:14:2",
"id": 220,
"name": "_relayHub",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 34,
"src": "1423:9:2",
"typeDescriptions": {

@@ -1237,14 +1169,14 @@ "typeIdentifier": "t_address",

],
"id": 239,
"id": 219,
"name": "IRelayHub",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 503,
"src": "939:9:2",
"referencedDeclaration": 482,
"src": "1413:9:2",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IRelayHub_$503_$",
"typeIdentifier": "t_type$_t_contract$_IRelayHub_$482_$",
"typeString": "type(contract IRelayHub)"
}
},
"id": 242,
"id": 221,
"isConstant": false,

@@ -1257,9 +1189,9 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "939:25:2",
"src": "1413:20:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IRelayHub_$503",
"typeIdentifier": "t_contract$_IRelayHub_$482",
"typeString": "contract IRelayHub"
}
},
"id": 243,
"id": 222,
"isConstant": false,

@@ -1271,4 +1203,4 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 357,
"src": "939:34:2",
"referencedDeclaration": 336,
"src": "1413:29:2",
"typeDescriptions": {

@@ -1279,3 +1211,3 @@ "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_payable_$returns$__$",

},
"id": 246,
"id": 225,
"isConstant": false,

@@ -1288,3 +1220,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "939:49:2",
"src": "1413:44:2",
"typeDescriptions": {

@@ -1295,10 +1227,10 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 247,
"id": 226,
"nodeType": "ExpressionStatement",
"src": "939:49:2"
"src": "1413:44:2"
}
]
},
"documentation": null,
"id": 249,
"documentation": "@dev Triggers a withdraw of the recipient's deposits in RelayHub. Can\nbe used by derived contracts to expose the functionality in an external\ninterface.",
"id": 228,
"implemented": true,

@@ -1310,3 +1242,3 @@ "kind": "function",

"parameters": {
"id": 237,
"id": 217,
"nodeType": "ParameterList",

@@ -1316,7 +1248,7 @@ "parameters": [

"constant": false,
"id": 234,
"id": 214,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 249,
"src": "881:14:2",
"scope": 228,
"src": "1355:14:2",
"stateVariable": false,

@@ -1329,6 +1261,6 @@ "storageLocation": "default",

"typeName": {
"id": 233,
"id": 213,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "881:7:2",
"src": "1355:7:2",
"typeDescriptions": {

@@ -1344,7 +1276,7 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 236,
"id": 216,
"name": "payee",
"nodeType": "VariableDeclaration",
"scope": 249,
"src": "897:21:2",
"scope": 228,
"src": "1371:21:2",
"stateVariable": false,

@@ -1357,6 +1289,6 @@ "storageLocation": "default",

"typeName": {
"id": 235,
"id": 215,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "897:15:2",
"src": "1371:15:2",
"stateMutability": "payable",

@@ -1372,12 +1304,12 @@ "typeDescriptions": {

],
"src": "880:39:2"
"src": "1354:39:2"
},
"returnParameters": {
"id": 238,
"id": 218,
"nodeType": "ParameterList",
"parameters": [],
"src": "929:0:2"
"src": "1403:0:2"
},
"scope": 250,
"src": "854:141:2",
"scope": 229,
"src": "1328:136:2",
"stateMutability": "nonpayable",

@@ -1388,7 +1320,7 @@ "superFunction": null,

],
"scope": 251,
"src": "342:655:2"
"scope": 230,
"src": "342:1124:2"
}
],
"src": "0:998:2"
"src": "0:1467:2"
},

@@ -1401,5 +1333,8 @@ "compiler": {

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.641Z",
"updatedAt": "2019-08-16T19:32:31.162Z",
"devdoc": {
"methods": {
"getHubAddr()": {
"details": "Returns the RelayHub address for this recipient contract."
},
"postRelayedCall(bytes,bool,uint256,bytes32)": {

@@ -1410,2 +1345,5 @@ "details": "See `IRelayRecipient.postRelayedCall`. * This function should not be overriden directly, use `_postRelayedCall` instead. * * Requirements: * - the caller must be the `RelayHub` contract."

"details": "See `IRelayRecipient.preRelayedCall`. * This function should not be overriden directly, use `_preRelayedCall` instead. * * Requirements: * - the caller must be the `RelayHub` contract."
},
"relayHubVersion()": {
"details": "This function returns the version string of the RelayHub for which this recipient implementation was built. It's not currently used, but may be used by tooling."
}

@@ -1412,0 +1350,0 @@ }

@@ -130,10 +130,10 @@ {

"IRelayRecipient": [
554
533
]
},
"id": 555,
"id": 534,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 505,
"id": 484,
"literals": [

@@ -154,5 +154,5 @@ "solidity",

"fullyImplemented": false,
"id": 554,
"id": 533,
"linearizedBaseContracts": [
554
533
],

@@ -165,3 +165,3 @@ "name": "IRelayRecipient",

"documentation": "@dev Returns the address of the RelayHub instance this recipient interacts with.",
"id": 510,
"id": 489,
"implemented": false,

@@ -173,3 +173,3 @@ "kind": "function",

"parameters": {
"id": 506,
"id": 485,
"nodeType": "ParameterList",

@@ -180,3 +180,3 @@ "parameters": [],

"returnParameters": {
"id": 509,
"id": 488,
"nodeType": "ParameterList",

@@ -186,6 +186,6 @@ "parameters": [

"constant": false,
"id": 508,
"id": 487,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 510,
"scope": 489,
"src": "290:7:4",

@@ -199,3 +199,3 @@ "stateVariable": false,

"typeName": {
"id": 507,
"id": 486,
"name": "address",

@@ -216,3 +216,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 554,
"scope": 533,
"src": "247:52:4",

@@ -226,3 +226,3 @@ "stateMutability": "view",

"documentation": null,
"id": 535,
"id": 514,
"implemented": false,

@@ -234,3 +234,3 @@ "kind": "function",

"parameters": {
"id": 529,
"id": 508,
"nodeType": "ParameterList",

@@ -240,6 +240,6 @@ "parameters": [

"constant": false,
"id": 512,
"id": 491,
"name": "relay",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "341:13:4",

@@ -253,3 +253,3 @@ "stateVariable": false,

"typeName": {
"id": 511,
"id": 490,
"name": "address",

@@ -269,6 +269,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 514,
"id": 493,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "364:12:4",

@@ -282,3 +282,3 @@ "stateVariable": false,

"typeName": {
"id": 513,
"id": 492,
"name": "address",

@@ -298,6 +298,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 516,
"id": 495,
"name": "encodedFunction",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "386:30:4",

@@ -311,3 +311,3 @@ "stateVariable": false,

"typeName": {
"id": 515,
"id": 494,
"name": "bytes",

@@ -326,6 +326,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 518,
"id": 497,
"name": "transactionFee",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "426:22:4",

@@ -339,3 +339,3 @@ "stateVariable": false,

"typeName": {
"id": 517,
"id": 496,
"name": "uint256",

@@ -354,6 +354,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 520,
"id": 499,
"name": "gasPrice",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "458:16:4",

@@ -367,3 +367,3 @@ "stateVariable": false,

"typeName": {
"id": 519,
"id": 498,
"name": "uint256",

@@ -382,6 +382,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 522,
"id": 501,
"name": "gasLimit",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "484:16:4",

@@ -395,3 +395,3 @@ "stateVariable": false,

"typeName": {
"id": 521,
"id": 500,
"name": "uint256",

@@ -410,6 +410,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 524,
"id": 503,
"name": "nonce",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "510:13:4",

@@ -423,3 +423,3 @@ "stateVariable": false,

"typeName": {
"id": 523,
"id": 502,
"name": "uint256",

@@ -438,6 +438,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 526,
"id": 505,
"name": "approvalData",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "533:27:4",

@@ -451,3 +451,3 @@ "stateVariable": false,

"typeName": {
"id": 525,
"id": 504,
"name": "bytes",

@@ -466,6 +466,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 528,
"id": 507,
"name": "maxPossibleCharge",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "570:25:4",

@@ -479,3 +479,3 @@ "stateVariable": false,

"typeName": {
"id": 527,
"id": 506,
"name": "uint256",

@@ -496,3 +496,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 534,
"id": 513,
"nodeType": "ParameterList",

@@ -502,6 +502,6 @@ "parameters": [

"constant": false,
"id": 531,
"id": 510,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "649:7:4",

@@ -515,3 +515,3 @@ "stateVariable": false,

"typeName": {
"id": 530,
"id": 509,
"name": "uint256",

@@ -530,6 +530,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 533,
"id": 512,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "658:12:4",

@@ -543,3 +543,3 @@ "stateVariable": false,

"typeName": {
"id": 532,
"id": 511,
"name": "bytes",

@@ -559,3 +559,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 554,
"scope": 533,
"src": "305:367:4",

@@ -569,3 +569,3 @@ "stateMutability": "view",

"documentation": null,
"id": 542,
"id": 521,
"implemented": false,

@@ -577,3 +577,3 @@ "kind": "function",

"parameters": {
"id": 538,
"id": 517,
"nodeType": "ParameterList",

@@ -583,6 +583,6 @@ "parameters": [

"constant": false,
"id": 537,
"id": 516,
"name": "context",
"nodeType": "VariableDeclaration",
"scope": 542,
"scope": 521,
"src": "702:22:4",

@@ -596,3 +596,3 @@ "stateVariable": false,

"typeName": {
"id": 536,
"id": 515,
"name": "bytes",

@@ -613,3 +613,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 541,
"id": 520,
"nodeType": "ParameterList",

@@ -619,6 +619,6 @@ "parameters": [

"constant": false,
"id": 540,
"id": 519,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 542,
"scope": 521,
"src": "744:7:4",

@@ -632,3 +632,3 @@ "stateVariable": false,

"typeName": {
"id": 539,
"id": 518,
"name": "bytes32",

@@ -648,3 +648,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 554,
"scope": 533,
"src": "678:75:4",

@@ -658,3 +658,3 @@ "stateMutability": "nonpayable",

"documentation": null,
"id": 553,
"id": 532,
"implemented": false,

@@ -666,3 +666,3 @@ "kind": "function",

"parameters": {
"id": 551,
"id": 530,
"nodeType": "ParameterList",

@@ -672,6 +672,6 @@ "parameters": [

"constant": false,
"id": 544,
"id": 523,
"name": "context",
"nodeType": "VariableDeclaration",
"scope": 553,
"scope": 532,
"src": "784:22:4",

@@ -685,3 +685,3 @@ "stateVariable": false,

"typeName": {
"id": 543,
"id": 522,
"name": "bytes",

@@ -700,6 +700,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 546,
"id": 525,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 553,
"scope": 532,
"src": "808:12:4",

@@ -713,3 +713,3 @@ "stateVariable": false,

"typeName": {
"id": 545,
"id": 524,
"name": "bool",

@@ -728,6 +728,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 548,
"id": 527,
"name": "actualCharge",
"nodeType": "VariableDeclaration",
"scope": 553,
"scope": 532,
"src": "822:17:4",

@@ -741,3 +741,3 @@ "stateVariable": false,

"typeName": {
"id": 547,
"id": 526,
"name": "uint",

@@ -756,6 +756,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 550,
"id": 529,
"name": "preRetVal",
"nodeType": "VariableDeclaration",
"scope": 553,
"scope": 532,
"src": "841:17:4",

@@ -769,3 +769,3 @@ "stateVariable": false,

"typeName": {
"id": 549,
"id": 528,
"name": "bytes32",

@@ -786,3 +786,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 552,
"id": 531,
"nodeType": "ParameterList",

@@ -792,3 +792,3 @@ "parameters": [],

},
"scope": 554,
"scope": 533,
"src": "759:110:4",

@@ -800,3 +800,3 @@ "stateMutability": "nonpayable",

],
"scope": 555,
"scope": 534,
"src": "112:759:4"

@@ -811,10 +811,10 @@ }

"IRelayRecipient": [
554
533
]
},
"id": 555,
"id": 534,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 505,
"id": 484,
"literals": [

@@ -835,5 +835,5 @@ "solidity",

"fullyImplemented": false,
"id": 554,
"id": 533,
"linearizedBaseContracts": [
554
533
],

@@ -846,3 +846,3 @@ "name": "IRelayRecipient",

"documentation": "@dev Returns the address of the RelayHub instance this recipient interacts with.",
"id": 510,
"id": 489,
"implemented": false,

@@ -854,3 +854,3 @@ "kind": "function",

"parameters": {
"id": 506,
"id": 485,
"nodeType": "ParameterList",

@@ -861,3 +861,3 @@ "parameters": [],

"returnParameters": {
"id": 509,
"id": 488,
"nodeType": "ParameterList",

@@ -867,6 +867,6 @@ "parameters": [

"constant": false,
"id": 508,
"id": 487,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 510,
"scope": 489,
"src": "290:7:4",

@@ -880,3 +880,3 @@ "stateVariable": false,

"typeName": {
"id": 507,
"id": 486,
"name": "address",

@@ -897,3 +897,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 554,
"scope": 533,
"src": "247:52:4",

@@ -907,3 +907,3 @@ "stateMutability": "view",

"documentation": null,
"id": 535,
"id": 514,
"implemented": false,

@@ -915,3 +915,3 @@ "kind": "function",

"parameters": {
"id": 529,
"id": 508,
"nodeType": "ParameterList",

@@ -921,6 +921,6 @@ "parameters": [

"constant": false,
"id": 512,
"id": 491,
"name": "relay",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "341:13:4",

@@ -934,3 +934,3 @@ "stateVariable": false,

"typeName": {
"id": 511,
"id": 490,
"name": "address",

@@ -950,6 +950,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 514,
"id": 493,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "364:12:4",

@@ -963,3 +963,3 @@ "stateVariable": false,

"typeName": {
"id": 513,
"id": 492,
"name": "address",

@@ -979,6 +979,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 516,
"id": 495,
"name": "encodedFunction",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "386:30:4",

@@ -992,3 +992,3 @@ "stateVariable": false,

"typeName": {
"id": 515,
"id": 494,
"name": "bytes",

@@ -1007,6 +1007,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 518,
"id": 497,
"name": "transactionFee",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "426:22:4",

@@ -1020,3 +1020,3 @@ "stateVariable": false,

"typeName": {
"id": 517,
"id": 496,
"name": "uint256",

@@ -1035,6 +1035,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 520,
"id": 499,
"name": "gasPrice",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "458:16:4",

@@ -1048,3 +1048,3 @@ "stateVariable": false,

"typeName": {
"id": 519,
"id": 498,
"name": "uint256",

@@ -1063,6 +1063,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 522,
"id": 501,
"name": "gasLimit",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "484:16:4",

@@ -1076,3 +1076,3 @@ "stateVariable": false,

"typeName": {
"id": 521,
"id": 500,
"name": "uint256",

@@ -1091,6 +1091,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 524,
"id": 503,
"name": "nonce",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "510:13:4",

@@ -1104,3 +1104,3 @@ "stateVariable": false,

"typeName": {
"id": 523,
"id": 502,
"name": "uint256",

@@ -1119,6 +1119,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 526,
"id": 505,
"name": "approvalData",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "533:27:4",

@@ -1132,3 +1132,3 @@ "stateVariable": false,

"typeName": {
"id": 525,
"id": 504,
"name": "bytes",

@@ -1147,6 +1147,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 528,
"id": 507,
"name": "maxPossibleCharge",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "570:25:4",

@@ -1160,3 +1160,3 @@ "stateVariable": false,

"typeName": {
"id": 527,
"id": 506,
"name": "uint256",

@@ -1177,3 +1177,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 534,
"id": 513,
"nodeType": "ParameterList",

@@ -1183,6 +1183,6 @@ "parameters": [

"constant": false,
"id": 531,
"id": 510,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "649:7:4",

@@ -1196,3 +1196,3 @@ "stateVariable": false,

"typeName": {
"id": 530,
"id": 509,
"name": "uint256",

@@ -1211,6 +1211,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 533,
"id": 512,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 535,
"scope": 514,
"src": "658:12:4",

@@ -1224,3 +1224,3 @@ "stateVariable": false,

"typeName": {
"id": 532,
"id": 511,
"name": "bytes",

@@ -1240,3 +1240,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 554,
"scope": 533,
"src": "305:367:4",

@@ -1250,3 +1250,3 @@ "stateMutability": "view",

"documentation": null,
"id": 542,
"id": 521,
"implemented": false,

@@ -1258,3 +1258,3 @@ "kind": "function",

"parameters": {
"id": 538,
"id": 517,
"nodeType": "ParameterList",

@@ -1264,6 +1264,6 @@ "parameters": [

"constant": false,
"id": 537,
"id": 516,
"name": "context",
"nodeType": "VariableDeclaration",
"scope": 542,
"scope": 521,
"src": "702:22:4",

@@ -1277,3 +1277,3 @@ "stateVariable": false,

"typeName": {
"id": 536,
"id": 515,
"name": "bytes",

@@ -1294,3 +1294,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 541,
"id": 520,
"nodeType": "ParameterList",

@@ -1300,6 +1300,6 @@ "parameters": [

"constant": false,
"id": 540,
"id": 519,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 542,
"scope": 521,
"src": "744:7:4",

@@ -1313,3 +1313,3 @@ "stateVariable": false,

"typeName": {
"id": 539,
"id": 518,
"name": "bytes32",

@@ -1329,3 +1329,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 554,
"scope": 533,
"src": "678:75:4",

@@ -1339,3 +1339,3 @@ "stateMutability": "nonpayable",

"documentation": null,
"id": 553,
"id": 532,
"implemented": false,

@@ -1347,3 +1347,3 @@ "kind": "function",

"parameters": {
"id": 551,
"id": 530,
"nodeType": "ParameterList",

@@ -1353,6 +1353,6 @@ "parameters": [

"constant": false,
"id": 544,
"id": 523,
"name": "context",
"nodeType": "VariableDeclaration",
"scope": 553,
"scope": 532,
"src": "784:22:4",

@@ -1366,3 +1366,3 @@ "stateVariable": false,

"typeName": {
"id": 543,
"id": 522,
"name": "bytes",

@@ -1381,6 +1381,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 546,
"id": 525,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 553,
"scope": 532,
"src": "808:12:4",

@@ -1394,3 +1394,3 @@ "stateVariable": false,

"typeName": {
"id": 545,
"id": 524,
"name": "bool",

@@ -1409,6 +1409,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 548,
"id": 527,
"name": "actualCharge",
"nodeType": "VariableDeclaration",
"scope": 553,
"scope": 532,
"src": "822:17:4",

@@ -1422,3 +1422,3 @@ "stateVariable": false,

"typeName": {
"id": 547,
"id": 526,
"name": "uint",

@@ -1437,6 +1437,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 550,
"id": 529,
"name": "preRetVal",
"nodeType": "VariableDeclaration",
"scope": 553,
"scope": 532,
"src": "841:17:4",

@@ -1450,3 +1450,3 @@ "stateVariable": false,

"typeName": {
"id": 549,
"id": 528,
"name": "bytes32",

@@ -1467,3 +1467,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 552,
"id": 531,
"nodeType": "ParameterList",

@@ -1473,3 +1473,3 @@ "parameters": [],

},
"scope": 554,
"scope": 533,
"src": "759:110:4",

@@ -1481,3 +1481,3 @@ "stateMutability": "nonpayable",

],
"scope": 555,
"scope": 534,
"src": "112:759:4"

@@ -1494,3 +1494,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.644Z",
"updatedAt": "2019-08-16T19:32:31.166Z",
"devdoc": {

@@ -1497,0 +1497,0 @@ "methods": {

@@ -107,3 +107,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Extension of Crowdsale contract whose tokens are minted in each purchase. Token ownership should be transferred to MintedCrowdsale for minting.\",\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}},\"title\":\"MintedCrowdsale\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/crowdsale/emission/MintedCrowdsale.sol\":\"MintedCrowdsale\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzzr://bd34c1ce05b5b2b3a62fc02e160f6805b1cadd476854664f433c685b2fda8dad\"]},\"/home/frangio/oz/contracts/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0xbe8eef6f2cb4e427f5c5d8a76865ccd06e55a4f1d6671ba312d45bfa705aedbf\",\"urls\":[\"bzzr://946a26eebf5d294534471d07c4dc449ce3123e9fc2994bdfcd99dff1d09cc1af\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/emission/MintedCrowdsale.sol\":{\"keccak256\":\"0x343249b95ade6a20737b7f681a05a257f14a39b21043ff2e31d8e5d861d83777\",\"urls\":[\"bzzr://3a53c6bbb534d2f038289952e35a75bb572f5998582b1d47827907f027dd7fb4\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xe694ef04a7c6886b66ff96bcd2f69391584c886f98af4209b1871ae30e9ccc02\",\"urls\":[\"bzzr://492925b0d8de70689bfdc292e7870ca3f67feb106fc0c847c05afc619587b518\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20Mintable.sol\":{\"keccak256\":\"0xa2b957cf89692c504962afb7506999155f83385373f808243246cd5879de5940\",\"urls\":[\"bzzr://812521b94ef1bd30b0a93e14a97a0e79e2bf4cb607aa47c21c8177966a79fd1a\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xe0812b2b05e37bf0dc866f8ba0a1a36d6dd006ac5b02bfde80e820a2a9e804b8\",\"urls\":[\"bzzr://7010caa641157fce5262c47d6cf10c9d6a6f0094fa327485c4fcf70989ec4532\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Extension of Crowdsale contract whose tokens are minted in each purchase. Token ownership should be transferred to MintedCrowdsale for minting.\",\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}},\"title\":\"MintedCrowdsale\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/crowdsale/emission/MintedCrowdsale.sol\":\"MintedCrowdsale\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzzr://bd34c1ce05b5b2b3a62fc02e160f6805b1cadd476854664f433c685b2fda8dad\"]},\"/home/frangio/oz/contracts/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0xbe8eef6f2cb4e427f5c5d8a76865ccd06e55a4f1d6671ba312d45bfa705aedbf\",\"urls\":[\"bzzr://946a26eebf5d294534471d07c4dc449ce3123e9fc2994bdfcd99dff1d09cc1af\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/emission/MintedCrowdsale.sol\":{\"keccak256\":\"0x343249b95ade6a20737b7f681a05a257f14a39b21043ff2e31d8e5d861d83777\",\"urls\":[\"bzzr://3a53c6bbb534d2f038289952e35a75bb572f5998582b1d47827907f027dd7fb4\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xe694ef04a7c6886b66ff96bcd2f69391584c886f98af4209b1871ae30e9ccc02\",\"urls\":[\"bzzr://492925b0d8de70689bfdc292e7870ca3f67feb106fc0c847c05afc619587b518\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20Mintable.sol\":{\"keccak256\":\"0xa2b957cf89692c504962afb7506999155f83385373f808243246cd5879de5940\",\"urls\":[\"bzzr://812521b94ef1bd30b0a93e14a97a0e79e2bf4cb607aa47c21c8177966a79fd1a\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xf4bfe37bc0ed72fb1a94abab4acec42dcabc6b2936d684f9a018a61afe2d979a\",\"urls\":[\"bzzr://a0a3a1ea455fc61ea6032cad30321369a478121b32ae8a212a73a54e57dad3b5\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"bytecode": "0x",

@@ -119,10 +119,10 @@ "deployedBytecode": "0x",

"MintedCrowdsale": [
2600
2579
]
},
"id": 2601,
"id": 2580,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2573,
"id": 2552,
"literals": [

@@ -140,6 +140,6 @@ "solidity",

"file": "../Crowdsale.sol",
"id": 2574,
"id": 2553,
"nodeType": "ImportDirective",
"scope": 2601,
"sourceUnit": 2135,
"scope": 2580,
"sourceUnit": 2114,
"src": "25:26:21",

@@ -152,6 +152,6 @@ "symbolAliases": [],

"file": "../../token/ERC20/ERC20Mintable.sol",
"id": 2575,
"id": 2554,
"nodeType": "ImportDirective",
"scope": 2601,
"sourceUnit": 10099,
"scope": 2580,
"sourceUnit": 9976,
"src": "52:45:21",

@@ -167,13 +167,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 2576,
"id": 2555,
"name": "Crowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "316:9:21",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Crowdsale_$2134",
"typeIdentifier": "t_contract$_Crowdsale_$2113",
"typeString": "contract Crowdsale"
}
},
"id": 2577,
"id": 2556,
"nodeType": "InheritanceSpecifier",

@@ -185,4 +185,4 @@ "src": "316:9:21"

26,
2134,
13448
2113,
13325
],

@@ -192,7 +192,7 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 2600,
"id": 2579,
"linearizedBaseContracts": [
2600,
2134,
13448,
2579,
2113,
13325,
26

@@ -205,3 +205,3 @@ ],

"body": {
"id": 2598,
"id": 2577,
"nodeType": "Block",

@@ -219,7 +219,7 @@ "src": "585:234:21",

"argumentTypes": null,
"id": 2592,
"id": 2571,
"name": "beneficiary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2579,
"referencedDeclaration": 2558,
"src": "726:11:21",

@@ -233,7 +233,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 2593,
"id": 2572,
"name": "tokenAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2581,
"referencedDeclaration": 2560,
"src": "739:11:21",

@@ -268,14 +268,14 @@ "typeDescriptions": {

"argumentTypes": [],
"id": 2587,
"id": 2566,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1958,
"referencedDeclaration": 1937,
"src": "711:5:21",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IERC20_$10269_$",
"typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IERC20_$10146_$",
"typeString": "function () view returns (contract IERC20)"
}
},
"id": 2588,
"id": 2567,
"isConstant": false,

@@ -290,3 +290,3 @@ "isLValue": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -299,7 +299,7 @@ }

{
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"
}
],
"id": 2586,
"id": 2565,
"isConstant": false,

@@ -317,3 +317,3 @@ "isLValue": false,

},
"id": 2589,
"id": 2568,
"isConstant": false,

@@ -340,14 +340,14 @@ "isLValue": false,

],
"id": 2585,
"id": 2564,
"name": "ERC20Mintable",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10098,
"referencedDeclaration": 9975,
"src": "689:13:21",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC20Mintable_$10098_$",
"typeIdentifier": "t_type$_t_contract$_ERC20Mintable_$9975_$",
"typeString": "type(contract ERC20Mintable)"
}
},
"id": 2590,
"id": 2569,
"isConstant": false,

@@ -362,7 +362,7 @@ "isLValue": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Mintable_$10098",
"typeIdentifier": "t_contract$_ERC20Mintable_$9975",
"typeString": "contract ERC20Mintable"
}
},
"id": 2591,
"id": 2570,
"isConstant": false,

@@ -374,3 +374,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 10097,
"referencedDeclaration": 9974,
"src": "689:36:21",

@@ -382,3 +382,3 @@ "typeDescriptions": {

},
"id": 2594,
"id": 2573,
"isConstant": false,

@@ -400,3 +400,3 @@ "isLValue": false,

"hexValue": "4d696e74656443726f776473616c653a206d696e74696e67206661696c6564",
"id": 2595,
"id": 2574,
"isConstant": false,

@@ -428,10 +428,10 @@ "isLValue": false,

],
"id": 2584,
"id": 2563,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13466,
13467
13343,
13344
],
"referencedDeclaration": 13467,
"referencedDeclaration": 13344,
"src": "668:7:21",

@@ -443,3 +443,3 @@ "typeDescriptions": {

},
"id": 2596,
"id": 2575,
"isConstant": false,

@@ -458,3 +458,3 @@ "isLValue": false,

},
"id": 2597,
"id": 2576,
"nodeType": "ExpressionStatement",

@@ -466,3 +466,3 @@ "src": "668:144:21"

"documentation": "@dev Overrides delivery by minting tokens upon purchase.\n@param beneficiary Token purchaser\n@param tokenAmount Number of tokens to be minted",
"id": 2599,
"id": 2578,
"implemented": true,

@@ -474,3 +474,3 @@ "kind": "function",

"parameters": {
"id": 2582,
"id": 2561,
"nodeType": "ParameterList",

@@ -480,6 +480,6 @@ "parameters": [

"constant": false,
"id": 2579,
"id": 2558,
"name": "beneficiary",
"nodeType": "VariableDeclaration",
"scope": 2599,
"scope": 2578,
"src": "534:19:21",

@@ -493,3 +493,3 @@ "stateVariable": false,

"typeName": {
"id": 2578,
"id": 2557,
"name": "address",

@@ -509,6 +509,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2581,
"id": 2560,
"name": "tokenAmount",
"nodeType": "VariableDeclaration",
"scope": 2599,
"scope": 2578,
"src": "555:19:21",

@@ -522,3 +522,3 @@ "stateVariable": false,

"typeName": {
"id": 2580,
"id": 2559,
"name": "uint256",

@@ -539,3 +539,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2583,
"id": 2562,
"nodeType": "ParameterList",

@@ -545,10 +545,10 @@ "parameters": [],

},
"scope": 2600,
"scope": 2579,
"src": "510:309:21",
"stateMutability": "nonpayable",
"superFunction": 2088,
"superFunction": 2067,
"visibility": "internal"
}
],
"scope": 2601,
"scope": 2580,
"src": "288:533:21"

@@ -563,10 +563,10 @@ }

"MintedCrowdsale": [
2600
2579
]
},
"id": 2601,
"id": 2580,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2573,
"id": 2552,
"literals": [

@@ -584,6 +584,6 @@ "solidity",

"file": "../Crowdsale.sol",
"id": 2574,
"id": 2553,
"nodeType": "ImportDirective",
"scope": 2601,
"sourceUnit": 2135,
"scope": 2580,
"sourceUnit": 2114,
"src": "25:26:21",

@@ -596,6 +596,6 @@ "symbolAliases": [],

"file": "../../token/ERC20/ERC20Mintable.sol",
"id": 2575,
"id": 2554,
"nodeType": "ImportDirective",
"scope": 2601,
"sourceUnit": 10099,
"scope": 2580,
"sourceUnit": 9976,
"src": "52:45:21",

@@ -611,13 +611,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 2576,
"id": 2555,
"name": "Crowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "316:9:21",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Crowdsale_$2134",
"typeIdentifier": "t_contract$_Crowdsale_$2113",
"typeString": "contract Crowdsale"
}
},
"id": 2577,
"id": 2556,
"nodeType": "InheritanceSpecifier",

@@ -629,4 +629,4 @@ "src": "316:9:21"

26,
2134,
13448
2113,
13325
],

@@ -636,7 +636,7 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 2600,
"id": 2579,
"linearizedBaseContracts": [
2600,
2134,
13448,
2579,
2113,
13325,
26

@@ -649,3 +649,3 @@ ],

"body": {
"id": 2598,
"id": 2577,
"nodeType": "Block",

@@ -663,7 +663,7 @@ "src": "585:234:21",

"argumentTypes": null,
"id": 2592,
"id": 2571,
"name": "beneficiary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2579,
"referencedDeclaration": 2558,
"src": "726:11:21",

@@ -677,7 +677,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 2593,
"id": 2572,
"name": "tokenAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2581,
"referencedDeclaration": 2560,
"src": "739:11:21",

@@ -712,14 +712,14 @@ "typeDescriptions": {

"argumentTypes": [],
"id": 2587,
"id": 2566,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1958,
"referencedDeclaration": 1937,
"src": "711:5:21",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IERC20_$10269_$",
"typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IERC20_$10146_$",
"typeString": "function () view returns (contract IERC20)"
}
},
"id": 2588,
"id": 2567,
"isConstant": false,

@@ -734,3 +734,3 @@ "isLValue": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"

@@ -743,7 +743,7 @@ }

{
"typeIdentifier": "t_contract$_IERC20_$10269",
"typeIdentifier": "t_contract$_IERC20_$10146",
"typeString": "contract IERC20"
}
],
"id": 2586,
"id": 2565,
"isConstant": false,

@@ -761,3 +761,3 @@ "isLValue": false,

},
"id": 2589,
"id": 2568,
"isConstant": false,

@@ -784,14 +784,14 @@ "isLValue": false,

],
"id": 2585,
"id": 2564,
"name": "ERC20Mintable",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10098,
"referencedDeclaration": 9975,
"src": "689:13:21",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC20Mintable_$10098_$",
"typeIdentifier": "t_type$_t_contract$_ERC20Mintable_$9975_$",
"typeString": "type(contract ERC20Mintable)"
}
},
"id": 2590,
"id": 2569,
"isConstant": false,

@@ -806,7 +806,7 @@ "isLValue": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Mintable_$10098",
"typeIdentifier": "t_contract$_ERC20Mintable_$9975",
"typeString": "contract ERC20Mintable"
}
},
"id": 2591,
"id": 2570,
"isConstant": false,

@@ -818,3 +818,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 10097,
"referencedDeclaration": 9974,
"src": "689:36:21",

@@ -826,3 +826,3 @@ "typeDescriptions": {

},
"id": 2594,
"id": 2573,
"isConstant": false,

@@ -844,3 +844,3 @@ "isLValue": false,

"hexValue": "4d696e74656443726f776473616c653a206d696e74696e67206661696c6564",
"id": 2595,
"id": 2574,
"isConstant": false,

@@ -872,10 +872,10 @@ "isLValue": false,

],
"id": 2584,
"id": 2563,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13466,
13467
13343,
13344
],
"referencedDeclaration": 13467,
"referencedDeclaration": 13344,
"src": "668:7:21",

@@ -887,3 +887,3 @@ "typeDescriptions": {

},
"id": 2596,
"id": 2575,
"isConstant": false,

@@ -902,3 +902,3 @@ "isLValue": false,

},
"id": 2597,
"id": 2576,
"nodeType": "ExpressionStatement",

@@ -910,3 +910,3 @@ "src": "668:144:21"

"documentation": "@dev Overrides delivery by minting tokens upon purchase.\n@param beneficiary Token purchaser\n@param tokenAmount Number of tokens to be minted",
"id": 2599,
"id": 2578,
"implemented": true,

@@ -918,3 +918,3 @@ "kind": "function",

"parameters": {
"id": 2582,
"id": 2561,
"nodeType": "ParameterList",

@@ -924,6 +924,6 @@ "parameters": [

"constant": false,
"id": 2579,
"id": 2558,
"name": "beneficiary",
"nodeType": "VariableDeclaration",
"scope": 2599,
"scope": 2578,
"src": "534:19:21",

@@ -937,3 +937,3 @@ "stateVariable": false,

"typeName": {
"id": 2578,
"id": 2557,
"name": "address",

@@ -953,6 +953,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2581,
"id": 2560,
"name": "tokenAmount",
"nodeType": "VariableDeclaration",
"scope": 2599,
"scope": 2578,
"src": "555:19:21",

@@ -966,3 +966,3 @@ "stateVariable": false,

"typeName": {
"id": 2580,
"id": 2559,
"name": "uint256",

@@ -983,3 +983,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2583,
"id": 2562,
"nodeType": "ParameterList",

@@ -989,10 +989,10 @@ "parameters": [],

},
"scope": 2600,
"scope": 2579,
"src": "510:309:21",
"stateMutability": "nonpayable",
"superFunction": 2088,
"superFunction": 2067,
"visibility": "internal"
}
],
"scope": 2601,
"scope": 2580,
"src": "288:533:21"

@@ -1009,3 +1009,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.680Z",
"updatedAt": "2019-08-16T19:32:31.202Z",
"devdoc": {

@@ -1012,0 +1012,0 @@ "details": "Extension of Crowdsale contract whose tokens are minted in each purchase. Token ownership should be transferred to MintedCrowdsale for minting.",

@@ -126,7 +126,7 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"rate\",\"type\":\"uint256\"},{\"name\":\"wallet\",\"type\":\"address\"},{\"name\":\"token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/MintedCrowdsaleImpl.sol\":\"MintedCrowdsaleImpl\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzzr://bd34c1ce05b5b2b3a62fc02e160f6805b1cadd476854664f433c685b2fda8dad\"]},\"/home/frangio/oz/contracts/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0xbe8eef6f2cb4e427f5c5d8a76865ccd06e55a4f1d6671ba312d45bfa705aedbf\",\"urls\":[\"bzzr://946a26eebf5d294534471d07c4dc449ce3123e9fc2994bdfcd99dff1d09cc1af\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/emission/MintedCrowdsale.sol\":{\"keccak256\":\"0x343249b95ade6a20737b7f681a05a257f14a39b21043ff2e31d8e5d861d83777\",\"urls\":[\"bzzr://3a53c6bbb534d2f038289952e35a75bb572f5998582b1d47827907f027dd7fb4\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/mocks/MintedCrowdsaleImpl.sol\":{\"keccak256\":\"0xed94651e903eada18ad085bc8f8d232373c9bc600ef2c25d2fde4f61dce59abf\",\"urls\":[\"bzzr://08201f95a8b68d63f35855b50947b033e803f3dd72ddd9d9d735654fdf3fcdb6\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xe694ef04a7c6886b66ff96bcd2f69391584c886f98af4209b1871ae30e9ccc02\",\"urls\":[\"bzzr://492925b0d8de70689bfdc292e7870ca3f67feb106fc0c847c05afc619587b518\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20Mintable.sol\":{\"keccak256\":\"0xa2b957cf89692c504962afb7506999155f83385373f808243246cd5879de5940\",\"urls\":[\"bzzr://812521b94ef1bd30b0a93e14a97a0e79e2bf4cb607aa47c21c8177966a79fd1a\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xe0812b2b05e37bf0dc866f8ba0a1a36d6dd006ac5b02bfde80e820a2a9e804b8\",\"urls\":[\"bzzr://7010caa641157fce5262c47d6cf10c9d6a6f0094fa327485c4fcf70989ec4532\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50604051606080610aa58339810180604052606081101561003057600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050508282826001600081905550600083116100d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f43726f776473616c653a2072617465206973203000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561015c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610a806025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156101e2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180610a5c6024913960400191505060405180910390fd5b8260038190555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050506107dc806102806000396000f3fe60806040526004361061004a5760003560e01c80632c4e722e1461005c5780634042b66f14610087578063521eb273146100b2578063ec8ac4d814610109578063fc0c546a1461014d575b61005a6100556101a4565b6101ac565b005b34801561006857600080fd5b50610071610310565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b5061009c61031a565b6040518082815260200191505060405180910390f35b3480156100be57600080fd5b506100c7610324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61014b6004803603602081101561011f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101ac565b005b34801561015957600080fd5b5061016261034e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b6001600080828254019250508190555060008054905060003490506101d18382610378565b60006101dc82610479565b90506101f38260045461049790919063ffffffff16565b600481905550610203848261051f565b8373ffffffffffffffffffffffffffffffffffffffff166102226101a4565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a3610281848361052d565b610289610531565b610293848361059c565b5050600054811461030c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6000600454905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156103fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610787602a913960400191505060405180910390fd5b6000811415610475576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b6000610490600354836105a090919063ffffffff16565b9050919050565b600080828401905083811015610515576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6105298282610626565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610599573d6000803e3d6000fd5b50565b5050565b6000808314156105b35760009050610620565b60008284029050828482816105c457fe5b041461061b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806107666021913960400191505060405180910390fd5b809150505b92915050565b61062e61034e565b73ffffffffffffffffffffffffffffffffffffffff166340c10f1983836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b8101908080519060200190929190505050610761576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4d696e74656443726f776473616c653a206d696e74696e67206661696c65640081525060200191505060405180910390fd5b505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743726f776473616c653a2062656e656669636961727920697320746865207a65726f2061646472657373a165627a7a723058208dd3686672d0f8f920e9d3cf0e017e987b538d8e912463f43c6353b0904e6c59002943726f776473616c653a20746f6b656e20697320746865207a65726f206164647265737343726f776473616c653a2077616c6c657420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x60806040526004361061004a5760003560e01c80632c4e722e1461005c5780634042b66f14610087578063521eb273146100b2578063ec8ac4d814610109578063fc0c546a1461014d575b61005a6100556101a4565b6101ac565b005b34801561006857600080fd5b50610071610310565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b5061009c61031a565b6040518082815260200191505060405180910390f35b3480156100be57600080fd5b506100c7610324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61014b6004803603602081101561011f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101ac565b005b34801561015957600080fd5b5061016261034e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b6001600080828254019250508190555060008054905060003490506101d18382610378565b60006101dc82610479565b90506101f38260045461049790919063ffffffff16565b600481905550610203848261051f565b8373ffffffffffffffffffffffffffffffffffffffff166102226101a4565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a3610281848361052d565b610289610531565b610293848361059c565b5050600054811461030c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6000600454905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156103fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610787602a913960400191505060405180910390fd5b6000811415610475576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b6000610490600354836105a090919063ffffffff16565b9050919050565b600080828401905083811015610515576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6105298282610626565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610599573d6000803e3d6000fd5b50565b5050565b6000808314156105b35760009050610620565b60008284029050828482816105c457fe5b041461061b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806107666021913960400191505060405180910390fd5b809150505b92915050565b61062e61034e565b73ffffffffffffffffffffffffffffffffffffffff166340c10f1983836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b8101908080519060200190929190505050610761576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4d696e74656443726f776473616c653a206d696e74696e67206661696c65640081525060200191505060405180910390fd5b505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743726f776473616c653a2062656e656669636961727920697320746865207a65726f2061646472657373a165627a7a723058208dd3686672d0f8f920e9d3cf0e017e987b538d8e912463f43c6353b0904e6c590029",
"sourceMap": "121:230:88:-;;;175:174;8:9:-1;5:2;;;30:1;27;20:12;5:2;175:174:88;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;175:174:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:4;270:6;278:5;879:1:149;863:13;:17;;;;2416:1:15;2409:4;:8;2401:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2478:1;2460:20;;:6;:20;;;;2452:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2566:1;2540:28;;2548:5;2540:28;;;;2532:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2628:4;2620:5;:12;;;;2652:6;2642:7;;:16;;;;;;;;;;;;;;;;;;2677:5;2668:6;;:14;;;;;;;;;;;;;;;;;;2319:370;;;175:174:88;;;121:230;;;;;;",
"deployedSourceMap": "121:230:88:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3017:23:15;3027:12;:10;:12::i;:::-;3017:9;:23::i;:::-;121:230:88;3430:75:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3430:75:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3568:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3568:85:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3258:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3258:87:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3910:605;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3910:605:15;;;;;;;;;;;;;;;;;;;:::i;:::-;;3106:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3106:76:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;791:88:0;836:7;862:10;855:17;;791:88;:::o;3910:605:15:-;1313:1:149;1296:13;;:18;;;;;;;;;;;1324:20;1347:13;;1324:36;;3988:17:15;4008:9;3988:29;;4027:44;4048:11;4061:9;4027:20;:44::i;:::-;4130:14;4147:26;4163:9;4147:15;:26::i;:::-;4130:43;;4221:25;4236:9;4221:10;;:14;;:25;;;;:::i;:::-;4208:10;:38;;;;4257:37;4274:11;4287:6;4257:16;:37::i;:::-;4339:11;4309:61;;4325:12;:10;:12::i;:::-;4309:61;;;4352:9;4363:6;4309:61;;;;;;;;;;;;;;;;;;;;;;;;4381:46;4404:11;4417:9;4381:22;:46::i;:::-;4438:15;:13;:15::i;:::-;4463:45;4485:11;4498:9;4463:21;:45::i;:::-;1370:1:149;;1405:13;;1389:12;:29;1381:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3910:605:15;;:::o;3430:75::-;3467:7;3493:5;;3486:12;;3430:75;:::o;3568:85::-;3610:7;3636:10;;3629:17;;3568:85;:::o;3258:87::-;3297:15;3331:7;;;;;;;;;;;3324:14;;3258:87;:::o;3106:76::-;3144:6;3169;;;;;;;;;;;3162:13;;3106:76;:::o;5057:376::-;5182:1;5159:25;;:11;:25;;;;5151:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5262:1;5249:9;:14;;5241:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5057:376;;:::o;7358:120::-;7425:7;7451:20;7465:5;;7451:9;:13;;:20;;;;:::i;:::-;7444:27;;7358:120;;;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;6560:134:15:-;6647:40;6662:11;6675;6647:14;:40::i;:::-;6560:134;;:::o;6964:145::-;;;:::o;7565:78::-;7609:7;;;;;;;;;;;:16;;:27;7626:9;7609:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7609:27:15;7565:78::o;5728:149::-;;;:::o;2119:459:48:-;2177:7;2423:1;2418;:6;2414:45;;;2447:1;2440:8;;;;2414:45;2469:9;2485:1;2481;:5;2469:17;;2513:1;2508;2504;:5;;;;;;:10;2496:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2570:1;2563:8;;;2119:459;;;;;:::o;510:309:21:-;711:7;:5;:7::i;:::-;689:36;;;726:11;739;689:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;689:62:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;689:62:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;689:62:21;;;;;;;;;;;;;;;;668:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;510:309;;:::o",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"rate\",\"type\":\"uint256\"},{\"name\":\"wallet\",\"type\":\"address\"},{\"name\":\"token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/MintedCrowdsaleImpl.sol\":\"MintedCrowdsaleImpl\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzzr://bd34c1ce05b5b2b3a62fc02e160f6805b1cadd476854664f433c685b2fda8dad\"]},\"/home/frangio/oz/contracts/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0xbe8eef6f2cb4e427f5c5d8a76865ccd06e55a4f1d6671ba312d45bfa705aedbf\",\"urls\":[\"bzzr://946a26eebf5d294534471d07c4dc449ce3123e9fc2994bdfcd99dff1d09cc1af\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/emission/MintedCrowdsale.sol\":{\"keccak256\":\"0x343249b95ade6a20737b7f681a05a257f14a39b21043ff2e31d8e5d861d83777\",\"urls\":[\"bzzr://3a53c6bbb534d2f038289952e35a75bb572f5998582b1d47827907f027dd7fb4\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/mocks/MintedCrowdsaleImpl.sol\":{\"keccak256\":\"0xed94651e903eada18ad085bc8f8d232373c9bc600ef2c25d2fde4f61dce59abf\",\"urls\":[\"bzzr://08201f95a8b68d63f35855b50947b033e803f3dd72ddd9d9d735654fdf3fcdb6\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xe694ef04a7c6886b66ff96bcd2f69391584c886f98af4209b1871ae30e9ccc02\",\"urls\":[\"bzzr://492925b0d8de70689bfdc292e7870ca3f67feb106fc0c847c05afc619587b518\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20Mintable.sol\":{\"keccak256\":\"0xa2b957cf89692c504962afb7506999155f83385373f808243246cd5879de5940\",\"urls\":[\"bzzr://812521b94ef1bd30b0a93e14a97a0e79e2bf4cb607aa47c21c8177966a79fd1a\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xf4bfe37bc0ed72fb1a94abab4acec42dcabc6b2936d684f9a018a61afe2d979a\",\"urls\":[\"bzzr://a0a3a1ea455fc61ea6032cad30321369a478121b32ae8a212a73a54e57dad3b5\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50604051606080610aa58339810180604052606081101561003057600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050508282826001600081905550600083116100d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f43726f776473616c653a2072617465206973203000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561015c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610a806025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156101e2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180610a5c6024913960400191505060405180910390fd5b8260038190555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050506107dc806102806000396000f3fe60806040526004361061004a5760003560e01c80632c4e722e1461005c5780634042b66f14610087578063521eb273146100b2578063ec8ac4d814610109578063fc0c546a1461014d575b61005a6100556101a4565b6101ac565b005b34801561006857600080fd5b50610071610310565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b5061009c61031a565b6040518082815260200191505060405180910390f35b3480156100be57600080fd5b506100c7610324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61014b6004803603602081101561011f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101ac565b005b34801561015957600080fd5b5061016261034e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b6001600080828254019250508190555060008054905060003490506101d18382610378565b60006101dc82610479565b90506101f38260045461049790919063ffffffff16565b600481905550610203848261051f565b8373ffffffffffffffffffffffffffffffffffffffff166102226101a4565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a3610281848361052d565b610289610531565b610293848361059c565b5050600054811461030c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6000600454905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156103fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610787602a913960400191505060405180910390fd5b6000811415610475576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b6000610490600354836105a090919063ffffffff16565b9050919050565b600080828401905083811015610515576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6105298282610626565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610599573d6000803e3d6000fd5b50565b5050565b6000808314156105b35760009050610620565b60008284029050828482816105c457fe5b041461061b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806107666021913960400191505060405180910390fd5b809150505b92915050565b61062e61034e565b73ffffffffffffffffffffffffffffffffffffffff166340c10f1983836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b8101908080519060200190929190505050610761576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4d696e74656443726f776473616c653a206d696e74696e67206661696c65640081525060200191505060405180910390fd5b505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743726f776473616c653a2062656e656669636961727920697320746865207a65726f2061646472657373a165627a7a7230582072c2374a85cc3f9f7c5b7217b2c88dbf637c644d768f0a7687981db464984162002943726f776473616c653a20746f6b656e20697320746865207a65726f206164647265737343726f776473616c653a2077616c6c657420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x60806040526004361061004a5760003560e01c80632c4e722e1461005c5780634042b66f14610087578063521eb273146100b2578063ec8ac4d814610109578063fc0c546a1461014d575b61005a6100556101a4565b6101ac565b005b34801561006857600080fd5b50610071610310565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b5061009c61031a565b6040518082815260200191505060405180910390f35b3480156100be57600080fd5b506100c7610324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61014b6004803603602081101561011f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101ac565b005b34801561015957600080fd5b5061016261034e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b6001600080828254019250508190555060008054905060003490506101d18382610378565b60006101dc82610479565b90506101f38260045461049790919063ffffffff16565b600481905550610203848261051f565b8373ffffffffffffffffffffffffffffffffffffffff166102226101a4565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a3610281848361052d565b610289610531565b610293848361059c565b5050600054811461030c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6000600454905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156103fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610787602a913960400191505060405180910390fd5b6000811415610475576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b6000610490600354836105a090919063ffffffff16565b9050919050565b600080828401905083811015610515576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6105298282610626565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610599573d6000803e3d6000fd5b50565b5050565b6000808314156105b35760009050610620565b60008284029050828482816105c457fe5b041461061b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806107666021913960400191505060405180910390fd5b809150505b92915050565b61062e61034e565b73ffffffffffffffffffffffffffffffffffffffff166340c10f1983836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b8101908080519060200190929190505050610761576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4d696e74656443726f776473616c653a206d696e74696e67206661696c65640081525060200191505060405180910390fd5b505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743726f776473616c653a2062656e656669636961727920697320746865207a65726f2061646472657373a165627a7a7230582072c2374a85cc3f9f7c5b7217b2c88dbf637c644d768f0a7687981db4649841620029",
"sourceMap": "121:230:88:-;;;175:174;8:9:-1;5:2;;;30:1;27;20:12;5:2;175:174:88;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;175:174:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:4;270:6;278:5;879:1:148;863:13;:17;;;;2416:1:15;2409:4;:8;2401:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2478:1;2460:20;;:6;:20;;;;2452:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2566:1;2540:28;;2548:5;2540:28;;;;2532:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2628:4;2620:5;:12;;;;2652:6;2642:7;;:16;;;;;;;;;;;;;;;;;;2677:5;2668:6;;:14;;;;;;;;;;;;;;;;;;2319:370;;;175:174:88;;;121:230;;;;;;",
"deployedSourceMap": "121:230:88:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3017:23:15;3027:12;:10;:12::i;:::-;3017:9;:23::i;:::-;121:230:88;3430:75:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3430:75:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3568:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3568:85:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3258:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3258:87:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3910:605;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3910:605:15;;;;;;;;;;;;;;;;;;;:::i;:::-;;3106:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3106:76:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;791:88:0;836:7;862:10;855:17;;791:88;:::o;3910:605:15:-;1313:1:148;1296:13;;:18;;;;;;;;;;;1324:20;1347:13;;1324:36;;3988:17:15;4008:9;3988:29;;4027:44;4048:11;4061:9;4027:20;:44::i;:::-;4130:14;4147:26;4163:9;4147:15;:26::i;:::-;4130:43;;4221:25;4236:9;4221:10;;:14;;:25;;;;:::i;:::-;4208:10;:38;;;;4257:37;4274:11;4287:6;4257:16;:37::i;:::-;4339:11;4309:61;;4325:12;:10;:12::i;:::-;4309:61;;;4352:9;4363:6;4309:61;;;;;;;;;;;;;;;;;;;;;;;;4381:46;4404:11;4417:9;4381:22;:46::i;:::-;4438:15;:13;:15::i;:::-;4463:45;4485:11;4498:9;4463:21;:45::i;:::-;1370:1:148;;1405:13;;1389:12;:29;1381:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3910:605:15;;:::o;3430:75::-;3467:7;3493:5;;3486:12;;3430:75;:::o;3568:85::-;3610:7;3636:10;;3629:17;;3568:85;:::o;3258:87::-;3297:15;3331:7;;;;;;;;;;;3324:14;;3258:87;:::o;3106:76::-;3144:6;3169;;;;;;;;;;;3162:13;;3106:76;:::o;5057:376::-;5182:1;5159:25;;:11;:25;;;;5151:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5262:1;5249:9;:14;;5241:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5057:376;;:::o;7358:120::-;7425:7;7451:20;7465:5;;7451:9;:13;;:20;;;;:::i;:::-;7444:27;;7358:120;;;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;6560:134:15:-;6647:40;6662:11;6675;6647:14;:40::i;:::-;6560:134;;:::o;6964:145::-;;;:::o;7565:78::-;7609:7;;;;;;;;;;;:16;;:27;7626:9;7609:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7609:27:15;7565:78::o;5728:149::-;;;:::o;2271:459:48:-;2329:7;2575:1;2570;:6;2566:45;;;2599:1;2592:8;;;;2566:45;2621:9;2637:1;2633;:5;2621:17;;2665:1;2660;2656;:5;;;;;;:10;2648:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2722:1;2715:8;;;2271:459;;;;;:::o;510:309:21:-;711:7;:5;:7::i;:::-;689:36;;;726:11;739;689:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;689:62:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;689:62:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;689:62:21;;;;;;;;;;;;;;;;668:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;510:309;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../token/ERC20/ERC20Mintable.sol\";\nimport \"../crowdsale/emission/MintedCrowdsale.sol\";\n\ncontract MintedCrowdsaleImpl is MintedCrowdsale {\n constructor (uint256 rate, address payable wallet, ERC20Mintable token) public Crowdsale(rate, wallet, token) {\n // solhint-disable-previous-line no-empty-blocks\n }\n}\n",

@@ -138,10 +138,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/MintedCrowdsaleImpl.sol",

"MintedCrowdsaleImpl": [
7423
7400
]
},
"id": 7424,
"id": 7401,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7403,
"id": 7380,
"literals": [

@@ -159,6 +159,6 @@ "solidity",

"file": "../token/ERC20/ERC20Mintable.sol",
"id": 7404,
"id": 7381,
"nodeType": "ImportDirective",
"scope": 7424,
"sourceUnit": 10099,
"scope": 7401,
"sourceUnit": 9976,
"src": "25:42:88",

@@ -171,6 +171,6 @@ "symbolAliases": [],

"file": "../crowdsale/emission/MintedCrowdsale.sol",
"id": 7405,
"id": 7382,
"nodeType": "ImportDirective",
"scope": 7424,
"sourceUnit": 2601,
"scope": 7401,
"sourceUnit": 2580,
"src": "68:51:88",

@@ -186,13 +186,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 7406,
"id": 7383,
"name": "MintedCrowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2600,
"referencedDeclaration": 2579,
"src": "153:15:88",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MintedCrowdsale_$2600",
"typeIdentifier": "t_contract$_MintedCrowdsale_$2579",
"typeString": "contract MintedCrowdsale"
}
},
"id": 7407,
"id": 7384,
"nodeType": "InheritanceSpecifier",

@@ -204,5 +204,5 @@ "src": "153:15:88"

26,
2134,
2600,
13448
2113,
2579,
13325
],

@@ -212,8 +212,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7423,
"id": 7400,
"linearizedBaseContracts": [
7423,
2600,
2134,
13448,
7400,
2579,
2113,
13325,
26

@@ -226,3 +226,3 @@ ],

"body": {
"id": 7421,
"id": 7398,
"nodeType": "Block",

@@ -233,3 +233,3 @@ "src": "285:64:88",

"documentation": null,
"id": 7422,
"id": 7399,
"implemented": true,

@@ -242,7 +242,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 7416,
"id": 7393,
"name": "rate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7409,
"referencedDeclaration": 7386,
"src": "264:4:88",

@@ -256,7 +256,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7417,
"id": 7394,
"name": "wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7411,
"referencedDeclaration": 7388,
"src": "270:6:88",

@@ -270,10 +270,10 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7418,
"id": 7395,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7413,
"referencedDeclaration": 7390,
"src": "278:5:88",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Mintable_$10098",
"typeIdentifier": "t_contract$_ERC20Mintable_$9975",
"typeString": "contract ERC20Mintable"

@@ -283,13 +283,13 @@ }

],
"id": 7419,
"id": 7396,
"modifierName": {
"argumentTypes": null,
"id": 7415,
"id": 7392,
"name": "Crowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "254:9:88",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2134_$",
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2113_$",
"typeString": "type(contract Crowdsale)"

@@ -305,3 +305,3 @@ }

"parameters": {
"id": 7414,
"id": 7391,
"nodeType": "ParameterList",

@@ -311,6 +311,6 @@ "parameters": [

"constant": false,
"id": 7409,
"id": 7386,
"name": "rate",
"nodeType": "VariableDeclaration",
"scope": 7422,
"scope": 7399,
"src": "188:12:88",

@@ -324,3 +324,3 @@ "stateVariable": false,

"typeName": {
"id": 7408,
"id": 7385,
"name": "uint256",

@@ -339,6 +339,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7411,
"id": 7388,
"name": "wallet",
"nodeType": "VariableDeclaration",
"scope": 7422,
"scope": 7399,
"src": "202:22:88",

@@ -352,3 +352,3 @@ "stateVariable": false,

"typeName": {
"id": 7410,
"id": 7387,
"name": "address",

@@ -368,6 +368,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7413,
"id": 7390,
"name": "token",
"nodeType": "VariableDeclaration",
"scope": 7422,
"scope": 7399,
"src": "226:19:88",

@@ -377,3 +377,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Mintable_$10098",
"typeIdentifier": "t_contract$_ERC20Mintable_$9975",
"typeString": "contract ERC20Mintable"

@@ -383,9 +383,9 @@ },

"contractScope": null,
"id": 7412,
"id": 7389,
"name": "ERC20Mintable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10098,
"referencedDeclaration": 9975,
"src": "226:13:88",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Mintable_$10098",
"typeIdentifier": "t_contract$_ERC20Mintable_$9975",
"typeString": "contract ERC20Mintable"

@@ -401,3 +401,3 @@ }

"returnParameters": {
"id": 7420,
"id": 7397,
"nodeType": "ParameterList",

@@ -407,3 +407,3 @@ "parameters": [],

},
"scope": 7423,
"scope": 7400,
"src": "175:174:88",

@@ -415,3 +415,3 @@ "stateMutability": "nonpayable",

],
"scope": 7424,
"scope": 7401,
"src": "121:230:88"

@@ -426,10 +426,10 @@ }

"MintedCrowdsaleImpl": [
7423
7400
]
},
"id": 7424,
"id": 7401,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7403,
"id": 7380,
"literals": [

@@ -447,6 +447,6 @@ "solidity",

"file": "../token/ERC20/ERC20Mintable.sol",
"id": 7404,
"id": 7381,
"nodeType": "ImportDirective",
"scope": 7424,
"sourceUnit": 10099,
"scope": 7401,
"sourceUnit": 9976,
"src": "25:42:88",

@@ -459,6 +459,6 @@ "symbolAliases": [],

"file": "../crowdsale/emission/MintedCrowdsale.sol",
"id": 7405,
"id": 7382,
"nodeType": "ImportDirective",
"scope": 7424,
"sourceUnit": 2601,
"scope": 7401,
"sourceUnit": 2580,
"src": "68:51:88",

@@ -474,13 +474,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 7406,
"id": 7383,
"name": "MintedCrowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2600,
"referencedDeclaration": 2579,
"src": "153:15:88",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MintedCrowdsale_$2600",
"typeIdentifier": "t_contract$_MintedCrowdsale_$2579",
"typeString": "contract MintedCrowdsale"
}
},
"id": 7407,
"id": 7384,
"nodeType": "InheritanceSpecifier",

@@ -492,5 +492,5 @@ "src": "153:15:88"

26,
2134,
2600,
13448
2113,
2579,
13325
],

@@ -500,8 +500,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7423,
"id": 7400,
"linearizedBaseContracts": [
7423,
2600,
2134,
13448,
7400,
2579,
2113,
13325,
26

@@ -514,3 +514,3 @@ ],

"body": {
"id": 7421,
"id": 7398,
"nodeType": "Block",

@@ -521,3 +521,3 @@ "src": "285:64:88",

"documentation": null,
"id": 7422,
"id": 7399,
"implemented": true,

@@ -530,7 +530,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 7416,
"id": 7393,
"name": "rate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7409,
"referencedDeclaration": 7386,
"src": "264:4:88",

@@ -544,7 +544,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7417,
"id": 7394,
"name": "wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7411,
"referencedDeclaration": 7388,
"src": "270:6:88",

@@ -558,10 +558,10 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7418,
"id": 7395,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7413,
"referencedDeclaration": 7390,
"src": "278:5:88",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Mintable_$10098",
"typeIdentifier": "t_contract$_ERC20Mintable_$9975",
"typeString": "contract ERC20Mintable"

@@ -571,13 +571,13 @@ }

],
"id": 7419,
"id": 7396,
"modifierName": {
"argumentTypes": null,
"id": 7415,
"id": 7392,
"name": "Crowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "254:9:88",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2134_$",
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2113_$",
"typeString": "type(contract Crowdsale)"

@@ -593,3 +593,3 @@ }

"parameters": {
"id": 7414,
"id": 7391,
"nodeType": "ParameterList",

@@ -599,6 +599,6 @@ "parameters": [

"constant": false,
"id": 7409,
"id": 7386,
"name": "rate",
"nodeType": "VariableDeclaration",
"scope": 7422,
"scope": 7399,
"src": "188:12:88",

@@ -612,3 +612,3 @@ "stateVariable": false,

"typeName": {
"id": 7408,
"id": 7385,
"name": "uint256",

@@ -627,6 +627,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7411,
"id": 7388,
"name": "wallet",
"nodeType": "VariableDeclaration",
"scope": 7422,
"scope": 7399,
"src": "202:22:88",

@@ -640,3 +640,3 @@ "stateVariable": false,

"typeName": {
"id": 7410,
"id": 7387,
"name": "address",

@@ -656,6 +656,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7413,
"id": 7390,
"name": "token",
"nodeType": "VariableDeclaration",
"scope": 7422,
"scope": 7399,
"src": "226:19:88",

@@ -665,3 +665,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Mintable_$10098",
"typeIdentifier": "t_contract$_ERC20Mintable_$9975",
"typeString": "contract ERC20Mintable"

@@ -671,9 +671,9 @@ },

"contractScope": null,
"id": 7412,
"id": 7389,
"name": "ERC20Mintable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10098,
"referencedDeclaration": 9975,
"src": "226:13:88",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Mintable_$10098",
"typeIdentifier": "t_contract$_ERC20Mintable_$9975",
"typeString": "contract ERC20Mintable"

@@ -689,3 +689,3 @@ }

"returnParameters": {
"id": 7420,
"id": 7397,
"nodeType": "ParameterList",

@@ -695,3 +695,3 @@ "parameters": [],

},
"scope": 7423,
"scope": 7400,
"src": "175:174:88",

@@ -703,3 +703,3 @@ "stateMutability": "nonpayable",

],
"scope": 7424,
"scope": 7401,
"src": "121:230:88"

@@ -716,3 +716,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.759Z",
"updatedAt": "2019-08-16T19:32:31.276Z",
"devdoc": {

@@ -719,0 +719,0 @@ "methods": {

@@ -105,10 +105,10 @@ {

"MinterRoleMock": [
7457
7434
]
},
"id": 7458,
"id": 7435,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7425,
"id": 7402,
"literals": [

@@ -126,6 +126,6 @@ "solidity",

"file": "../access/roles/MinterRole.sol",
"id": 7426,
"id": 7403,
"nodeType": "ImportDirective",
"scope": 7458,
"sourceUnit": 1424,
"scope": 7435,
"sourceUnit": 1403,
"src": "25:40:89",

@@ -141,13 +141,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 7427,
"id": 7404,
"name": "MinterRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1423,
"referencedDeclaration": 1402,
"src": "94:10:89",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MinterRole_$1423",
"typeIdentifier": "t_contract$_MinterRole_$1402",
"typeString": "contract MinterRole"
}
},
"id": 7428,
"id": 7405,
"nodeType": "InheritanceSpecifier",

@@ -159,3 +159,3 @@ "src": "94:10:89"

26,
1423
1402
],

@@ -165,6 +165,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7457,
"id": 7434,
"linearizedBaseContracts": [
7457,
1423,
7434,
1402,
26

@@ -177,3 +177,3 @@ ],

"body": {
"id": 7437,
"id": 7414,
"nodeType": "Block",

@@ -188,7 +188,7 @@ "src": "157:39:89",

"argumentTypes": null,
"id": 7434,
"id": 7411,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7430,
"referencedDeclaration": 7407,
"src": "181:7:89",

@@ -208,9 +208,9 @@ "typeDescriptions": {

],
"id": 7433,
"id": 7410,
"name": "_removeMinter",
"nodeType": "Identifier",
"overloadedDeclarations": [
7456
7433
],
"referencedDeclaration": 7456,
"referencedDeclaration": 7433,
"src": "167:13:89",

@@ -222,3 +222,3 @@ "typeDescriptions": {

},
"id": 7435,
"id": 7412,
"isConstant": false,

@@ -237,3 +237,3 @@ "isLValue": false,

},
"id": 7436,
"id": 7413,
"nodeType": "ExpressionStatement",

@@ -245,3 +245,3 @@ "src": "167:22:89"

"documentation": null,
"id": 7438,
"id": 7415,
"implemented": true,

@@ -253,3 +253,3 @@ "kind": "function",

"parameters": {
"id": 7431,
"id": 7408,
"nodeType": "ParameterList",

@@ -259,6 +259,6 @@ "parameters": [

"constant": false,
"id": 7430,
"id": 7407,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 7438,
"scope": 7415,
"src": "133:15:89",

@@ -272,3 +272,3 @@ "stateVariable": false,

"typeName": {
"id": 7429,
"id": 7406,
"name": "address",

@@ -290,3 +290,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 7432,
"id": 7409,
"nodeType": "ParameterList",

@@ -296,3 +296,3 @@ "parameters": [],

},
"scope": 7457,
"scope": 7434,
"src": "111:85:89",

@@ -305,3 +305,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 7443,
"id": 7420,
"nodeType": "Block",

@@ -312,3 +312,3 @@ "src": "251:64:89",

"documentation": null,
"id": 7444,
"id": 7421,
"implemented": true,

@@ -319,10 +319,10 @@ "kind": "function",

"arguments": null,
"id": 7441,
"id": 7418,
"modifierName": {
"argumentTypes": null,
"id": 7440,
"id": 7417,
"name": "onlyMinter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1356,
"referencedDeclaration": 1335,
"src": "240:10:89",

@@ -341,3 +341,3 @@ "typeDescriptions": {

"parameters": {
"id": 7439,
"id": 7416,
"nodeType": "ParameterList",

@@ -348,3 +348,3 @@ "parameters": [],

"returnParameters": {
"id": 7442,
"id": 7419,
"nodeType": "ParameterList",

@@ -354,3 +354,3 @@ "parameters": [],

},
"scope": 7457,
"scope": 7434,
"src": "202:113:89",

@@ -363,3 +363,3 @@ "stateMutability": "view",

"body": {
"id": 7455,
"id": 7432,
"nodeType": "Block",

@@ -374,7 +374,7 @@ "src": "443:45:89",

"argumentTypes": null,
"id": 7452,
"id": 7429,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7446,
"referencedDeclaration": 7423,
"src": "473:7:89",

@@ -396,14 +396,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7449,
"id": 7426,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13650,
"referencedDeclaration": 13527,
"src": "453:5:89",
"typeDescriptions": {
"typeIdentifier": "t_super$_MinterRoleMock_$7457",
"typeIdentifier": "t_super$_MinterRoleMock_$7434",
"typeString": "contract super MinterRoleMock"
}
},
"id": 7451,
"id": 7428,
"isConstant": false,

@@ -415,3 +415,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 1422,
"referencedDeclaration": 1401,
"src": "453:19:89",

@@ -423,3 +423,3 @@ "typeDescriptions": {

},
"id": 7453,
"id": 7430,
"isConstant": false,

@@ -438,3 +438,3 @@ "isLValue": false,

},
"id": 7454,
"id": 7431,
"nodeType": "ExpressionStatement",

@@ -446,3 +446,3 @@ "src": "453:28:89"

"documentation": null,
"id": 7456,
"id": 7433,
"implemented": true,

@@ -454,3 +454,3 @@ "kind": "function",

"parameters": {
"id": 7447,
"id": 7424,
"nodeType": "ParameterList",

@@ -460,6 +460,6 @@ "parameters": [

"constant": false,
"id": 7446,
"id": 7423,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 7456,
"scope": 7433,
"src": "417:15:89",

@@ -473,3 +473,3 @@ "stateVariable": false,

"typeName": {
"id": 7445,
"id": 7422,
"name": "address",

@@ -491,3 +491,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 7448,
"id": 7425,
"nodeType": "ParameterList",

@@ -497,10 +497,10 @@ "parameters": [],

},
"scope": 7457,
"scope": 7434,
"src": "394:94:89",
"stateMutability": "nonpayable",
"superFunction": 1422,
"superFunction": 1401,
"visibility": "internal"
}
],
"scope": 7458,
"scope": 7435,
"src": "67:423:89"

@@ -515,10 +515,10 @@ }

"MinterRoleMock": [
7457
7434
]
},
"id": 7458,
"id": 7435,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7425,
"id": 7402,
"literals": [

@@ -536,6 +536,6 @@ "solidity",

"file": "../access/roles/MinterRole.sol",
"id": 7426,
"id": 7403,
"nodeType": "ImportDirective",
"scope": 7458,
"sourceUnit": 1424,
"scope": 7435,
"sourceUnit": 1403,
"src": "25:40:89",

@@ -551,13 +551,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 7427,
"id": 7404,
"name": "MinterRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1423,
"referencedDeclaration": 1402,
"src": "94:10:89",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MinterRole_$1423",
"typeIdentifier": "t_contract$_MinterRole_$1402",
"typeString": "contract MinterRole"
}
},
"id": 7428,
"id": 7405,
"nodeType": "InheritanceSpecifier",

@@ -569,3 +569,3 @@ "src": "94:10:89"

26,
1423
1402
],

@@ -575,6 +575,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7457,
"id": 7434,
"linearizedBaseContracts": [
7457,
1423,
7434,
1402,
26

@@ -587,3 +587,3 @@ ],

"body": {
"id": 7437,
"id": 7414,
"nodeType": "Block",

@@ -598,7 +598,7 @@ "src": "157:39:89",

"argumentTypes": null,
"id": 7434,
"id": 7411,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7430,
"referencedDeclaration": 7407,
"src": "181:7:89",

@@ -618,9 +618,9 @@ "typeDescriptions": {

],
"id": 7433,
"id": 7410,
"name": "_removeMinter",
"nodeType": "Identifier",
"overloadedDeclarations": [
7456
7433
],
"referencedDeclaration": 7456,
"referencedDeclaration": 7433,
"src": "167:13:89",

@@ -632,3 +632,3 @@ "typeDescriptions": {

},
"id": 7435,
"id": 7412,
"isConstant": false,

@@ -647,3 +647,3 @@ "isLValue": false,

},
"id": 7436,
"id": 7413,
"nodeType": "ExpressionStatement",

@@ -655,3 +655,3 @@ "src": "167:22:89"

"documentation": null,
"id": 7438,
"id": 7415,
"implemented": true,

@@ -663,3 +663,3 @@ "kind": "function",

"parameters": {
"id": 7431,
"id": 7408,
"nodeType": "ParameterList",

@@ -669,6 +669,6 @@ "parameters": [

"constant": false,
"id": 7430,
"id": 7407,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 7438,
"scope": 7415,
"src": "133:15:89",

@@ -682,3 +682,3 @@ "stateVariable": false,

"typeName": {
"id": 7429,
"id": 7406,
"name": "address",

@@ -700,3 +700,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 7432,
"id": 7409,
"nodeType": "ParameterList",

@@ -706,3 +706,3 @@ "parameters": [],

},
"scope": 7457,
"scope": 7434,
"src": "111:85:89",

@@ -715,3 +715,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 7443,
"id": 7420,
"nodeType": "Block",

@@ -722,3 +722,3 @@ "src": "251:64:89",

"documentation": null,
"id": 7444,
"id": 7421,
"implemented": true,

@@ -729,10 +729,10 @@ "kind": "function",

"arguments": null,
"id": 7441,
"id": 7418,
"modifierName": {
"argumentTypes": null,
"id": 7440,
"id": 7417,
"name": "onlyMinter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1356,
"referencedDeclaration": 1335,
"src": "240:10:89",

@@ -751,3 +751,3 @@ "typeDescriptions": {

"parameters": {
"id": 7439,
"id": 7416,
"nodeType": "ParameterList",

@@ -758,3 +758,3 @@ "parameters": [],

"returnParameters": {
"id": 7442,
"id": 7419,
"nodeType": "ParameterList",

@@ -764,3 +764,3 @@ "parameters": [],

},
"scope": 7457,
"scope": 7434,
"src": "202:113:89",

@@ -773,3 +773,3 @@ "stateMutability": "view",

"body": {
"id": 7455,
"id": 7432,
"nodeType": "Block",

@@ -784,7 +784,7 @@ "src": "443:45:89",

"argumentTypes": null,
"id": 7452,
"id": 7429,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7446,
"referencedDeclaration": 7423,
"src": "473:7:89",

@@ -806,14 +806,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7449,
"id": 7426,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13650,
"referencedDeclaration": 13527,
"src": "453:5:89",
"typeDescriptions": {
"typeIdentifier": "t_super$_MinterRoleMock_$7457",
"typeIdentifier": "t_super$_MinterRoleMock_$7434",
"typeString": "contract super MinterRoleMock"
}
},
"id": 7451,
"id": 7428,
"isConstant": false,

@@ -825,3 +825,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 1422,
"referencedDeclaration": 1401,
"src": "453:19:89",

@@ -833,3 +833,3 @@ "typeDescriptions": {

},
"id": 7453,
"id": 7430,
"isConstant": false,

@@ -848,3 +848,3 @@ "isLValue": false,

},
"id": 7454,
"id": 7431,
"nodeType": "ExpressionStatement",

@@ -856,3 +856,3 @@ "src": "453:28:89"

"documentation": null,
"id": 7456,
"id": 7433,
"implemented": true,

@@ -864,3 +864,3 @@ "kind": "function",

"parameters": {
"id": 7447,
"id": 7424,
"nodeType": "ParameterList",

@@ -870,6 +870,6 @@ "parameters": [

"constant": false,
"id": 7446,
"id": 7423,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 7456,
"scope": 7433,
"src": "417:15:89",

@@ -883,3 +883,3 @@ "stateVariable": false,

"typeName": {
"id": 7445,
"id": 7422,
"name": "address",

@@ -901,3 +901,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 7448,
"id": 7425,
"nodeType": "ParameterList",

@@ -907,10 +907,10 @@ "parameters": [],

},
"scope": 7457,
"scope": 7434,
"src": "394:94:89",
"stateMutability": "nonpayable",
"superFunction": 1422,
"superFunction": 1401,
"visibility": "internal"
}
],
"scope": 7458,
"scope": 7435,
"src": "67:423:89"

@@ -927,3 +927,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.760Z",
"updatedAt": "2019-08-16T19:32:31.276Z",
"devdoc": {

@@ -930,0 +930,0 @@ "methods": {}

@@ -30,10 +30,10 @@ {

"OwnableInterfaceId": [
7486
7463
]
},
"id": 7487,
"id": 7464,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7459,
"id": 7436,
"literals": [

@@ -51,6 +51,6 @@ "solidity",

"file": "../ownership/Ownable.sol",
"id": 7460,
"id": 7437,
"nodeType": "ImportDirective",
"scope": 7487,
"sourceUnit": 8810,
"scope": 7464,
"sourceUnit": 8687,
"src": "25:34:90",

@@ -66,5 +66,5 @@ "symbolAliases": [],

"fullyImplemented": true,
"id": 7486,
"id": 7463,
"linearizedBaseContracts": [
7486
7463
],

@@ -76,3 +76,3 @@ "name": "OwnableInterfaceId",

"body": {
"id": 7484,
"id": 7461,
"nodeType": "Block",

@@ -83,3 +83,3 @@ "src": "316:142:90",

"assignments": [
7466
7443
],

@@ -89,6 +89,6 @@ "declarations": [

"constant": false,
"id": 7466,
"id": 7443,
"name": "i",
"nodeType": "VariableDeclaration",
"scope": 7484,
"scope": 7461,
"src": "326:9:90",

@@ -98,3 +98,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$8809",
"typeIdentifier": "t_contract$_Ownable_$8686",
"typeString": "contract Ownable"

@@ -104,9 +104,9 @@ },

"contractScope": null,
"id": 7465,
"id": 7442,
"name": "Ownable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 8809,
"referencedDeclaration": 8686,
"src": "326:7:90",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$8809",
"typeIdentifier": "t_contract$_Ownable_$8686",
"typeString": "contract Ownable"

@@ -119,3 +119,3 @@ }

],
"id": 7467,
"id": 7444,
"initialValue": null,

@@ -132,3 +132,3 @@ "nodeType": "VariableDeclarationStatement",

},
"id": 7482,
"id": 7459,
"isConstant": false,

@@ -144,3 +144,3 @@ "isLValue": false,

},
"id": 7478,
"id": 7455,
"isConstant": false,

@@ -156,3 +156,3 @@ "isLValue": false,

},
"id": 7474,
"id": 7451,
"isConstant": false,

@@ -168,14 +168,14 @@ "isLValue": false,

"argumentTypes": null,
"id": 7468,
"id": 7445,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7466,
"referencedDeclaration": 7443,
"src": "352:1:90",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$8809",
"typeIdentifier": "t_contract$_Ownable_$8686",
"typeString": "contract Ownable"
}
},
"id": 7469,
"id": 7446,
"isConstant": false,

@@ -187,3 +187,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 8732,
"referencedDeclaration": 8609,
"src": "352:7:90",

@@ -195,3 +195,3 @@ "typeDescriptions": {

},
"id": 7470,
"id": 7447,
"isConstant": false,

@@ -218,14 +218,14 @@ "isLValue": false,

"argumentTypes": null,
"id": 7471,
"id": 7448,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7466,
"referencedDeclaration": 7443,
"src": "371:1:90",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$8809",
"typeIdentifier": "t_contract$_Ownable_$8686",
"typeString": "contract Ownable"
}
},
"id": 7472,
"id": 7449,
"isConstant": false,

@@ -237,3 +237,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 8753,
"referencedDeclaration": 8630,
"src": "371:9:90",

@@ -245,3 +245,3 @@ "typeDescriptions": {

},
"id": 7473,
"id": 7450,
"isConstant": false,

@@ -274,14 +274,14 @@ "isLValue": false,

"argumentTypes": null,
"id": 7475,
"id": 7452,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7466,
"referencedDeclaration": 7443,
"src": "392:1:90",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$8809",
"typeIdentifier": "t_contract$_Ownable_$8686",
"typeString": "contract Ownable"
}
},
"id": 7476,
"id": 7453,
"isConstant": false,

@@ -293,3 +293,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 8772,
"referencedDeclaration": 8649,
"src": "392:19:90",

@@ -301,3 +301,3 @@ "typeDescriptions": {

},
"id": 7477,
"id": 7454,
"isConstant": false,

@@ -330,14 +330,14 @@ "isLValue": false,

"argumentTypes": null,
"id": 7479,
"id": 7456,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7466,
"referencedDeclaration": 7443,
"src": "423:1:90",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$8809",
"typeIdentifier": "t_contract$_Ownable_$8686",
"typeString": "contract Ownable"
}
},
"id": 7480,
"id": 7457,
"isConstant": false,

@@ -349,3 +349,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 8784,
"referencedDeclaration": 8661,
"src": "423:19:90",

@@ -357,3 +357,3 @@ "typeDescriptions": {

},
"id": 7481,
"id": 7458,
"isConstant": false,

@@ -378,4 +378,4 @@ "isLValue": false,

},
"functionReturnParameters": 7464,
"id": 7483,
"functionReturnParameters": 7441,
"id": 7460,
"nodeType": "Return",

@@ -387,3 +387,3 @@ "src": "345:106:90"

"documentation": null,
"id": 7485,
"id": 7462,
"implemented": true,

@@ -395,3 +395,3 @@ "kind": "function",

"parameters": {
"id": 7461,
"id": 7438,
"nodeType": "ParameterList",

@@ -402,3 +402,3 @@ "parameters": [],

"returnParameters": {
"id": 7464,
"id": 7441,
"nodeType": "ParameterList",

@@ -408,6 +408,6 @@ "parameters": [

"constant": false,
"id": 7463,
"id": 7440,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 7485,
"scope": 7462,
"src": "308:6:90",

@@ -421,3 +421,3 @@ "stateVariable": false,

"typeName": {
"id": 7462,
"id": 7439,
"name": "bytes4",

@@ -437,3 +437,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 7486,
"scope": 7463,
"src": "261:197:90",

@@ -445,3 +445,3 @@ "stateMutability": "pure",

],
"scope": 7487,
"scope": 7464,
"src": "227:233:90"

@@ -456,10 +456,10 @@ }

"OwnableInterfaceId": [
7486
7463
]
},
"id": 7487,
"id": 7464,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7459,
"id": 7436,
"literals": [

@@ -477,6 +477,6 @@ "solidity",

"file": "../ownership/Ownable.sol",
"id": 7460,
"id": 7437,
"nodeType": "ImportDirective",
"scope": 7487,
"sourceUnit": 8810,
"scope": 7464,
"sourceUnit": 8687,
"src": "25:34:90",

@@ -492,5 +492,5 @@ "symbolAliases": [],

"fullyImplemented": true,
"id": 7486,
"id": 7463,
"linearizedBaseContracts": [
7486
7463
],

@@ -502,3 +502,3 @@ "name": "OwnableInterfaceId",

"body": {
"id": 7484,
"id": 7461,
"nodeType": "Block",

@@ -509,3 +509,3 @@ "src": "316:142:90",

"assignments": [
7466
7443
],

@@ -515,6 +515,6 @@ "declarations": [

"constant": false,
"id": 7466,
"id": 7443,
"name": "i",
"nodeType": "VariableDeclaration",
"scope": 7484,
"scope": 7461,
"src": "326:9:90",

@@ -524,3 +524,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$8809",
"typeIdentifier": "t_contract$_Ownable_$8686",
"typeString": "contract Ownable"

@@ -530,9 +530,9 @@ },

"contractScope": null,
"id": 7465,
"id": 7442,
"name": "Ownable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 8809,
"referencedDeclaration": 8686,
"src": "326:7:90",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$8809",
"typeIdentifier": "t_contract$_Ownable_$8686",
"typeString": "contract Ownable"

@@ -545,3 +545,3 @@ }

],
"id": 7467,
"id": 7444,
"initialValue": null,

@@ -558,3 +558,3 @@ "nodeType": "VariableDeclarationStatement",

},
"id": 7482,
"id": 7459,
"isConstant": false,

@@ -570,3 +570,3 @@ "isLValue": false,

},
"id": 7478,
"id": 7455,
"isConstant": false,

@@ -582,3 +582,3 @@ "isLValue": false,

},
"id": 7474,
"id": 7451,
"isConstant": false,

@@ -594,14 +594,14 @@ "isLValue": false,

"argumentTypes": null,
"id": 7468,
"id": 7445,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7466,
"referencedDeclaration": 7443,
"src": "352:1:90",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$8809",
"typeIdentifier": "t_contract$_Ownable_$8686",
"typeString": "contract Ownable"
}
},
"id": 7469,
"id": 7446,
"isConstant": false,

@@ -613,3 +613,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 8732,
"referencedDeclaration": 8609,
"src": "352:7:90",

@@ -621,3 +621,3 @@ "typeDescriptions": {

},
"id": 7470,
"id": 7447,
"isConstant": false,

@@ -644,14 +644,14 @@ "isLValue": false,

"argumentTypes": null,
"id": 7471,
"id": 7448,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7466,
"referencedDeclaration": 7443,
"src": "371:1:90",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$8809",
"typeIdentifier": "t_contract$_Ownable_$8686",
"typeString": "contract Ownable"
}
},
"id": 7472,
"id": 7449,
"isConstant": false,

@@ -663,3 +663,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 8753,
"referencedDeclaration": 8630,
"src": "371:9:90",

@@ -671,3 +671,3 @@ "typeDescriptions": {

},
"id": 7473,
"id": 7450,
"isConstant": false,

@@ -700,14 +700,14 @@ "isLValue": false,

"argumentTypes": null,
"id": 7475,
"id": 7452,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7466,
"referencedDeclaration": 7443,
"src": "392:1:90",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$8809",
"typeIdentifier": "t_contract$_Ownable_$8686",
"typeString": "contract Ownable"
}
},
"id": 7476,
"id": 7453,
"isConstant": false,

@@ -719,3 +719,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 8772,
"referencedDeclaration": 8649,
"src": "392:19:90",

@@ -727,3 +727,3 @@ "typeDescriptions": {

},
"id": 7477,
"id": 7454,
"isConstant": false,

@@ -756,14 +756,14 @@ "isLValue": false,

"argumentTypes": null,
"id": 7479,
"id": 7456,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7466,
"referencedDeclaration": 7443,
"src": "423:1:90",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$8809",
"typeIdentifier": "t_contract$_Ownable_$8686",
"typeString": "contract Ownable"
}
},
"id": 7480,
"id": 7457,
"isConstant": false,

@@ -775,3 +775,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 8784,
"referencedDeclaration": 8661,
"src": "423:19:90",

@@ -783,3 +783,3 @@ "typeDescriptions": {

},
"id": 7481,
"id": 7458,
"isConstant": false,

@@ -804,4 +804,4 @@ "isLValue": false,

},
"functionReturnParameters": 7464,
"id": 7483,
"functionReturnParameters": 7441,
"id": 7460,
"nodeType": "Return",

@@ -813,3 +813,3 @@ "src": "345:106:90"

"documentation": null,
"id": 7485,
"id": 7462,
"implemented": true,

@@ -821,3 +821,3 @@ "kind": "function",

"parameters": {
"id": 7461,
"id": 7438,
"nodeType": "ParameterList",

@@ -828,3 +828,3 @@ "parameters": [],

"returnParameters": {
"id": 7464,
"id": 7441,
"nodeType": "ParameterList",

@@ -834,6 +834,6 @@ "parameters": [

"constant": false,
"id": 7463,
"id": 7440,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 7485,
"scope": 7462,
"src": "308:6:90",

@@ -847,3 +847,3 @@ "stateVariable": false,

"typeName": {
"id": 7462,
"id": 7439,
"name": "bytes4",

@@ -863,3 +863,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 7486,
"scope": 7463,
"src": "261:197:90",

@@ -871,3 +871,3 @@ "stateMutability": "pure",

],
"scope": 7487,
"scope": 7464,
"src": "227:233:90"

@@ -884,3 +884,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.761Z",
"updatedAt": "2019-08-16T19:32:31.277Z",
"devdoc": {

@@ -887,0 +887,0 @@ "details": "See the EIP165 specification for more information: https://eips.ethereum.org/EIPS/eip-165#specification",

@@ -76,4 +76,4 @@ {

"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063715018a6146100515780638da5cb5b1461005b5780638f32d59b146100a5578063f2fde38b146100c7575b600080fd5b61005961010b565b005b610063610244565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100ad61026d565b604051808215151515815260200191505060405180910390f35b610109600480360360208110156100dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102cb565b005b61011361026d565b610185576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166102af610351565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6102d361026d565b610345576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61034e81610359565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156103df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061049e6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a165627a7a7230582054db0db1f286ad8e0dec9fae2a75be7aa1a327d640d4f2af5399fe72517268f60029",
"sourceMap": "61:88:91:-;;;707:12:113;:10;;;:12;;:::i;:::-;698:6;;:21;;;;;;;;;;;;;;;;;;767:6;;;;;;;;;;;734:40;;763:1;734:40;;;;;;;;;;;;61:88:91;;791::0;836:7;862:10;855:17;;791:88;:::o;61::91:-;;;;;;;",
"deployedSourceMap": "61:88:91:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;61:88:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1642:137:113;;;:::i;:::-;;857:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1208:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1928:107;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1928:107:113;;;;;;;;;;;;;;;;;;;:::i;:::-;;1642:137;1061:9;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1740:1;1703:40;;1724:6;;;;;;;;;;;1703:40;;;;;;;;;;;;1770:1;1753:6;;:19;;;;;;;;;;;;;;;;;;1642:137::o;857:77::-;895:7;921:6;;;;;;;;;;;914:13;;857:77;:::o;1208:92::-;1248:4;1287:6;;;;;;;;;;;1271:22;;:12;:10;:12::i;:::-;:22;;;1264:29;;1208:92;:::o;1928:107::-;1061:9;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2000:28;2019:8;2000:18;:28::i;:::-;1928:107;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;2136:225:113:-;2229:1;2209:22;;:8;:22;;;;2201:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2318:8;2289:38;;2310:6;;;;;;;;;;;2289:38;;;;;;;;;;;;2346:8;2337:6;;:17;;;;;;;;;;;;;;;;;;2136:225;:::o",
"sourceMap": "61:88:91:-;;;707:12:112;:10;;;:12;;:::i;:::-;698:6;;:21;;;;;;;;;;;;;;;;;;767:6;;;;;;;;;;;734:40;;763:1;734:40;;;;;;;;;;;;61:88:91;;791::0;836:7;862:10;855:17;;791:88;:::o;61::91:-;;;;;;;",
"deployedSourceMap": "61:88:91:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;61:88:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1642:137:112;;;:::i;:::-;;857:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1208:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1928:107;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1928:107:112;;;;;;;;;;;;;;;;;;;:::i;:::-;;1642:137;1061:9;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1740:1;1703:40;;1724:6;;;;;;;;;;;1703:40;;;;;;;;;;;;1770:1;1753:6;;:19;;;;;;;;;;;;;;;;;;1642:137::o;857:77::-;895:7;921:6;;;;;;;;;;;914:13;;857:77;:::o;1208:92::-;1248:4;1287:6;;;;;;;;;;;1271:22;;:12;:10;:12::i;:::-;:22;;;1264:29;;1208:92;:::o;1928:107::-;1061:9;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2000:28;2019:8;2000:18;:28::i;:::-;1928:107;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;2136:225:112:-;2229:1;2209:22;;:8;:22;;;;2201:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2318:8;2289:38;;2310:6;;;;;;;;;;;2289:38;;;;;;;;;;;;2346:8;2337:6;;:17;;;;;;;;;;;;;;;;;;2136:225;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../ownership/Ownable.sol\";\n\ncontract OwnableMock is Ownable {\n // solhint-disable-previous-line no-empty-blocks\n}\n",

@@ -85,10 +85,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/OwnableMock.sol",

"OwnableMock": [
7492
7469
]
},
"id": 7493,
"id": 7470,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7488,
"id": 7465,
"literals": [

@@ -106,6 +106,6 @@ "solidity",

"file": "../ownership/Ownable.sol",
"id": 7489,
"id": 7466,
"nodeType": "ImportDirective",
"scope": 7493,
"sourceUnit": 8810,
"scope": 7470,
"sourceUnit": 8687,
"src": "25:34:91",

@@ -121,13 +121,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 7490,
"id": 7467,
"name": "Ownable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 8809,
"referencedDeclaration": 8686,
"src": "85:7:91",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$8809",
"typeIdentifier": "t_contract$_Ownable_$8686",
"typeString": "contract Ownable"
}
},
"id": 7491,
"id": 7468,
"nodeType": "InheritanceSpecifier",

@@ -139,3 +139,3 @@ "src": "85:7:91"

26,
8809
8686
],

@@ -145,6 +145,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7492,
"id": 7469,
"linearizedBaseContracts": [
7492,
8809,
7469,
8686,
26

@@ -155,3 +155,3 @@ ],

"nodes": [],
"scope": 7493,
"scope": 7470,
"src": "61:88:91"

@@ -166,10 +166,10 @@ }

"OwnableMock": [
7492
7469
]
},
"id": 7493,
"id": 7470,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7488,
"id": 7465,
"literals": [

@@ -187,6 +187,6 @@ "solidity",

"file": "../ownership/Ownable.sol",
"id": 7489,
"id": 7466,
"nodeType": "ImportDirective",
"scope": 7493,
"sourceUnit": 8810,
"scope": 7470,
"sourceUnit": 8687,
"src": "25:34:91",

@@ -202,13 +202,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 7490,
"id": 7467,
"name": "Ownable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 8809,
"referencedDeclaration": 8686,
"src": "85:7:91",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$8809",
"typeIdentifier": "t_contract$_Ownable_$8686",
"typeString": "contract Ownable"
}
},
"id": 7491,
"id": 7468,
"nodeType": "InheritanceSpecifier",

@@ -220,3 +220,3 @@ "src": "85:7:91"

26,
8809
8686
],

@@ -226,6 +226,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7492,
"id": 7469,
"linearizedBaseContracts": [
7492,
8809,
7469,
8686,
26

@@ -236,3 +236,3 @@ ],

"nodes": [],
"scope": 7493,
"scope": 7470,
"src": "61:88:91"

@@ -249,3 +249,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.762Z",
"updatedAt": "2019-08-16T19:32:31.278Z",
"devdoc": {

@@ -252,0 +252,0 @@ "methods": {

@@ -229,3 +229,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPauser\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renouncePauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addPauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Extension of Crowdsale contract where purchases can be paused and unpaused by the pauser role.\",\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"pause()\":{\"details\":\"Called by a pauser to pause, triggers stopped state.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"unpause()\":{\"details\":\"Called by a pauser to unpause, returns to normal state.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}},\"title\":\"PausableCrowdsale\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/crowdsale/validation/PausableCrowdsale.sol\":\"PausableCrowdsale\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzzr://bd34c1ce05b5b2b3a62fc02e160f6805b1cadd476854664f433c685b2fda8dad\"]},\"/home/frangio/oz/contracts/contracts/access/roles/PauserRole.sol\":{\"keccak256\":\"0xd1b5c934bab36d753c22987ad98c7614cb50ebf641371a83c96f8138619d7c30\",\"urls\":[\"bzzr://39c672e2273e863fd2a6d1bc452e38887b48c113483b0e4c9d7aff60f3337483\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/validation/PausableCrowdsale.sol\":{\"keccak256\":\"0x07e554aeb3f9389dea5ea3f9183dde50903425f255fe5a397f3c6555c54611fc\",\"urls\":[\"bzzr://687924a02f8671dc1ce1ecbcb7293781adbefed957dc5dc905ed00a90635b761\"]},\"/home/frangio/oz/contracts/contracts/lifecycle/Pausable.sol\":{\"keccak256\":\"0xd3e5a49edfb74654d122962cc60b917d1c60461e669a7262fd7aba201fac1260\",\"urls\":[\"bzzr://78a64ae8f0f90b1aa83280e0735930a16f416eeda54683d2f6280a67ad3758d6\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xe0812b2b05e37bf0dc866f8ba0a1a36d6dd006ac5b02bfde80e820a2a9e804b8\",\"urls\":[\"bzzr://7010caa641157fce5262c47d6cf10c9d6a6f0094fa327485c4fcf70989ec4532\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPauser\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renouncePauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addPauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Extension of Crowdsale contract where purchases can be paused and unpaused by the pauser role.\",\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"pause()\":{\"details\":\"Called by a pauser to pause, triggers stopped state.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"unpause()\":{\"details\":\"Called by a pauser to unpause, returns to normal state.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}},\"title\":\"PausableCrowdsale\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/crowdsale/validation/PausableCrowdsale.sol\":\"PausableCrowdsale\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzzr://bd34c1ce05b5b2b3a62fc02e160f6805b1cadd476854664f433c685b2fda8dad\"]},\"/home/frangio/oz/contracts/contracts/access/roles/PauserRole.sol\":{\"keccak256\":\"0xd1b5c934bab36d753c22987ad98c7614cb50ebf641371a83c96f8138619d7c30\",\"urls\":[\"bzzr://39c672e2273e863fd2a6d1bc452e38887b48c113483b0e4c9d7aff60f3337483\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/validation/PausableCrowdsale.sol\":{\"keccak256\":\"0x07e554aeb3f9389dea5ea3f9183dde50903425f255fe5a397f3c6555c54611fc\",\"urls\":[\"bzzr://687924a02f8671dc1ce1ecbcb7293781adbefed957dc5dc905ed00a90635b761\"]},\"/home/frangio/oz/contracts/contracts/lifecycle/Pausable.sol\":{\"keccak256\":\"0xd3e5a49edfb74654d122962cc60b917d1c60461e669a7262fd7aba201fac1260\",\"urls\":[\"bzzr://78a64ae8f0f90b1aa83280e0735930a16f416eeda54683d2f6280a67ad3758d6\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xf4bfe37bc0ed72fb1a94abab4acec42dcabc6b2936d684f9a018a61afe2d979a\",\"urls\":[\"bzzr://a0a3a1ea455fc61ea6032cad30321369a478121b32ae8a212a73a54e57dad3b5\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"bytecode": "0x",

@@ -241,10 +241,10 @@ "deployedBytecode": "0x",

"PausableCrowdsale": [
2952
2931
]
},
"id": 2953,
"id": 2932,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2929,
"id": 2908,
"literals": [

@@ -262,6 +262,6 @@ "solidity",

"file": "../Crowdsale.sol",
"id": 2930,
"id": 2909,
"nodeType": "ImportDirective",
"scope": 2953,
"sourceUnit": 2135,
"scope": 2932,
"sourceUnit": 2114,
"src": "25:26:25",

@@ -274,6 +274,6 @@ "symbolAliases": [],

"file": "../../lifecycle/Pausable.sol",
"id": 2931,
"id": 2910,
"nodeType": "ImportDirective",
"scope": 2953,
"sourceUnit": 5275,
"scope": 2932,
"sourceUnit": 5254,
"src": "52:38:25",

@@ -289,13 +289,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 2932,
"id": 2911,
"name": "Crowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "261:9:25",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Crowdsale_$2134",
"typeIdentifier": "t_contract$_Crowdsale_$2113",
"typeString": "contract Crowdsale"
}
},
"id": 2933,
"id": 2912,
"nodeType": "InheritanceSpecifier",

@@ -308,13 +308,13 @@ "src": "261:9:25"

"contractScope": null,
"id": 2934,
"id": 2913,
"name": "Pausable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5274,
"referencedDeclaration": 5253,
"src": "272:8:25",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Pausable_$5274",
"typeIdentifier": "t_contract$_Pausable_$5253",
"typeString": "contract Pausable"
}
},
"id": 2935,
"id": 2914,
"nodeType": "InheritanceSpecifier",

@@ -326,6 +326,6 @@ "src": "272:8:25"

26,
1530,
2134,
5274,
13448
1509,
2113,
5253,
13325
],

@@ -335,9 +335,9 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 2952,
"id": 2931,
"linearizedBaseContracts": [
2952,
5274,
1530,
2134,
13448,
2931,
5253,
1509,
2113,
13325,
26

@@ -350,3 +350,3 @@ ],

"body": {
"id": 2950,
"id": 2929,
"nodeType": "Block",

@@ -361,7 +361,7 @@ "src": "758:76:25",

"argumentTypes": null,
"id": 2946,
"id": 2925,
"name": "_beneficiary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2937,
"referencedDeclaration": 2916,
"src": "802:12:25",

@@ -375,7 +375,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 2947,
"id": 2926,
"name": "_weiAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2939,
"referencedDeclaration": 2918,
"src": "816:10:25",

@@ -401,14 +401,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 2944,
"id": 2923,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13564,
"referencedDeclaration": 13441,
"src": "775:5:25",
"typeDescriptions": {
"typeIdentifier": "t_super$_PausableCrowdsale_$2952",
"typeIdentifier": "t_super$_PausableCrowdsale_$2931",
"typeString": "contract super PausableCrowdsale"
}
},
"id": 2945,
"id": 2924,
"isConstant": false,

@@ -420,3 +420,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 2065,
"referencedDeclaration": 2044,
"src": "775:26:25",

@@ -428,3 +428,3 @@ "typeDescriptions": {

},
"id": 2948,
"id": 2927,
"isConstant": false,

@@ -443,4 +443,4 @@ "isLValue": false,

},
"functionReturnParameters": 2943,
"id": 2949,
"functionReturnParameters": 2922,
"id": 2928,
"nodeType": "Return",

@@ -452,3 +452,3 @@ "src": "768:59:25"

"documentation": "@dev Validation of an incoming purchase. Use require statements to revert state when conditions are not met.\nUse super to concatenate validations.\nAdds the validation that the crowdsale must not be paused.\n@param _beneficiary Address performing the token purchase\n@param _weiAmount Value in wei involved in the purchase",
"id": 2951,
"id": 2930,
"implemented": true,

@@ -459,10 +459,10 @@ "kind": "function",

"arguments": null,
"id": 2942,
"id": 2921,
"modifierName": {
"argumentTypes": null,
"id": 2941,
"id": 2920,
"name": "whenNotPaused",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5230,
"referencedDeclaration": 5209,
"src": "744:13:25",

@@ -481,3 +481,3 @@ "typeDescriptions": {

"parameters": {
"id": 2940,
"id": 2919,
"nodeType": "ParameterList",

@@ -487,6 +487,6 @@ "parameters": [

"constant": false,
"id": 2937,
"id": 2916,
"name": "_beneficiary",
"nodeType": "VariableDeclaration",
"scope": 2951,
"scope": 2930,
"src": "688:20:25",

@@ -500,3 +500,3 @@ "stateVariable": false,

"typeName": {
"id": 2936,
"id": 2915,
"name": "address",

@@ -516,6 +516,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2939,
"id": 2918,
"name": "_weiAmount",
"nodeType": "VariableDeclaration",
"scope": 2951,
"scope": 2930,
"src": "710:18:25",

@@ -529,3 +529,3 @@ "stateVariable": false,

"typeName": {
"id": 2938,
"id": 2917,
"name": "uint256",

@@ -546,3 +546,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2943,
"id": 2922,
"nodeType": "ParameterList",

@@ -552,10 +552,10 @@ "parameters": [],

},
"scope": 2952,
"scope": 2931,
"src": "658:176:25",
"stateMutability": "view",
"superFunction": 2065,
"superFunction": 2044,
"visibility": "internal"
}
],
"scope": 2953,
"scope": 2932,
"src": "231:605:25"

@@ -570,10 +570,10 @@ }

"PausableCrowdsale": [
2952
2931
]
},
"id": 2953,
"id": 2932,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2929,
"id": 2908,
"literals": [

@@ -591,6 +591,6 @@ "solidity",

"file": "../Crowdsale.sol",
"id": 2930,
"id": 2909,
"nodeType": "ImportDirective",
"scope": 2953,
"sourceUnit": 2135,
"scope": 2932,
"sourceUnit": 2114,
"src": "25:26:25",

@@ -603,6 +603,6 @@ "symbolAliases": [],

"file": "../../lifecycle/Pausable.sol",
"id": 2931,
"id": 2910,
"nodeType": "ImportDirective",
"scope": 2953,
"sourceUnit": 5275,
"scope": 2932,
"sourceUnit": 5254,
"src": "52:38:25",

@@ -618,13 +618,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 2932,
"id": 2911,
"name": "Crowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "261:9:25",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Crowdsale_$2134",
"typeIdentifier": "t_contract$_Crowdsale_$2113",
"typeString": "contract Crowdsale"
}
},
"id": 2933,
"id": 2912,
"nodeType": "InheritanceSpecifier",

@@ -637,13 +637,13 @@ "src": "261:9:25"

"contractScope": null,
"id": 2934,
"id": 2913,
"name": "Pausable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5274,
"referencedDeclaration": 5253,
"src": "272:8:25",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Pausable_$5274",
"typeIdentifier": "t_contract$_Pausable_$5253",
"typeString": "contract Pausable"
}
},
"id": 2935,
"id": 2914,
"nodeType": "InheritanceSpecifier",

@@ -655,6 +655,6 @@ "src": "272:8:25"

26,
1530,
2134,
5274,
13448
1509,
2113,
5253,
13325
],

@@ -664,9 +664,9 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 2952,
"id": 2931,
"linearizedBaseContracts": [
2952,
5274,
1530,
2134,
13448,
2931,
5253,
1509,
2113,
13325,
26

@@ -679,3 +679,3 @@ ],

"body": {
"id": 2950,
"id": 2929,
"nodeType": "Block",

@@ -690,7 +690,7 @@ "src": "758:76:25",

"argumentTypes": null,
"id": 2946,
"id": 2925,
"name": "_beneficiary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2937,
"referencedDeclaration": 2916,
"src": "802:12:25",

@@ -704,7 +704,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 2947,
"id": 2926,
"name": "_weiAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2939,
"referencedDeclaration": 2918,
"src": "816:10:25",

@@ -730,14 +730,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 2944,
"id": 2923,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13564,
"referencedDeclaration": 13441,
"src": "775:5:25",
"typeDescriptions": {
"typeIdentifier": "t_super$_PausableCrowdsale_$2952",
"typeIdentifier": "t_super$_PausableCrowdsale_$2931",
"typeString": "contract super PausableCrowdsale"
}
},
"id": 2945,
"id": 2924,
"isConstant": false,

@@ -749,3 +749,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 2065,
"referencedDeclaration": 2044,
"src": "775:26:25",

@@ -757,3 +757,3 @@ "typeDescriptions": {

},
"id": 2948,
"id": 2927,
"isConstant": false,

@@ -772,4 +772,4 @@ "isLValue": false,

},
"functionReturnParameters": 2943,
"id": 2949,
"functionReturnParameters": 2922,
"id": 2928,
"nodeType": "Return",

@@ -781,3 +781,3 @@ "src": "768:59:25"

"documentation": "@dev Validation of an incoming purchase. Use require statements to revert state when conditions are not met.\nUse super to concatenate validations.\nAdds the validation that the crowdsale must not be paused.\n@param _beneficiary Address performing the token purchase\n@param _weiAmount Value in wei involved in the purchase",
"id": 2951,
"id": 2930,
"implemented": true,

@@ -788,10 +788,10 @@ "kind": "function",

"arguments": null,
"id": 2942,
"id": 2921,
"modifierName": {
"argumentTypes": null,
"id": 2941,
"id": 2920,
"name": "whenNotPaused",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5230,
"referencedDeclaration": 5209,
"src": "744:13:25",

@@ -810,3 +810,3 @@ "typeDescriptions": {

"parameters": {
"id": 2940,
"id": 2919,
"nodeType": "ParameterList",

@@ -816,6 +816,6 @@ "parameters": [

"constant": false,
"id": 2937,
"id": 2916,
"name": "_beneficiary",
"nodeType": "VariableDeclaration",
"scope": 2951,
"scope": 2930,
"src": "688:20:25",

@@ -829,3 +829,3 @@ "stateVariable": false,

"typeName": {
"id": 2936,
"id": 2915,
"name": "address",

@@ -845,6 +845,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2939,
"id": 2918,
"name": "_weiAmount",
"nodeType": "VariableDeclaration",
"scope": 2951,
"scope": 2930,
"src": "710:18:25",

@@ -858,3 +858,3 @@ "stateVariable": false,

"typeName": {
"id": 2938,
"id": 2917,
"name": "uint256",

@@ -875,3 +875,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2943,
"id": 2922,
"nodeType": "ParameterList",

@@ -881,10 +881,10 @@ "parameters": [],

},
"scope": 2952,
"scope": 2931,
"src": "658:176:25",
"stateMutability": "view",
"superFunction": 2065,
"superFunction": 2044,
"visibility": "internal"
}
],
"scope": 2953,
"scope": 2932,
"src": "231:605:25"

@@ -901,3 +901,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.686Z",
"updatedAt": "2019-08-16T19:32:31.207Z",
"devdoc": {

@@ -904,0 +904,0 @@ "details": "Extension of Crowdsale contract where purchases can be paused and unpaused by the pauser role.",

@@ -248,7 +248,7 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPauser\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renouncePauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addPauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_rate\",\"type\":\"uint256\"},{\"name\":\"_wallet\",\"type\":\"address\"},{\"name\":\"_token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"pause()\":{\"details\":\"Called by a pauser to pause, triggers stopped state.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"unpause()\":{\"details\":\"Called by a pauser to unpause, returns to normal state.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/PausableCrowdsaleImpl.sol\":\"PausableCrowdsaleImpl\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzzr://bd34c1ce05b5b2b3a62fc02e160f6805b1cadd476854664f433c685b2fda8dad\"]},\"/home/frangio/oz/contracts/contracts/access/roles/PauserRole.sol\":{\"keccak256\":\"0xd1b5c934bab36d753c22987ad98c7614cb50ebf641371a83c96f8138619d7c30\",\"urls\":[\"bzzr://39c672e2273e863fd2a6d1bc452e38887b48c113483b0e4c9d7aff60f3337483\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/validation/PausableCrowdsale.sol\":{\"keccak256\":\"0x07e554aeb3f9389dea5ea3f9183dde50903425f255fe5a397f3c6555c54611fc\",\"urls\":[\"bzzr://687924a02f8671dc1ce1ecbcb7293781adbefed957dc5dc905ed00a90635b761\"]},\"/home/frangio/oz/contracts/contracts/lifecycle/Pausable.sol\":{\"keccak256\":\"0xd3e5a49edfb74654d122962cc60b917d1c60461e669a7262fd7aba201fac1260\",\"urls\":[\"bzzr://78a64ae8f0f90b1aa83280e0735930a16f416eeda54683d2f6280a67ad3758d6\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/mocks/PausableCrowdsaleImpl.sol\":{\"keccak256\":\"0x5284d5549d4fbbcd9099c5e0617ac6bdb71ca7b939ab2eaad4bc934b76398c81\",\"urls\":[\"bzzr://db044e9ac12864c655d3b2a9e48551fca080f11b83412c950db553c87adc348f\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xe694ef04a7c6886b66ff96bcd2f69391584c886f98af4209b1871ae30e9ccc02\",\"urls\":[\"bzzr://492925b0d8de70689bfdc292e7870ca3f67feb106fc0c847c05afc619587b518\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xe0812b2b05e37bf0dc866f8ba0a1a36d6dd006ac5b02bfde80e820a2a9e804b8\",\"urls\":[\"bzzr://7010caa641157fce5262c47d6cf10c9d6a6f0094fa327485c4fcf70989ec4532\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"bytecode": "0x60806040523480156200001157600080fd5b5060405160608062001923833981018060405260608110156200003357600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050828282600160008190555060008311620000da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f43726f776473616c653a2072617465206973203000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000162576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180620018fe6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620001ea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180620018b86024913960400191505060405180910390fd5b8260038190555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050620002966200028a620002ba60201b60201c565b620002c260201b60201c565b6000600660006101000a81548160ff021916908315150217905550505050620004e7565b600033905090565b620002dd8160056200032360201b62000e6b1790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b6200033582826200040760201b60201c565b15620003a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000490576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180620018dc6022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6113c180620004f76000396000f3fe60806040526004361061009c5760003560e01c80635c975abb116100645780635c975abb146101db5780636ef8d66d1461020a57806382dc1ec4146102215780638456cb5914610272578063ec8ac4d814610289578063fc0c546a146102cd5761009c565b80632c4e722e146100ae5780633f4ba83a146100d95780634042b66f146100f057806346fbf68e1461011b578063521eb27314610184575b6100ac6100a7610324565b61032c565b005b3480156100ba57600080fd5b506100c3610490565b6040518082815260200191505060405180910390f35b3480156100e557600080fd5b506100ee61049a565b005b3480156100fc57600080fd5b50610105610608565b6040518082815260200191505060405180910390f35b34801561012757600080fd5b5061016a6004803603602081101561013e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610612565b604051808215151515815260200191505060405180910390f35b34801561019057600080fd5b5061019961062f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101e757600080fd5b506101f0610659565b604051808215151515815260200191505060405180910390f35b34801561021657600080fd5b5061021f610670565b005b34801561022d57600080fd5b506102706004803603602081101561024457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610682565b005b34801561027e57600080fd5b506102876106f3565b005b6102cb6004803603602081101561029f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061032c565b005b3480156102d957600080fd5b506102e2610862565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b600160008082825401925050819055506000805490506000349050610351838261088c565b600061035c8261091d565b90506103738260045461093b90919063ffffffff16565b60048190555061038384826109c3565b8373ffffffffffffffffffffffffffffffffffffffff166103a2610324565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a361040184836109d1565b6104096109d5565b6104138483610a40565b5050600054811461048c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6104aa6104a5610324565b610612565b6104ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806112ae6030913960400191505060405180910390fd5b600660009054906101000a900460ff16610581576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600660006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6105c5610324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600454905090565b6000610628826005610a4490919063ffffffff16565b9050919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600660009054906101000a900460ff16905090565b61068061067b610324565b610b22565b565b61069261068d610324565b610612565b6106e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806112ae6030913960400191505060405180910390fd5b6106f081610b7c565b50565b6107036106fe610324565b610612565b610758576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806112ae6030913960400191505060405180910390fd5b600660009054906101000a900460ff16156107db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600660006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861081f610324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600660009054906101000a900460ff161561090f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6109198282610bd6565b5050565b600061093460035483610cd790919063ffffffff16565b9050919050565b6000808284019050838110156109b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6109cd8282610d5d565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610a3d573d6000803e3d6000fd5b50565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610acb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806113206022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610b36816005610dae90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b610b90816005610e6b90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180611342602a913960400191505060405180910390fd5b6000811415610cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b600080831415610cea5760009050610d57565b6000828402905082848281610cfb57fe5b0414610d52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806112ff6021913960400191505060405180910390fd5b809150505b92915050565b610daa8282600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f469092919063ffffffff16565b5050565b610db88282610a44565b610e0d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806112de6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610e758282610a44565b15610ee8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611012838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611017565b505050565b6110368273ffffffffffffffffffffffffffffffffffffffff16611262565b6110a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106110f757805182526020820191506020810190506020830392506110d4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611159576040519150601f19603f3d011682016040523d82523d6000602084013e61115e565b606091505b5091509150816111d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b60008151111561125c578080602001905160208110156111f557600080fd5b810190808051906020019092919050505061125b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061136c602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156112a45750808214155b9250505091905056fe506175736572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652050617573657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77526f6c65733a206163636f756e7420697320746865207a65726f206164647265737343726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a723058205f686f12c1c0bc94ace3c4d4c6678149398620f3e8f9d8757056214057af0933002943726f776473616c653a20746f6b656e20697320746865207a65726f2061646472657373526f6c65733a206163636f756e7420697320746865207a65726f206164647265737343726f776473616c653a2077616c6c657420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x60806040526004361061009c5760003560e01c80635c975abb116100645780635c975abb146101db5780636ef8d66d1461020a57806382dc1ec4146102215780638456cb5914610272578063ec8ac4d814610289578063fc0c546a146102cd5761009c565b80632c4e722e146100ae5780633f4ba83a146100d95780634042b66f146100f057806346fbf68e1461011b578063521eb27314610184575b6100ac6100a7610324565b61032c565b005b3480156100ba57600080fd5b506100c3610490565b6040518082815260200191505060405180910390f35b3480156100e557600080fd5b506100ee61049a565b005b3480156100fc57600080fd5b50610105610608565b6040518082815260200191505060405180910390f35b34801561012757600080fd5b5061016a6004803603602081101561013e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610612565b604051808215151515815260200191505060405180910390f35b34801561019057600080fd5b5061019961062f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101e757600080fd5b506101f0610659565b604051808215151515815260200191505060405180910390f35b34801561021657600080fd5b5061021f610670565b005b34801561022d57600080fd5b506102706004803603602081101561024457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610682565b005b34801561027e57600080fd5b506102876106f3565b005b6102cb6004803603602081101561029f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061032c565b005b3480156102d957600080fd5b506102e2610862565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b600160008082825401925050819055506000805490506000349050610351838261088c565b600061035c8261091d565b90506103738260045461093b90919063ffffffff16565b60048190555061038384826109c3565b8373ffffffffffffffffffffffffffffffffffffffff166103a2610324565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a361040184836109d1565b6104096109d5565b6104138483610a40565b5050600054811461048c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6104aa6104a5610324565b610612565b6104ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806112ae6030913960400191505060405180910390fd5b600660009054906101000a900460ff16610581576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600660006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6105c5610324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600454905090565b6000610628826005610a4490919063ffffffff16565b9050919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600660009054906101000a900460ff16905090565b61068061067b610324565b610b22565b565b61069261068d610324565b610612565b6106e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806112ae6030913960400191505060405180910390fd5b6106f081610b7c565b50565b6107036106fe610324565b610612565b610758576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806112ae6030913960400191505060405180910390fd5b600660009054906101000a900460ff16156107db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600660006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861081f610324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600660009054906101000a900460ff161561090f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6109198282610bd6565b5050565b600061093460035483610cd790919063ffffffff16565b9050919050565b6000808284019050838110156109b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6109cd8282610d5d565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610a3d573d6000803e3d6000fd5b50565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610acb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806113206022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610b36816005610dae90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b610b90816005610e6b90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180611342602a913960400191505060405180910390fd5b6000811415610cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b600080831415610cea5760009050610d57565b6000828402905082848281610cfb57fe5b0414610d52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806112ff6021913960400191505060405180910390fd5b809150505b92915050565b610daa8282600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f469092919063ffffffff16565b5050565b610db88282610a44565b610e0d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806112de6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610e758282610a44565b15610ee8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611012838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611017565b505050565b6110368273ffffffffffffffffffffffffffffffffffffffff16611262565b6110a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106110f757805182526020820191506020810190506020830392506110d4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611159576040519150601f19603f3d011682016040523d82523d6000602084013e61115e565b606091505b5091509150816111d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b60008151111561125c578080602001905160208110156111f557600080fd5b810190808051906020019092919050505061125b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061136c602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156112a45750808214155b9250505091905056fe506175736572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652050617573657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77526f6c65733a206163636f756e7420697320746865207a65726f206164647265737343726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a723058205f686f12c1c0bc94ace3c4d4c6678149398620f3e8f9d8757056214057af09330029",
"sourceMap": "117:232:92:-;;;175:172;8:9:-1;5:2;;;30:1;27;20:12;5:2;175:172:92;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;175:172:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;259:5;266:7;275:6;879:1:149;863:13;:17;;;;2416:1:15;2409:4;:8;2401:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2478:1;2460:20;;:6;:20;;;;2452:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2566:1;2540:28;;2548:5;2540:28;;;;2532:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2628:4;2620:5;:12;;;;2652:6;2642:7;;:16;;;;;;;;;;;;;;;;;;2677:5;2668:6;;:14;;;;;;;;;;;;;;;;;;2319:370;;;318:24:11;329:12;:10;;;:12;;:::i;:::-;318:10;;;:24;;:::i;:::-;1023:5:46;1013:7;;:15;;;;;;;;;;;;;;;;;;175:172:92;;;117:232;;791:88:0;836:7;862:10;855:17;;791:88;:::o;786:119:11:-;842:21;855:7;842:8;:12;;;;;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;260:175:8:-;337:18;341:4;347:7;337:3;;;:18;;:::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;779:200::-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;117:232:92:-;;;;;;;",
"deployedSourceMap": "117:232:92:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3017:23:15;3027:12;:10;:12::i;:::-;3017:9;:23::i;:::-;117:232:92;3430:75:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3430:75:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1892:117:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1892:117:46;;;:::i;:::-;;3568:85:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3568:85:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;494:107:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;494:107:11;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;494:107:11;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3258:87:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3258:87:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1130:76:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1130:76:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;703:77:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;703:77:11;;;:::i;:::-;;607:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;607:90:11;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;607:90:11;;;;;;;;;;;;;;;;;;;:::i;:::-;;1687:115:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1687:115:46;;;:::i;:::-;;3910:605:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3910:605:15;;;;;;;;;;;;;;;;;;;:::i;:::-;;3106:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3106:76:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;791:88:0;836:7;862:10;855:17;;791:88;:::o;3910:605:15:-;1313:1:149;1296:13;;:18;;;;;;;;;;;1324:20;1347:13;;1324:36;;3988:17:15;4008:9;3988:29;;4027:44;4048:11;4061:9;4027:20;:44::i;:::-;4130:14;4147:26;4163:9;4147:15;:26::i;:::-;4130:43;;4221:25;4236:9;4221:10;;:14;;:25;;;;:::i;:::-;4208:10;:38;;;;4257:37;4274:11;4287:6;4257:16;:37::i;:::-;4339:11;4309:61;;4325:12;:10;:12::i;:::-;4309:61;;;4352:9;4363:6;4309:61;;;;;;;;;;;;;;;;;;;;;;;;4381:46;4404:11;4417:9;4381:22;:46::i;:::-;4438:15;:13;:15::i;:::-;4463:45;4485:11;4498:9;4463:21;:45::i;:::-;1370:1:149;;1405:13;;1389:12;:29;1381:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3910:605:15;;:::o;3430:75::-;3467:7;3493:5;;3486:12;;3430:75;:::o;1892:117:46:-;395:22:11;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1550:7:46;;;;;;;;;;;1542:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1960:5;1950:7;;:15;;;;;;;;;;;;;;;;;;1980:22;1989:12;:10;:12::i;:::-;1980:22;;;;;;;;;;;;;;;;;;;;;;1892:117::o;3568:85:15:-;3610:7;3636:10;;3629:17;;3568:85;:::o;494:107:11:-;550:4;573:21;586:7;573:8;:12;;:21;;;;:::i;:::-;566:28;;494:107;;;:::o;3258:87:15:-;3297:15;3331:7;;;;;;;;;;;3324:14;;3258:87;:::o;1130:76:46:-;1169:4;1192:7;;;;;;;;;;;1185:14;;1130:76;:::o;703:77:11:-;746:27;760:12;:10;:12::i;:::-;746:13;:27::i;:::-;703:77::o;607:90::-;395:22;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:19;682:7;671:10;:19::i;:::-;607:90;:::o;1687:115:46:-;395:22:11;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1359:7:46;;;;;;;;;;;1358:8;1350:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1756:4;1746:7;;:14;;;;;;;;;;;;;;;;;;1775:20;1782:12;:10;:12::i;:::-;1775:20;;;;;;;;;;;;;;;;;;;;;;1687:115::o;3106:76:15:-;3144:6;3169;;;;;;;;;;;3162:13;;3106:76;:::o;658:176:25:-;1359:7:46;;;;;;;;;;;1358:8;1350:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;775:52:25;802:12;816:10;775:26;:52::i;:::-;658:176;;:::o;7358:120:15:-;7425:7;7451:20;7465:5;;7451:9;:13;;:20;;;;:::i;:::-;7444:27;;7358:120;;;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;6560:134:15:-;6647:40;6662:11;6675;6647:14;:40::i;:::-;6560:134;;:::o;6964:145::-;;;:::o;7565:78::-;7609:7;;;;;;;;;;;:16;;:27;7626:9;7609:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7609:27:15;7565:78::o;5728:149::-;;;:::o;779:200:8:-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;911:127:11:-;970:24;986:7;970:8;:15;;:24;;;;:::i;:::-;1023:7;1009:22;;;;;;;;;;;;911:127;:::o;786:119::-;842:21;855:7;842:8;:12;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;5057:376:15:-;5182:1;5159:25;;:11;:25;;;;5151:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5262:1;5249:9;:14;;5241:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5057:376;;:::o;2119:459:48:-;2177:7;2423:1;2418;:6;2414:45;;;2447:1;2440:8;;;;2414:45;2469:9;2485:1;2481;:5;2469:17;;2513:1;2508;2504;:5;;;;;;:10;2496:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2570:1;2563:8;;;2119:459;;;;;:::o;6157:137:15:-;6242:45;6262:11;6275;6242:6;;;;;;;;;;;:19;;;;:45;;;;;:::i;:::-;6157:137;;:::o;510:180:8:-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;678:5;655:4;:11;;:20;667:7;655:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;510:180;;:::o;260:175::-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;662:174:127:-;744:85;763:5;793;:14;;;:23;;;;818:2;822:5;770:58;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;770:58:127;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;770:58:127;744:18;:85::i;:::-;662:174;;;:::o;2666:1095::-;3261:27;3269:5;3261:25;;;:27::i;:::-;3253:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3395:12;3409:23;3444:5;3436:19;;3456:4;3436:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3436:25:127;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3394:67:127;;;;3479:7;3471:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3558:1;3538:10;:17;:21;3534:221;;;3678:10;3667:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3667:30:127;;;;;;;;;;;;;;;;3659:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3534:221;2666:1095;;;;:::o;557:805:147:-;617:4;1070:16;1096:19;1118:66;1096:88;;;;1285:7;1273:20;1261:32;;1324:3;1312:15;;:8;:15;;:42;;;;;1343:11;1331:8;:23;;1312:42;1304:51;;;;557:805;;;:::o",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPauser\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renouncePauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addPauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_rate\",\"type\":\"uint256\"},{\"name\":\"_wallet\",\"type\":\"address\"},{\"name\":\"_token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"pause()\":{\"details\":\"Called by a pauser to pause, triggers stopped state.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"unpause()\":{\"details\":\"Called by a pauser to unpause, returns to normal state.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/PausableCrowdsaleImpl.sol\":\"PausableCrowdsaleImpl\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzzr://bd34c1ce05b5b2b3a62fc02e160f6805b1cadd476854664f433c685b2fda8dad\"]},\"/home/frangio/oz/contracts/contracts/access/roles/PauserRole.sol\":{\"keccak256\":\"0xd1b5c934bab36d753c22987ad98c7614cb50ebf641371a83c96f8138619d7c30\",\"urls\":[\"bzzr://39c672e2273e863fd2a6d1bc452e38887b48c113483b0e4c9d7aff60f3337483\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/validation/PausableCrowdsale.sol\":{\"keccak256\":\"0x07e554aeb3f9389dea5ea3f9183dde50903425f255fe5a397f3c6555c54611fc\",\"urls\":[\"bzzr://687924a02f8671dc1ce1ecbcb7293781adbefed957dc5dc905ed00a90635b761\"]},\"/home/frangio/oz/contracts/contracts/lifecycle/Pausable.sol\":{\"keccak256\":\"0xd3e5a49edfb74654d122962cc60b917d1c60461e669a7262fd7aba201fac1260\",\"urls\":[\"bzzr://78a64ae8f0f90b1aa83280e0735930a16f416eeda54683d2f6280a67ad3758d6\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/mocks/PausableCrowdsaleImpl.sol\":{\"keccak256\":\"0x5284d5549d4fbbcd9099c5e0617ac6bdb71ca7b939ab2eaad4bc934b76398c81\",\"urls\":[\"bzzr://db044e9ac12864c655d3b2a9e48551fca080f11b83412c950db553c87adc348f\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xe694ef04a7c6886b66ff96bcd2f69391584c886f98af4209b1871ae30e9ccc02\",\"urls\":[\"bzzr://492925b0d8de70689bfdc292e7870ca3f67feb106fc0c847c05afc619587b518\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xf4bfe37bc0ed72fb1a94abab4acec42dcabc6b2936d684f9a018a61afe2d979a\",\"urls\":[\"bzzr://a0a3a1ea455fc61ea6032cad30321369a478121b32ae8a212a73a54e57dad3b5\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"bytecode": "0x60806040523480156200001157600080fd5b5060405160608062001923833981018060405260608110156200003357600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050828282600160008190555060008311620000da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f43726f776473616c653a2072617465206973203000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000162576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180620018fe6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620001ea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180620018b86024913960400191505060405180910390fd5b8260038190555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050620002966200028a620002ba60201b60201c565b620002c260201b60201c565b6000600660006101000a81548160ff021916908315150217905550505050620004e7565b600033905090565b620002dd8160056200032360201b62000e6b1790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b6200033582826200040760201b60201c565b15620003a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000490576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180620018dc6022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6113c180620004f76000396000f3fe60806040526004361061009c5760003560e01c80635c975abb116100645780635c975abb146101db5780636ef8d66d1461020a57806382dc1ec4146102215780638456cb5914610272578063ec8ac4d814610289578063fc0c546a146102cd5761009c565b80632c4e722e146100ae5780633f4ba83a146100d95780634042b66f146100f057806346fbf68e1461011b578063521eb27314610184575b6100ac6100a7610324565b61032c565b005b3480156100ba57600080fd5b506100c3610490565b6040518082815260200191505060405180910390f35b3480156100e557600080fd5b506100ee61049a565b005b3480156100fc57600080fd5b50610105610608565b6040518082815260200191505060405180910390f35b34801561012757600080fd5b5061016a6004803603602081101561013e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610612565b604051808215151515815260200191505060405180910390f35b34801561019057600080fd5b5061019961062f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101e757600080fd5b506101f0610659565b604051808215151515815260200191505060405180910390f35b34801561021657600080fd5b5061021f610670565b005b34801561022d57600080fd5b506102706004803603602081101561024457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610682565b005b34801561027e57600080fd5b506102876106f3565b005b6102cb6004803603602081101561029f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061032c565b005b3480156102d957600080fd5b506102e2610862565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b600160008082825401925050819055506000805490506000349050610351838261088c565b600061035c8261091d565b90506103738260045461093b90919063ffffffff16565b60048190555061038384826109c3565b8373ffffffffffffffffffffffffffffffffffffffff166103a2610324565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a361040184836109d1565b6104096109d5565b6104138483610a40565b5050600054811461048c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6104aa6104a5610324565b610612565b6104ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806112ae6030913960400191505060405180910390fd5b600660009054906101000a900460ff16610581576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600660006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6105c5610324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600454905090565b6000610628826005610a4490919063ffffffff16565b9050919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600660009054906101000a900460ff16905090565b61068061067b610324565b610b22565b565b61069261068d610324565b610612565b6106e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806112ae6030913960400191505060405180910390fd5b6106f081610b7c565b50565b6107036106fe610324565b610612565b610758576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806112ae6030913960400191505060405180910390fd5b600660009054906101000a900460ff16156107db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600660006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861081f610324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600660009054906101000a900460ff161561090f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6109198282610bd6565b5050565b600061093460035483610cd790919063ffffffff16565b9050919050565b6000808284019050838110156109b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6109cd8282610d5d565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610a3d573d6000803e3d6000fd5b50565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610acb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806113206022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610b36816005610dae90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b610b90816005610e6b90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180611342602a913960400191505060405180910390fd5b6000811415610cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b600080831415610cea5760009050610d57565b6000828402905082848281610cfb57fe5b0414610d52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806112ff6021913960400191505060405180910390fd5b809150505b92915050565b610daa8282600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f469092919063ffffffff16565b5050565b610db88282610a44565b610e0d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806112de6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610e758282610a44565b15610ee8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611012838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611017565b505050565b6110368273ffffffffffffffffffffffffffffffffffffffff16611262565b6110a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106110f757805182526020820191506020810190506020830392506110d4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611159576040519150601f19603f3d011682016040523d82523d6000602084013e61115e565b606091505b5091509150816111d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b60008151111561125c578080602001905160208110156111f557600080fd5b810190808051906020019092919050505061125b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061136c602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156112a45750808214155b9250505091905056fe506175736572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652050617573657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77526f6c65733a206163636f756e7420697320746865207a65726f206164647265737343726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a7230582022b21329ed7e8a7b0c23050bbbbd02c75a1fd8f43c38dcadee9e815c5e2dcc47002943726f776473616c653a20746f6b656e20697320746865207a65726f2061646472657373526f6c65733a206163636f756e7420697320746865207a65726f206164647265737343726f776473616c653a2077616c6c657420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x60806040526004361061009c5760003560e01c80635c975abb116100645780635c975abb146101db5780636ef8d66d1461020a57806382dc1ec4146102215780638456cb5914610272578063ec8ac4d814610289578063fc0c546a146102cd5761009c565b80632c4e722e146100ae5780633f4ba83a146100d95780634042b66f146100f057806346fbf68e1461011b578063521eb27314610184575b6100ac6100a7610324565b61032c565b005b3480156100ba57600080fd5b506100c3610490565b6040518082815260200191505060405180910390f35b3480156100e557600080fd5b506100ee61049a565b005b3480156100fc57600080fd5b50610105610608565b6040518082815260200191505060405180910390f35b34801561012757600080fd5b5061016a6004803603602081101561013e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610612565b604051808215151515815260200191505060405180910390f35b34801561019057600080fd5b5061019961062f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101e757600080fd5b506101f0610659565b604051808215151515815260200191505060405180910390f35b34801561021657600080fd5b5061021f610670565b005b34801561022d57600080fd5b506102706004803603602081101561024457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610682565b005b34801561027e57600080fd5b506102876106f3565b005b6102cb6004803603602081101561029f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061032c565b005b3480156102d957600080fd5b506102e2610862565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600033905090565b600160008082825401925050819055506000805490506000349050610351838261088c565b600061035c8261091d565b90506103738260045461093b90919063ffffffff16565b60048190555061038384826109c3565b8373ffffffffffffffffffffffffffffffffffffffff166103a2610324565b73ffffffffffffffffffffffffffffffffffffffff167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a361040184836109d1565b6104096109d5565b6104138483610a40565b5050600054811461048c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b5050565b6000600354905090565b6104aa6104a5610324565b610612565b6104ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806112ae6030913960400191505060405180910390fd5b600660009054906101000a900460ff16610581576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600660006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6105c5610324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600454905090565b6000610628826005610a4490919063ffffffff16565b9050919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600660009054906101000a900460ff16905090565b61068061067b610324565b610b22565b565b61069261068d610324565b610612565b6106e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806112ae6030913960400191505060405180910390fd5b6106f081610b7c565b50565b6107036106fe610324565b610612565b610758576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806112ae6030913960400191505060405180910390fd5b600660009054906101000a900460ff16156107db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600660006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861081f610324565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600660009054906101000a900460ff161561090f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6109198282610bd6565b5050565b600061093460035483610cd790919063ffffffff16565b9050919050565b6000808284019050838110156109b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6109cd8282610d5d565b5050565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610a3d573d6000803e3d6000fd5b50565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610acb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806113206022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610b36816005610dae90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b610b90816005610e6b90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180611342602a913960400191505060405180910390fd5b6000811415610cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43726f776473616c653a20776569416d6f756e7420697320300000000000000081525060200191505060405180910390fd5b5050565b600080831415610cea5760009050610d57565b6000828402905082848281610cfb57fe5b0414610d52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806112ff6021913960400191505060405180910390fd5b809150505b92915050565b610daa8282600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f469092919063ffffffff16565b5050565b610db88282610a44565b610e0d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806112de6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610e758282610a44565b15610ee8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611012838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611017565b505050565b6110368273ffffffffffffffffffffffffffffffffffffffff16611262565b6110a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106110f757805182526020820191506020810190506020830392506110d4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611159576040519150601f19603f3d011682016040523d82523d6000602084013e61115e565b606091505b5091509150816111d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b60008151111561125c578080602001905160208110156111f557600080fd5b810190808051906020019092919050505061125b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061136c602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156112a45750808214155b9250505091905056fe506175736572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652050617573657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77526f6c65733a206163636f756e7420697320746865207a65726f206164647265737343726f776473616c653a2062656e656669636961727920697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a7230582022b21329ed7e8a7b0c23050bbbbd02c75a1fd8f43c38dcadee9e815c5e2dcc470029",
"sourceMap": "117:232:92:-;;;175:172;8:9:-1;5:2;;;30:1;27;20:12;5:2;175:172:92;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;175:172:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;259:5;266:7;275:6;879:1:148;863:13;:17;;;;2416:1:15;2409:4;:8;2401:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2478:1;2460:20;;:6;:20;;;;2452:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2566:1;2540:28;;2548:5;2540:28;;;;2532:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2628:4;2620:5;:12;;;;2652:6;2642:7;;:16;;;;;;;;;;;;;;;;;;2677:5;2668:6;;:14;;;;;;;;;;;;;;;;;;2319:370;;;318:24:11;329:12;:10;;;:12;;:::i;:::-;318:10;;;:24;;:::i;:::-;1023:5:46;1013:7;;:15;;;;;;;;;;;;;;;;;;175:172:92;;;117:232;;791:88:0;836:7;862:10;855:17;;791:88;:::o;786:119:11:-;842:21;855:7;842:8;:12;;;;;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;260:175:8:-;337:18;341:4;347:7;337:3;;;:18;;:::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;779:200::-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;117:232:92:-;;;;;;;",
"deployedSourceMap": "117:232:92:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3017:23:15;3027:12;:10;:12::i;:::-;3017:9;:23::i;:::-;117:232:92;3430:75:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3430:75:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1892:117:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1892:117:46;;;:::i;:::-;;3568:85:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3568:85:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;494:107:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;494:107:11;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;494:107:11;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3258:87:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3258:87:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1130:76:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1130:76:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;703:77:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;703:77:11;;;:::i;:::-;;607:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;607:90:11;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;607:90:11;;;;;;;;;;;;;;;;;;;:::i;:::-;;1687:115:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1687:115:46;;;:::i;:::-;;3910:605:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3910:605:15;;;;;;;;;;;;;;;;;;;:::i;:::-;;3106:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3106:76:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;791:88:0;836:7;862:10;855:17;;791:88;:::o;3910:605:15:-;1313:1:148;1296:13;;:18;;;;;;;;;;;1324:20;1347:13;;1324:36;;3988:17:15;4008:9;3988:29;;4027:44;4048:11;4061:9;4027:20;:44::i;:::-;4130:14;4147:26;4163:9;4147:15;:26::i;:::-;4130:43;;4221:25;4236:9;4221:10;;:14;;:25;;;;:::i;:::-;4208:10;:38;;;;4257:37;4274:11;4287:6;4257:16;:37::i;:::-;4339:11;4309:61;;4325:12;:10;:12::i;:::-;4309:61;;;4352:9;4363:6;4309:61;;;;;;;;;;;;;;;;;;;;;;;;4381:46;4404:11;4417:9;4381:22;:46::i;:::-;4438:15;:13;:15::i;:::-;4463:45;4485:11;4498:9;4463:21;:45::i;:::-;1370:1:148;;1405:13;;1389:12;:29;1381:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3910:605:15;;:::o;3430:75::-;3467:7;3493:5;;3486:12;;3430:75;:::o;1892:117:46:-;395:22:11;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1550:7:46;;;;;;;;;;;1542:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1960:5;1950:7;;:15;;;;;;;;;;;;;;;;;;1980:22;1989:12;:10;:12::i;:::-;1980:22;;;;;;;;;;;;;;;;;;;;;;1892:117::o;3568:85:15:-;3610:7;3636:10;;3629:17;;3568:85;:::o;494:107:11:-;550:4;573:21;586:7;573:8;:12;;:21;;;;:::i;:::-;566:28;;494:107;;;:::o;3258:87:15:-;3297:15;3331:7;;;;;;;;;;;3324:14;;3258:87;:::o;1130:76:46:-;1169:4;1192:7;;;;;;;;;;;1185:14;;1130:76;:::o;703:77:11:-;746:27;760:12;:10;:12::i;:::-;746:13;:27::i;:::-;703:77::o;607:90::-;395:22;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:19;682:7;671:10;:19::i;:::-;607:90;:::o;1687:115:46:-;395:22:11;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1359:7:46;;;;;;;;;;;1358:8;1350:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1756:4;1746:7;;:14;;;;;;;;;;;;;;;;;;1775:20;1782:12;:10;:12::i;:::-;1775:20;;;;;;;;;;;;;;;;;;;;;;1687:115::o;3106:76:15:-;3144:6;3169;;;;;;;;;;;3162:13;;3106:76;:::o;658:176:25:-;1359:7:46;;;;;;;;;;;1358:8;1350:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;775:52:25;802:12;816:10;775:26;:52::i;:::-;658:176;;:::o;7358:120:15:-;7425:7;7451:20;7465:5;;7451:9;:13;;:20;;;;:::i;:::-;7444:27;;7358:120;;;:::o;834:176:48:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;6560:134:15:-;6647:40;6662:11;6675;6647:14;:40::i;:::-;6560:134;;:::o;6964:145::-;;;:::o;7565:78::-;7609:7;;;;;;;;;;;:16;;:27;7626:9;7609:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7609:27:15;7565:78::o;5728:149::-;;;:::o;779:200:8:-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;911:127:11:-;970:24;986:7;970:8;:15;;:24;;;;:::i;:::-;1023:7;1009:22;;;;;;;;;;;;911:127;:::o;786:119::-;842:21;855:7;842:8;:12;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;5057:376:15:-;5182:1;5159:25;;:11;:25;;;;5151:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5262:1;5249:9;:14;;5241:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5057:376;;:::o;2271:459:48:-;2329:7;2575:1;2570;:6;2566:45;;;2599:1;2592:8;;;;2566:45;2621:9;2637:1;2633;:5;2621:17;;2665:1;2660;2656;:5;;;;;;:10;2648:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2722:1;2715:8;;;2271:459;;;;;:::o;6157:137:15:-;6242:45;6262:11;6275;6242:6;;;;;;;;;;;:19;;;;:45;;;;;:::i;:::-;6157:137;;:::o;510:180:8:-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;678:5;655:4;:11;;:20;667:7;655:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;510:180;;:::o;260:175::-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;662:174:126:-;744:85;763:5;793;:14;;;:23;;;;818:2;822:5;770:58;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;770:58:126;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;770:58:126;744:18;:85::i;:::-;662:174;;;:::o;2666:1095::-;3261:27;3269:5;3261:25;;;:27::i;:::-;3253:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3395:12;3409:23;3444:5;3436:19;;3456:4;3436:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3436:25:126;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3394:67:126;;;;3479:7;3471:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3558:1;3538:10;:17;:21;3534:221;;;3678:10;3667:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3667:30:126;;;;;;;;;;;;;;;;3659:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3534:221;2666:1095;;;;:::o;557:805:146:-;617:4;1070:16;1096:19;1118:66;1096:88;;;;1285:7;1273:20;1261:32;;1324:3;1312:15;;:8;:15;;:42;;;;;1343:11;1331:8;:23;;1312:42;1304:51;;;;557:805;;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../token/ERC20/ERC20.sol\";\nimport \"../crowdsale/validation/PausableCrowdsale.sol\";\n\ncontract PausableCrowdsaleImpl is PausableCrowdsale {\n constructor (uint256 _rate, address payable _wallet, ERC20 _token) public Crowdsale(_rate, _wallet, _token) {\n // solhint-disable-previous-line no-empty-blocks\n }\n}\n",

@@ -260,10 +260,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/PausableCrowdsaleImpl.sol",

"PausableCrowdsaleImpl": [
7514
7491
]
},
"id": 7515,
"id": 7492,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7494,
"id": 7471,
"literals": [

@@ -281,6 +281,6 @@ "solidity",

"file": "../token/ERC20/ERC20.sol",
"id": 7495,
"id": 7472,
"nodeType": "ImportDirective",
"scope": 7515,
"sourceUnit": 9920,
"scope": 7492,
"sourceUnit": 9797,
"src": "25:34:92",

@@ -293,6 +293,6 @@ "symbolAliases": [],

"file": "../crowdsale/validation/PausableCrowdsale.sol",
"id": 7496,
"id": 7473,
"nodeType": "ImportDirective",
"scope": 7515,
"sourceUnit": 2953,
"scope": 7492,
"sourceUnit": 2932,
"src": "60:55:92",

@@ -308,13 +308,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 7497,
"id": 7474,
"name": "PausableCrowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2952,
"referencedDeclaration": 2931,
"src": "151:17:92",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PausableCrowdsale_$2952",
"typeIdentifier": "t_contract$_PausableCrowdsale_$2931",
"typeString": "contract PausableCrowdsale"
}
},
"id": 7498,
"id": 7475,
"nodeType": "InheritanceSpecifier",

@@ -326,7 +326,7 @@ "src": "151:17:92"

26,
1530,
2134,
2952,
5274,
13448
1509,
2113,
2931,
5253,
13325
],

@@ -336,10 +336,10 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7514,
"id": 7491,
"linearizedBaseContracts": [
7514,
2952,
5274,
1530,
2134,
13448,
7491,
2931,
5253,
1509,
2113,
13325,
26

@@ -352,3 +352,3 @@ ],

"body": {
"id": 7512,
"id": 7489,
"nodeType": "Block",

@@ -359,3 +359,3 @@ "src": "283:64:92",

"documentation": null,
"id": 7513,
"id": 7490,
"implemented": true,

@@ -368,7 +368,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 7507,
"id": 7484,
"name": "_rate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7500,
"referencedDeclaration": 7477,
"src": "259:5:92",

@@ -382,7 +382,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7508,
"id": 7485,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7502,
"referencedDeclaration": 7479,
"src": "266:7:92",

@@ -396,10 +396,10 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7509,
"id": 7486,
"name": "_token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7504,
"referencedDeclaration": 7481,
"src": "275:6:92",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$9919",
"typeIdentifier": "t_contract$_ERC20_$9796",
"typeString": "contract ERC20"

@@ -409,13 +409,13 @@ }

],
"id": 7510,
"id": 7487,
"modifierName": {
"argumentTypes": null,
"id": 7506,
"id": 7483,
"name": "Crowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "249:9:92",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2134_$",
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2113_$",
"typeString": "type(contract Crowdsale)"

@@ -431,3 +431,3 @@ }

"parameters": {
"id": 7505,
"id": 7482,
"nodeType": "ParameterList",

@@ -437,6 +437,6 @@ "parameters": [

"constant": false,
"id": 7500,
"id": 7477,
"name": "_rate",
"nodeType": "VariableDeclaration",
"scope": 7513,
"scope": 7490,
"src": "188:13:92",

@@ -450,3 +450,3 @@ "stateVariable": false,

"typeName": {
"id": 7499,
"id": 7476,
"name": "uint256",

@@ -465,6 +465,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7502,
"id": 7479,
"name": "_wallet",
"nodeType": "VariableDeclaration",
"scope": 7513,
"scope": 7490,
"src": "203:23:92",

@@ -478,3 +478,3 @@ "stateVariable": false,

"typeName": {
"id": 7501,
"id": 7478,
"name": "address",

@@ -494,6 +494,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7504,
"id": 7481,
"name": "_token",
"nodeType": "VariableDeclaration",
"scope": 7513,
"scope": 7490,
"src": "228:12:92",

@@ -503,3 +503,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$9919",
"typeIdentifier": "t_contract$_ERC20_$9796",
"typeString": "contract ERC20"

@@ -509,9 +509,9 @@ },

"contractScope": null,
"id": 7503,
"id": 7480,
"name": "ERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9919,
"referencedDeclaration": 9796,
"src": "228:5:92",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$9919",
"typeIdentifier": "t_contract$_ERC20_$9796",
"typeString": "contract ERC20"

@@ -527,3 +527,3 @@ }

"returnParameters": {
"id": 7511,
"id": 7488,
"nodeType": "ParameterList",

@@ -533,3 +533,3 @@ "parameters": [],

},
"scope": 7514,
"scope": 7491,
"src": "175:172:92",

@@ -541,3 +541,3 @@ "stateMutability": "nonpayable",

],
"scope": 7515,
"scope": 7492,
"src": "117:232:92"

@@ -552,10 +552,10 @@ }

"PausableCrowdsaleImpl": [
7514
7491
]
},
"id": 7515,
"id": 7492,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7494,
"id": 7471,
"literals": [

@@ -573,6 +573,6 @@ "solidity",

"file": "../token/ERC20/ERC20.sol",
"id": 7495,
"id": 7472,
"nodeType": "ImportDirective",
"scope": 7515,
"sourceUnit": 9920,
"scope": 7492,
"sourceUnit": 9797,
"src": "25:34:92",

@@ -585,6 +585,6 @@ "symbolAliases": [],

"file": "../crowdsale/validation/PausableCrowdsale.sol",
"id": 7496,
"id": 7473,
"nodeType": "ImportDirective",
"scope": 7515,
"sourceUnit": 2953,
"scope": 7492,
"sourceUnit": 2932,
"src": "60:55:92",

@@ -600,13 +600,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 7497,
"id": 7474,
"name": "PausableCrowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2952,
"referencedDeclaration": 2931,
"src": "151:17:92",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PausableCrowdsale_$2952",
"typeIdentifier": "t_contract$_PausableCrowdsale_$2931",
"typeString": "contract PausableCrowdsale"
}
},
"id": 7498,
"id": 7475,
"nodeType": "InheritanceSpecifier",

@@ -618,7 +618,7 @@ "src": "151:17:92"

26,
1530,
2134,
2952,
5274,
13448
1509,
2113,
2931,
5253,
13325
],

@@ -628,10 +628,10 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7514,
"id": 7491,
"linearizedBaseContracts": [
7514,
2952,
5274,
1530,
2134,
13448,
7491,
2931,
5253,
1509,
2113,
13325,
26

@@ -644,3 +644,3 @@ ],

"body": {
"id": 7512,
"id": 7489,
"nodeType": "Block",

@@ -651,3 +651,3 @@ "src": "283:64:92",

"documentation": null,
"id": 7513,
"id": 7490,
"implemented": true,

@@ -660,7 +660,7 @@ "kind": "constructor",

"argumentTypes": null,
"id": 7507,
"id": 7484,
"name": "_rate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7500,
"referencedDeclaration": 7477,
"src": "259:5:92",

@@ -674,7 +674,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7508,
"id": 7485,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7502,
"referencedDeclaration": 7479,
"src": "266:7:92",

@@ -688,10 +688,10 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7509,
"id": 7486,
"name": "_token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7504,
"referencedDeclaration": 7481,
"src": "275:6:92",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$9919",
"typeIdentifier": "t_contract$_ERC20_$9796",
"typeString": "contract ERC20"

@@ -701,13 +701,13 @@ }

],
"id": 7510,
"id": 7487,
"modifierName": {
"argumentTypes": null,
"id": 7506,
"id": 7483,
"name": "Crowdsale",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "249:9:92",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2134_$",
"typeIdentifier": "t_type$_t_contract$_Crowdsale_$2113_$",
"typeString": "type(contract Crowdsale)"

@@ -723,3 +723,3 @@ }

"parameters": {
"id": 7505,
"id": 7482,
"nodeType": "ParameterList",

@@ -729,6 +729,6 @@ "parameters": [

"constant": false,
"id": 7500,
"id": 7477,
"name": "_rate",
"nodeType": "VariableDeclaration",
"scope": 7513,
"scope": 7490,
"src": "188:13:92",

@@ -742,3 +742,3 @@ "stateVariable": false,

"typeName": {
"id": 7499,
"id": 7476,
"name": "uint256",

@@ -757,6 +757,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7502,
"id": 7479,
"name": "_wallet",
"nodeType": "VariableDeclaration",
"scope": 7513,
"scope": 7490,
"src": "203:23:92",

@@ -770,3 +770,3 @@ "stateVariable": false,

"typeName": {
"id": 7501,
"id": 7478,
"name": "address",

@@ -786,6 +786,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7504,
"id": 7481,
"name": "_token",
"nodeType": "VariableDeclaration",
"scope": 7513,
"scope": 7490,
"src": "228:12:92",

@@ -795,3 +795,3 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$9919",
"typeIdentifier": "t_contract$_ERC20_$9796",
"typeString": "contract ERC20"

@@ -801,9 +801,9 @@ },

"contractScope": null,
"id": 7503,
"id": 7480,
"name": "ERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9919,
"referencedDeclaration": 9796,
"src": "228:5:92",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$9919",
"typeIdentifier": "t_contract$_ERC20_$9796",
"typeString": "contract ERC20"

@@ -819,3 +819,3 @@ }

"returnParameters": {
"id": 7511,
"id": 7488,
"nodeType": "ParameterList",

@@ -825,3 +825,3 @@ "parameters": [],

},
"scope": 7514,
"scope": 7491,
"src": "175:172:92",

@@ -833,3 +833,3 @@ "stateMutability": "nonpayable",

],
"scope": 7515,
"scope": 7492,
"src": "117:232:92"

@@ -846,3 +846,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.762Z",
"updatedAt": "2019-08-16T19:32:31.278Z",
"devdoc": {

@@ -849,0 +849,0 @@ "methods": {

@@ -213,10 +213,10 @@ {

"PausableMock": [
7558
7535
]
},
"id": 7559,
"id": 7536,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7516,
"id": 7493,
"literals": [

@@ -234,6 +234,6 @@ "solidity",

"file": "../lifecycle/Pausable.sol",
"id": 7517,
"id": 7494,
"nodeType": "ImportDirective",
"scope": 7559,
"sourceUnit": 5275,
"scope": 7536,
"sourceUnit": 5254,
"src": "25:35:93",

@@ -246,6 +246,6 @@ "symbolAliases": [],

"file": "./PauserRoleMock.sol",
"id": 7518,
"id": 7495,
"nodeType": "ImportDirective",
"scope": 7559,
"sourceUnit": 7593,
"scope": 7536,
"sourceUnit": 7570,
"src": "61:30:93",

@@ -261,13 +261,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 7519,
"id": 7496,
"name": "Pausable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5274,
"referencedDeclaration": 5253,
"src": "147:8:93",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Pausable_$5274",
"typeIdentifier": "t_contract$_Pausable_$5253",
"typeString": "contract Pausable"
}
},
"id": 7520,
"id": 7497,
"nodeType": "InheritanceSpecifier",

@@ -280,13 +280,13 @@ "src": "147:8:93"

"contractScope": null,
"id": 7521,
"id": 7498,
"name": "PauserRoleMock",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 7592,
"referencedDeclaration": 7569,
"src": "157:14:93",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PauserRoleMock_$7592",
"typeIdentifier": "t_contract$_PauserRoleMock_$7569",
"typeString": "contract PauserRoleMock"
}
},
"id": 7522,
"id": 7499,
"nodeType": "InheritanceSpecifier",

@@ -298,5 +298,5 @@ "src": "157:14:93"

26,
1530,
5274,
7592
1509,
5253,
7569
],

@@ -306,8 +306,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7558,
"id": 7535,
"linearizedBaseContracts": [
7558,
7592,
5274,
1530,
7535,
7569,
5253,
1509,
26

@@ -320,6 +320,6 @@ ],

"constant": false,
"id": 7524,
"id": 7501,
"name": "drasticMeasureTaken",
"nodeType": "VariableDeclaration",
"scope": 7558,
"scope": 7535,
"src": "178:31:93",

@@ -333,3 +333,3 @@ "stateVariable": true,

"typeName": {
"id": 7523,
"id": 7500,
"name": "bool",

@@ -348,6 +348,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7526,
"id": 7503,
"name": "count",
"nodeType": "VariableDeclaration",
"scope": 7558,
"scope": 7535,
"src": "215:20:93",

@@ -361,3 +361,3 @@ "stateVariable": true,

"typeName": {
"id": 7525,
"id": 7502,
"name": "uint256",

@@ -376,3 +376,3 @@ "nodeType": "ElementaryTypeName",

"body": {
"id": 7537,
"id": 7514,
"nodeType": "Block",

@@ -384,3 +384,3 @@ "src": "264:63:93",

"argumentTypes": null,
"id": 7531,
"id": 7508,
"isConstant": false,

@@ -392,7 +392,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 7529,
"id": 7506,
"name": "drasticMeasureTaken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7524,
"referencedDeclaration": 7501,
"src": "274:19:93",

@@ -409,3 +409,3 @@ "typeDescriptions": {

"hexValue": "66616c7365",
"id": 7530,
"id": 7507,
"isConstant": false,

@@ -431,3 +431,3 @@ "isLValue": false,

},
"id": 7532,
"id": 7509,
"nodeType": "ExpressionStatement",

@@ -439,3 +439,3 @@ "src": "274:27:93"

"argumentTypes": null,
"id": 7535,
"id": 7512,
"isConstant": false,

@@ -447,7 +447,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 7533,
"id": 7510,
"name": "count",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7526,
"referencedDeclaration": 7503,
"src": "311:5:93",

@@ -464,3 +464,3 @@ "typeDescriptions": {

"hexValue": "30",
"id": 7534,
"id": 7511,
"isConstant": false,

@@ -486,3 +486,3 @@ "isLValue": false,

},
"id": 7536,
"id": 7513,
"nodeType": "ExpressionStatement",

@@ -494,3 +494,3 @@ "src": "311:9:93"

"documentation": null,
"id": 7538,
"id": 7515,
"implemented": true,

@@ -502,3 +502,3 @@ "kind": "constructor",

"parameters": {
"id": 7527,
"id": 7504,
"nodeType": "ParameterList",

@@ -509,3 +509,3 @@ "parameters": [],

"returnParameters": {
"id": 7528,
"id": 7505,
"nodeType": "ParameterList",

@@ -515,3 +515,3 @@ "parameters": [],

},
"scope": 7558,
"scope": 7535,
"src": "242:85:93",

@@ -524,3 +524,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 7546,
"id": 7523,
"nodeType": "Block",

@@ -532,3 +532,3 @@ "src": "381:24:93",

"argumentTypes": null,
"id": 7544,
"id": 7521,
"isConstant": false,

@@ -544,7 +544,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 7543,
"id": 7520,
"name": "count",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7526,
"referencedDeclaration": 7503,
"src": "391:5:93",

@@ -561,3 +561,3 @@ "typeDescriptions": {

},
"id": 7545,
"id": 7522,
"nodeType": "ExpressionStatement",

@@ -569,3 +569,3 @@ "src": "391:7:93"

"documentation": null,
"id": 7547,
"id": 7524,
"implemented": true,

@@ -576,10 +576,10 @@ "kind": "function",

"arguments": null,
"id": 7541,
"id": 7518,
"modifierName": {
"argumentTypes": null,
"id": 7540,
"id": 7517,
"name": "whenNotPaused",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5230,
"referencedDeclaration": 5209,
"src": "367:13:93",

@@ -598,3 +598,3 @@ "typeDescriptions": {

"parameters": {
"id": 7539,
"id": 7516,
"nodeType": "ParameterList",

@@ -605,3 +605,3 @@ "parameters": [],

"returnParameters": {
"id": 7542,
"id": 7519,
"nodeType": "ParameterList",

@@ -611,3 +611,3 @@ "parameters": [],

},
"scope": 7558,
"scope": 7535,
"src": "333:72:93",

@@ -620,3 +620,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 7556,
"id": 7533,
"nodeType": "Block",

@@ -628,3 +628,3 @@ "src": "457:43:93",

"argumentTypes": null,
"id": 7554,
"id": 7531,
"isConstant": false,

@@ -636,7 +636,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 7552,
"id": 7529,
"name": "drasticMeasureTaken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7524,
"referencedDeclaration": 7501,
"src": "467:19:93",

@@ -653,3 +653,3 @@ "typeDescriptions": {

"hexValue": "74727565",
"id": 7553,
"id": 7530,
"isConstant": false,

@@ -675,3 +675,3 @@ "isLValue": false,

},
"id": 7555,
"id": 7532,
"nodeType": "ExpressionStatement",

@@ -683,3 +683,3 @@ "src": "467:26:93"

"documentation": null,
"id": 7557,
"id": 7534,
"implemented": true,

@@ -690,10 +690,10 @@ "kind": "function",

"arguments": null,
"id": 7550,
"id": 7527,
"modifierName": {
"argumentTypes": null,
"id": 7549,
"id": 7526,
"name": "whenPaused",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5239,
"referencedDeclaration": 5218,
"src": "446:10:93",

@@ -712,3 +712,3 @@ "typeDescriptions": {

"parameters": {
"id": 7548,
"id": 7525,
"nodeType": "ParameterList",

@@ -719,3 +719,3 @@ "parameters": [],

"returnParameters": {
"id": 7551,
"id": 7528,
"nodeType": "ParameterList",

@@ -725,3 +725,3 @@ "parameters": [],

},
"scope": 7558,
"scope": 7535,
"src": "411:89:93",

@@ -733,3 +733,3 @@ "stateMutability": "nonpayable",

],
"scope": 7559,
"scope": 7536,
"src": "122:380:93"

@@ -744,10 +744,10 @@ }

"PausableMock": [
7558
7535
]
},
"id": 7559,
"id": 7536,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7516,
"id": 7493,
"literals": [

@@ -765,6 +765,6 @@ "solidity",

"file": "../lifecycle/Pausable.sol",
"id": 7517,
"id": 7494,
"nodeType": "ImportDirective",
"scope": 7559,
"sourceUnit": 5275,
"scope": 7536,
"sourceUnit": 5254,
"src": "25:35:93",

@@ -777,6 +777,6 @@ "symbolAliases": [],

"file": "./PauserRoleMock.sol",
"id": 7518,
"id": 7495,
"nodeType": "ImportDirective",
"scope": 7559,
"sourceUnit": 7593,
"scope": 7536,
"sourceUnit": 7570,
"src": "61:30:93",

@@ -792,13 +792,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 7519,
"id": 7496,
"name": "Pausable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5274,
"referencedDeclaration": 5253,
"src": "147:8:93",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Pausable_$5274",
"typeIdentifier": "t_contract$_Pausable_$5253",
"typeString": "contract Pausable"
}
},
"id": 7520,
"id": 7497,
"nodeType": "InheritanceSpecifier",

@@ -811,13 +811,13 @@ "src": "147:8:93"

"contractScope": null,
"id": 7521,
"id": 7498,
"name": "PauserRoleMock",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 7592,
"referencedDeclaration": 7569,
"src": "157:14:93",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PauserRoleMock_$7592",
"typeIdentifier": "t_contract$_PauserRoleMock_$7569",
"typeString": "contract PauserRoleMock"
}
},
"id": 7522,
"id": 7499,
"nodeType": "InheritanceSpecifier",

@@ -829,5 +829,5 @@ "src": "157:14:93"

26,
1530,
5274,
7592
1509,
5253,
7569
],

@@ -837,8 +837,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7558,
"id": 7535,
"linearizedBaseContracts": [
7558,
7592,
5274,
1530,
7535,
7569,
5253,
1509,
26

@@ -851,6 +851,6 @@ ],

"constant": false,
"id": 7524,
"id": 7501,
"name": "drasticMeasureTaken",
"nodeType": "VariableDeclaration",
"scope": 7558,
"scope": 7535,
"src": "178:31:93",

@@ -864,3 +864,3 @@ "stateVariable": true,

"typeName": {
"id": 7523,
"id": 7500,
"name": "bool",

@@ -879,6 +879,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7526,
"id": 7503,
"name": "count",
"nodeType": "VariableDeclaration",
"scope": 7558,
"scope": 7535,
"src": "215:20:93",

@@ -892,3 +892,3 @@ "stateVariable": true,

"typeName": {
"id": 7525,
"id": 7502,
"name": "uint256",

@@ -907,3 +907,3 @@ "nodeType": "ElementaryTypeName",

"body": {
"id": 7537,
"id": 7514,
"nodeType": "Block",

@@ -915,3 +915,3 @@ "src": "264:63:93",

"argumentTypes": null,
"id": 7531,
"id": 7508,
"isConstant": false,

@@ -923,7 +923,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 7529,
"id": 7506,
"name": "drasticMeasureTaken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7524,
"referencedDeclaration": 7501,
"src": "274:19:93",

@@ -940,3 +940,3 @@ "typeDescriptions": {

"hexValue": "66616c7365",
"id": 7530,
"id": 7507,
"isConstant": false,

@@ -962,3 +962,3 @@ "isLValue": false,

},
"id": 7532,
"id": 7509,
"nodeType": "ExpressionStatement",

@@ -970,3 +970,3 @@ "src": "274:27:93"

"argumentTypes": null,
"id": 7535,
"id": 7512,
"isConstant": false,

@@ -978,7 +978,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 7533,
"id": 7510,
"name": "count",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7526,
"referencedDeclaration": 7503,
"src": "311:5:93",

@@ -995,3 +995,3 @@ "typeDescriptions": {

"hexValue": "30",
"id": 7534,
"id": 7511,
"isConstant": false,

@@ -1017,3 +1017,3 @@ "isLValue": false,

},
"id": 7536,
"id": 7513,
"nodeType": "ExpressionStatement",

@@ -1025,3 +1025,3 @@ "src": "311:9:93"

"documentation": null,
"id": 7538,
"id": 7515,
"implemented": true,

@@ -1033,3 +1033,3 @@ "kind": "constructor",

"parameters": {
"id": 7527,
"id": 7504,
"nodeType": "ParameterList",

@@ -1040,3 +1040,3 @@ "parameters": [],

"returnParameters": {
"id": 7528,
"id": 7505,
"nodeType": "ParameterList",

@@ -1046,3 +1046,3 @@ "parameters": [],

},
"scope": 7558,
"scope": 7535,
"src": "242:85:93",

@@ -1055,3 +1055,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 7546,
"id": 7523,
"nodeType": "Block",

@@ -1063,3 +1063,3 @@ "src": "381:24:93",

"argumentTypes": null,
"id": 7544,
"id": 7521,
"isConstant": false,

@@ -1075,7 +1075,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 7543,
"id": 7520,
"name": "count",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7526,
"referencedDeclaration": 7503,
"src": "391:5:93",

@@ -1092,3 +1092,3 @@ "typeDescriptions": {

},
"id": 7545,
"id": 7522,
"nodeType": "ExpressionStatement",

@@ -1100,3 +1100,3 @@ "src": "391:7:93"

"documentation": null,
"id": 7547,
"id": 7524,
"implemented": true,

@@ -1107,10 +1107,10 @@ "kind": "function",

"arguments": null,
"id": 7541,
"id": 7518,
"modifierName": {
"argumentTypes": null,
"id": 7540,
"id": 7517,
"name": "whenNotPaused",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5230,
"referencedDeclaration": 5209,
"src": "367:13:93",

@@ -1129,3 +1129,3 @@ "typeDescriptions": {

"parameters": {
"id": 7539,
"id": 7516,
"nodeType": "ParameterList",

@@ -1136,3 +1136,3 @@ "parameters": [],

"returnParameters": {
"id": 7542,
"id": 7519,
"nodeType": "ParameterList",

@@ -1142,3 +1142,3 @@ "parameters": [],

},
"scope": 7558,
"scope": 7535,
"src": "333:72:93",

@@ -1151,3 +1151,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 7556,
"id": 7533,
"nodeType": "Block",

@@ -1159,3 +1159,3 @@ "src": "457:43:93",

"argumentTypes": null,
"id": 7554,
"id": 7531,
"isConstant": false,

@@ -1167,7 +1167,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 7552,
"id": 7529,
"name": "drasticMeasureTaken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7524,
"referencedDeclaration": 7501,
"src": "467:19:93",

@@ -1184,3 +1184,3 @@ "typeDescriptions": {

"hexValue": "74727565",
"id": 7553,
"id": 7530,
"isConstant": false,

@@ -1206,3 +1206,3 @@ "isLValue": false,

},
"id": 7555,
"id": 7532,
"nodeType": "ExpressionStatement",

@@ -1214,3 +1214,3 @@ "src": "467:26:93"

"documentation": null,
"id": 7557,
"id": 7534,
"implemented": true,

@@ -1221,10 +1221,10 @@ "kind": "function",

"arguments": null,
"id": 7550,
"id": 7527,
"modifierName": {
"argumentTypes": null,
"id": 7549,
"id": 7526,
"name": "whenPaused",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5239,
"referencedDeclaration": 5218,
"src": "446:10:93",

@@ -1243,3 +1243,3 @@ "typeDescriptions": {

"parameters": {
"id": 7548,
"id": 7525,
"nodeType": "ParameterList",

@@ -1250,3 +1250,3 @@ "parameters": [],

"returnParameters": {
"id": 7551,
"id": 7528,
"nodeType": "ParameterList",

@@ -1256,3 +1256,3 @@ "parameters": [],

},
"scope": 7558,
"scope": 7535,
"src": "411:89:93",

@@ -1264,3 +1264,3 @@ "stateMutability": "nonpayable",

],
"scope": 7559,
"scope": 7536,
"src": "122:380:93"

@@ -1277,3 +1277,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.763Z",
"updatedAt": "2019-08-16T19:32:31.279Z",
"devdoc": {

@@ -1280,0 +1280,0 @@ "methods": {

@@ -105,10 +105,10 @@ {

"PauserRoleMock": [
7592
7569
]
},
"id": 7593,
"id": 7570,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7560,
"id": 7537,
"literals": [

@@ -126,6 +126,6 @@ "solidity",

"file": "../access/roles/PauserRole.sol",
"id": 7561,
"id": 7538,
"nodeType": "ImportDirective",
"scope": 7593,
"sourceUnit": 1531,
"scope": 7570,
"sourceUnit": 1510,
"src": "25:40:94",

@@ -141,13 +141,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 7562,
"id": 7539,
"name": "PauserRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1530,
"referencedDeclaration": 1509,
"src": "94:10:94",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PauserRole_$1530",
"typeIdentifier": "t_contract$_PauserRole_$1509",
"typeString": "contract PauserRole"
}
},
"id": 7563,
"id": 7540,
"nodeType": "InheritanceSpecifier",

@@ -159,3 +159,3 @@ "src": "94:10:94"

26,
1530
1509
],

@@ -165,6 +165,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7592,
"id": 7569,
"linearizedBaseContracts": [
7592,
1530,
7569,
1509,
26

@@ -177,3 +177,3 @@ ],

"body": {
"id": 7572,
"id": 7549,
"nodeType": "Block",

@@ -188,7 +188,7 @@ "src": "157:39:94",

"argumentTypes": null,
"id": 7569,
"id": 7546,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7565,
"referencedDeclaration": 7542,
"src": "181:7:94",

@@ -208,9 +208,9 @@ "typeDescriptions": {

],
"id": 7568,
"id": 7545,
"name": "_removePauser",
"nodeType": "Identifier",
"overloadedDeclarations": [
7591
7568
],
"referencedDeclaration": 7591,
"referencedDeclaration": 7568,
"src": "167:13:94",

@@ -222,3 +222,3 @@ "typeDescriptions": {

},
"id": 7570,
"id": 7547,
"isConstant": false,

@@ -237,3 +237,3 @@ "isLValue": false,

},
"id": 7571,
"id": 7548,
"nodeType": "ExpressionStatement",

@@ -245,3 +245,3 @@ "src": "167:22:94"

"documentation": null,
"id": 7573,
"id": 7550,
"implemented": true,

@@ -253,3 +253,3 @@ "kind": "function",

"parameters": {
"id": 7566,
"id": 7543,
"nodeType": "ParameterList",

@@ -259,6 +259,6 @@ "parameters": [

"constant": false,
"id": 7565,
"id": 7542,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 7573,
"scope": 7550,
"src": "133:15:94",

@@ -272,3 +272,3 @@ "stateVariable": false,

"typeName": {
"id": 7564,
"id": 7541,
"name": "address",

@@ -290,3 +290,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 7567,
"id": 7544,
"nodeType": "ParameterList",

@@ -296,3 +296,3 @@ "parameters": [],

},
"scope": 7592,
"scope": 7569,
"src": "111:85:94",

@@ -305,3 +305,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 7578,
"id": 7555,
"nodeType": "Block",

@@ -312,3 +312,3 @@ "src": "251:64:94",

"documentation": null,
"id": 7579,
"id": 7556,
"implemented": true,

@@ -319,10 +319,10 @@ "kind": "function",

"arguments": null,
"id": 7576,
"id": 7553,
"modifierName": {
"argumentTypes": null,
"id": 7575,
"id": 7552,
"name": "onlyPauser",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1463,
"referencedDeclaration": 1442,
"src": "240:10:94",

@@ -341,3 +341,3 @@ "typeDescriptions": {

"parameters": {
"id": 7574,
"id": 7551,
"nodeType": "ParameterList",

@@ -348,3 +348,3 @@ "parameters": [],

"returnParameters": {
"id": 7577,
"id": 7554,
"nodeType": "ParameterList",

@@ -354,3 +354,3 @@ "parameters": [],

},
"scope": 7592,
"scope": 7569,
"src": "202:113:94",

@@ -363,3 +363,3 @@ "stateMutability": "view",

"body": {
"id": 7590,
"id": 7567,
"nodeType": "Block",

@@ -374,7 +374,7 @@ "src": "443:45:94",

"argumentTypes": null,
"id": 7587,
"id": 7564,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7581,
"referencedDeclaration": 7558,
"src": "473:7:94",

@@ -396,14 +396,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7584,
"id": 7561,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13658,
"referencedDeclaration": 13535,
"src": "453:5:94",
"typeDescriptions": {
"typeIdentifier": "t_super$_PauserRoleMock_$7592",
"typeIdentifier": "t_super$_PauserRoleMock_$7569",
"typeString": "contract super PauserRoleMock"
}
},
"id": 7586,
"id": 7563,
"isConstant": false,

@@ -415,3 +415,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 1529,
"referencedDeclaration": 1508,
"src": "453:19:94",

@@ -423,3 +423,3 @@ "typeDescriptions": {

},
"id": 7588,
"id": 7565,
"isConstant": false,

@@ -438,3 +438,3 @@ "isLValue": false,

},
"id": 7589,
"id": 7566,
"nodeType": "ExpressionStatement",

@@ -446,3 +446,3 @@ "src": "453:28:94"

"documentation": null,
"id": 7591,
"id": 7568,
"implemented": true,

@@ -454,3 +454,3 @@ "kind": "function",

"parameters": {
"id": 7582,
"id": 7559,
"nodeType": "ParameterList",

@@ -460,6 +460,6 @@ "parameters": [

"constant": false,
"id": 7581,
"id": 7558,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 7591,
"scope": 7568,
"src": "417:15:94",

@@ -473,3 +473,3 @@ "stateVariable": false,

"typeName": {
"id": 7580,
"id": 7557,
"name": "address",

@@ -491,3 +491,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 7583,
"id": 7560,
"nodeType": "ParameterList",

@@ -497,10 +497,10 @@ "parameters": [],

},
"scope": 7592,
"scope": 7569,
"src": "394:94:94",
"stateMutability": "nonpayable",
"superFunction": 1529,
"superFunction": 1508,
"visibility": "internal"
}
],
"scope": 7593,
"scope": 7570,
"src": "67:423:94"

@@ -515,10 +515,10 @@ }

"PauserRoleMock": [
7592
7569
]
},
"id": 7593,
"id": 7570,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7560,
"id": 7537,
"literals": [

@@ -536,6 +536,6 @@ "solidity",

"file": "../access/roles/PauserRole.sol",
"id": 7561,
"id": 7538,
"nodeType": "ImportDirective",
"scope": 7593,
"sourceUnit": 1531,
"scope": 7570,
"sourceUnit": 1510,
"src": "25:40:94",

@@ -551,13 +551,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 7562,
"id": 7539,
"name": "PauserRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1530,
"referencedDeclaration": 1509,
"src": "94:10:94",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PauserRole_$1530",
"typeIdentifier": "t_contract$_PauserRole_$1509",
"typeString": "contract PauserRole"
}
},
"id": 7563,
"id": 7540,
"nodeType": "InheritanceSpecifier",

@@ -569,3 +569,3 @@ "src": "94:10:94"

26,
1530
1509
],

@@ -575,6 +575,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7592,
"id": 7569,
"linearizedBaseContracts": [
7592,
1530,
7569,
1509,
26

@@ -587,3 +587,3 @@ ],

"body": {
"id": 7572,
"id": 7549,
"nodeType": "Block",

@@ -598,7 +598,7 @@ "src": "157:39:94",

"argumentTypes": null,
"id": 7569,
"id": 7546,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7565,
"referencedDeclaration": 7542,
"src": "181:7:94",

@@ -618,9 +618,9 @@ "typeDescriptions": {

],
"id": 7568,
"id": 7545,
"name": "_removePauser",
"nodeType": "Identifier",
"overloadedDeclarations": [
7591
7568
],
"referencedDeclaration": 7591,
"referencedDeclaration": 7568,
"src": "167:13:94",

@@ -632,3 +632,3 @@ "typeDescriptions": {

},
"id": 7570,
"id": 7547,
"isConstant": false,

@@ -647,3 +647,3 @@ "isLValue": false,

},
"id": 7571,
"id": 7548,
"nodeType": "ExpressionStatement",

@@ -655,3 +655,3 @@ "src": "167:22:94"

"documentation": null,
"id": 7573,
"id": 7550,
"implemented": true,

@@ -663,3 +663,3 @@ "kind": "function",

"parameters": {
"id": 7566,
"id": 7543,
"nodeType": "ParameterList",

@@ -669,6 +669,6 @@ "parameters": [

"constant": false,
"id": 7565,
"id": 7542,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 7573,
"scope": 7550,
"src": "133:15:94",

@@ -682,3 +682,3 @@ "stateVariable": false,

"typeName": {
"id": 7564,
"id": 7541,
"name": "address",

@@ -700,3 +700,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 7567,
"id": 7544,
"nodeType": "ParameterList",

@@ -706,3 +706,3 @@ "parameters": [],

},
"scope": 7592,
"scope": 7569,
"src": "111:85:94",

@@ -715,3 +715,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 7578,
"id": 7555,
"nodeType": "Block",

@@ -722,3 +722,3 @@ "src": "251:64:94",

"documentation": null,
"id": 7579,
"id": 7556,
"implemented": true,

@@ -729,10 +729,10 @@ "kind": "function",

"arguments": null,
"id": 7576,
"id": 7553,
"modifierName": {
"argumentTypes": null,
"id": 7575,
"id": 7552,
"name": "onlyPauser",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1463,
"referencedDeclaration": 1442,
"src": "240:10:94",

@@ -751,3 +751,3 @@ "typeDescriptions": {

"parameters": {
"id": 7574,
"id": 7551,
"nodeType": "ParameterList",

@@ -758,3 +758,3 @@ "parameters": [],

"returnParameters": {
"id": 7577,
"id": 7554,
"nodeType": "ParameterList",

@@ -764,3 +764,3 @@ "parameters": [],

},
"scope": 7592,
"scope": 7569,
"src": "202:113:94",

@@ -773,3 +773,3 @@ "stateMutability": "view",

"body": {
"id": 7590,
"id": 7567,
"nodeType": "Block",

@@ -784,7 +784,7 @@ "src": "443:45:94",

"argumentTypes": null,
"id": 7587,
"id": 7564,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7581,
"referencedDeclaration": 7558,
"src": "473:7:94",

@@ -806,14 +806,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7584,
"id": 7561,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13658,
"referencedDeclaration": 13535,
"src": "453:5:94",
"typeDescriptions": {
"typeIdentifier": "t_super$_PauserRoleMock_$7592",
"typeIdentifier": "t_super$_PauserRoleMock_$7569",
"typeString": "contract super PauserRoleMock"
}
},
"id": 7586,
"id": 7563,
"isConstant": false,

@@ -825,3 +825,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 1529,
"referencedDeclaration": 1508,
"src": "453:19:94",

@@ -833,3 +833,3 @@ "typeDescriptions": {

},
"id": 7588,
"id": 7565,
"isConstant": false,

@@ -848,3 +848,3 @@ "isLValue": false,

},
"id": 7589,
"id": 7566,
"nodeType": "ExpressionStatement",

@@ -856,3 +856,3 @@ "src": "453:28:94"

"documentation": null,
"id": 7591,
"id": 7568,
"implemented": true,

@@ -864,3 +864,3 @@ "kind": "function",

"parameters": {
"id": 7582,
"id": 7559,
"nodeType": "ParameterList",

@@ -870,6 +870,6 @@ "parameters": [

"constant": false,
"id": 7581,
"id": 7558,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 7591,
"scope": 7568,
"src": "417:15:94",

@@ -883,3 +883,3 @@ "stateVariable": false,

"typeName": {
"id": 7580,
"id": 7557,
"name": "address",

@@ -901,3 +901,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 7583,
"id": 7560,
"nodeType": "ParameterList",

@@ -907,10 +907,10 @@ "parameters": [],

},
"scope": 7592,
"scope": 7569,
"src": "394:94:94",
"stateMutability": "nonpayable",
"superFunction": 1529,
"superFunction": 1508,
"visibility": "internal"
}
],
"scope": 7593,
"scope": 7570,
"src": "67:423:94"

@@ -927,3 +927,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.765Z",
"updatedAt": "2019-08-16T19:32:31.280Z",
"devdoc": {

@@ -930,0 +930,0 @@ "methods": {}

@@ -44,3 +44,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdrawPayments\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"dest\",\"type\":\"address\"}],\"name\":\"payments\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"details\":\"Base contract supporting async send for pull payments. Inherit from this contract and use {_asyncTransfer} instead of send or transfer.\",\"methods\":{\"payments(address)\":{\"details\":\"Returns the credit owed to an address.\",\"params\":{\"dest\":\"The creditor's address.\"}},\"withdrawPayments(address)\":{\"details\":\"Withdraw accumulated balance.\",\"params\":{\"payee\":\"Whose balance will be withdrawn.\"}}},\"title\":\"PullPayment\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/payment/PullPayment.sol\":\"PullPayment\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/ownership/Secondary.sol\":{\"keccak256\":\"0x30b9cfe5aeb07c96a3346cd27dcdc2f9f19d7f664166f9b71f1e9e50605d1d67\",\"urls\":[\"bzzr://123562fe4fe4f80cf5c4f9f2e4678d9245dba57db4685ef97b395b5c9e0d5cf9\"]},\"/home/frangio/oz/contracts/contracts/payment/PullPayment.sol\":{\"keccak256\":\"0x77cf8ed9103222a4725e1c11bd0c514cd65d04ef3bee3a5974b6924d40d177f7\",\"urls\":[\"bzzr://78eadbdc5e6dddb5dd5fffa99589bdb3cbc6c3323abe06abf19e48d5850e2564\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/Escrow.sol\":{\"keccak256\":\"0xe04fab28efeedfaf2ea9be801549831ac93257e37026665984e358b482ed1049\",\"urls\":[\"bzzr://5a9b9bdec836796a1014e71f0a8d1073308a55e9fdd360df1845a16ee45cd212\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdrawPayments\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"dest\",\"type\":\"address\"}],\"name\":\"payments\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"details\":\"Base contract supporting async send for pull payments. Inherit from this contract and use {_asyncTransfer} instead of send or transfer.\",\"methods\":{\"payments(address)\":{\"details\":\"Returns the credit owed to an address.\",\"params\":{\"dest\":\"The creditor's address.\"}},\"withdrawPayments(address)\":{\"details\":\"Withdraw accumulated balance.\",\"params\":{\"payee\":\"Whose balance will be withdrawn.\"}}},\"title\":\"PullPayment\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/payment/PullPayment.sol\":\"PullPayment\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/ownership/Secondary.sol\":{\"keccak256\":\"0x30b9cfe5aeb07c96a3346cd27dcdc2f9f19d7f664166f9b71f1e9e50605d1d67\",\"urls\":[\"bzzr://123562fe4fe4f80cf5c4f9f2e4678d9245dba57db4685ef97b395b5c9e0d5cf9\"]},\"/home/frangio/oz/contracts/contracts/payment/PullPayment.sol\":{\"keccak256\":\"0x77cf8ed9103222a4725e1c11bd0c514cd65d04ef3bee3a5974b6924d40d177f7\",\"urls\":[\"bzzr://78eadbdc5e6dddb5dd5fffa99589bdb3cbc6c3323abe06abf19e48d5850e2564\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/Escrow.sol\":{\"keccak256\":\"0xe04fab28efeedfaf2ea9be801549831ac93257e37026665984e358b482ed1049\",\"urls\":[\"bzzr://5a9b9bdec836796a1014e71f0a8d1073308a55e9fdd360df1845a16ee45cd212\"]}},\"version\":1}",
"bytecode": "0x",

@@ -56,10 +56,10 @@ "deployedBytecode": "0x",

"PullPayment": [
9228
9105
]
},
"id": 9229,
"id": 9106,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 9171,
"id": 9048,
"literals": [

@@ -72,3 +72,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:116"
"src": "0:23:115"
},

@@ -78,7 +78,7 @@ {

"file": "./escrow/Escrow.sol",
"id": 9172,
"id": 9049,
"nodeType": "ImportDirective",
"scope": 9229,
"sourceUnit": 9359,
"src": "25:29:116",
"scope": 9106,
"sourceUnit": 9236,
"src": "25:29:115",
"symbolAliases": [],

@@ -90,3 +90,3 @@ "unitAlias": ""

"contractDependencies": [
9358
9235
],

@@ -96,5 +96,5 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 9228,
"id": 9105,
"linearizedBaseContracts": [
9228
9105
],

@@ -106,11 +106,11 @@ "name": "PullPayment",

"constant": false,
"id": 9174,
"id": 9051,
"name": "_escrow",
"nodeType": "VariableDeclaration",
"scope": 9228,
"src": "260:22:116",
"scope": 9105,
"src": "260:22:115",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"

@@ -120,9 +120,9 @@ },

"contractScope": null,
"id": 9173,
"id": 9050,
"name": "Escrow",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9358,
"src": "260:6:116",
"referencedDeclaration": 9235,
"src": "260:6:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"

@@ -136,5 +136,5 @@ }

"body": {
"id": 9183,
"id": 9060,
"nodeType": "Block",
"src": "313:39:116",
"src": "313:39:115",
"statements": [

@@ -144,3 +144,3 @@ {

"argumentTypes": null,
"id": 9181,
"id": 9058,
"isConstant": false,

@@ -152,10 +152,10 @@ "isLValue": false,

"argumentTypes": null,
"id": 9177,
"id": 9054,
"name": "_escrow",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9174,
"src": "323:7:116",
"referencedDeclaration": 9051,
"src": "323:7:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"

@@ -171,3 +171,3 @@ }

"argumentTypes": [],
"id": 9179,
"id": 9056,
"isConstant": false,

@@ -178,5 +178,5 @@ "isLValue": false,

"nodeType": "NewExpression",
"src": "333:10:116",
"src": "333:10:115",
"typeDescriptions": {
"typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_Escrow_$9358_$",
"typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_Escrow_$9235_$",
"typeString": "function () returns (contract Escrow)"

@@ -186,9 +186,9 @@ },

"contractScope": null,
"id": 9178,
"id": 9055,
"name": "Escrow",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9358,
"src": "337:6:116",
"referencedDeclaration": 9235,
"src": "337:6:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"

@@ -198,3 +198,3 @@ }

},
"id": 9180,
"id": 9057,
"isConstant": false,

@@ -207,17 +207,17 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "333:12:116",
"src": "333:12:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"
}
},
"src": "323:22:116",
"src": "323:22:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"
}
},
"id": 9182,
"id": 9059,
"nodeType": "ExpressionStatement",
"src": "323:22:116"
"src": "323:22:115"
}

@@ -227,3 +227,3 @@ ]

"documentation": null,
"id": 9184,
"id": 9061,
"implemented": true,

@@ -235,15 +235,15 @@ "kind": "constructor",

"parameters": {
"id": 9175,
"id": 9052,
"nodeType": "ParameterList",
"parameters": [],
"src": "301:2:116"
"src": "301:2:115"
},
"returnParameters": {
"id": 9176,
"id": 9053,
"nodeType": "ParameterList",
"parameters": [],
"src": "313:0:116"
"src": "313:0:115"
},
"scope": 9228,
"src": "289:63:116",
"scope": 9105,
"src": "289:63:115",
"stateMutability": "nonpayable",

@@ -255,5 +255,5 @@ "superFunction": null,

"body": {
"id": 9195,
"id": 9072,
"nodeType": "Block",
"src": "525:40:116",
"src": "525:40:115",
"statements": [

@@ -266,8 +266,8 @@ {

"argumentTypes": null,
"id": 9192,
"id": 9069,
"name": "payee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9186,
"src": "552:5:116",
"referencedDeclaration": 9063,
"src": "552:5:115",
"typeDescriptions": {

@@ -288,14 +288,14 @@ "typeIdentifier": "t_address_payable",

"argumentTypes": null,
"id": 9189,
"id": 9066,
"name": "_escrow",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9174,
"src": "535:7:116",
"referencedDeclaration": 9051,
"src": "535:7:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"
}
},
"id": 9191,
"id": 9068,
"isConstant": false,

@@ -307,4 +307,4 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 9357,
"src": "535:16:116",
"referencedDeclaration": 9234,
"src": "535:16:115",
"typeDescriptions": {

@@ -315,3 +315,3 @@ "typeIdentifier": "t_function_external_nonpayable$_t_address_payable_$returns$__$",

},
"id": 9193,
"id": 9070,
"isConstant": false,

@@ -324,3 +324,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "535:23:116",
"src": "535:23:115",
"typeDescriptions": {

@@ -331,5 +331,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 9194,
"id": 9071,
"nodeType": "ExpressionStatement",
"src": "535:23:116"
"src": "535:23:115"
}

@@ -339,3 +339,3 @@ ]

"documentation": "@dev Withdraw accumulated balance.\n@param payee Whose balance will be withdrawn.",
"id": 9196,
"id": 9073,
"implemented": true,

@@ -347,3 +347,3 @@ "kind": "function",

"parameters": {
"id": 9187,
"id": 9064,
"nodeType": "ParameterList",

@@ -353,7 +353,7 @@ "parameters": [

"constant": false,
"id": 9186,
"id": 9063,
"name": "payee",
"nodeType": "VariableDeclaration",
"scope": 9196,
"src": "495:21:116",
"scope": 9073,
"src": "495:21:115",
"stateVariable": false,

@@ -366,6 +366,6 @@ "storageLocation": "default",

"typeName": {
"id": 9185,
"id": 9062,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "495:15:116",
"src": "495:15:115",
"stateMutability": "payable",

@@ -381,12 +381,12 @@ "typeDescriptions": {

],
"src": "494:23:116"
"src": "494:23:115"
},
"returnParameters": {
"id": 9188,
"id": 9065,
"nodeType": "ParameterList",
"parameters": [],
"src": "525:0:116"
"src": "525:0:115"
},
"scope": 9228,
"src": "469:96:116",
"scope": 9105,
"src": "469:96:115",
"stateMutability": "nonpayable",

@@ -398,5 +398,5 @@ "superFunction": null,

"body": {
"id": 9208,
"id": 9085,
"nodeType": "Block",
"src": "743:48:116",
"src": "743:48:115",
"statements": [

@@ -409,8 +409,8 @@ {

"argumentTypes": null,
"id": 9205,
"id": 9082,
"name": "dest",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9198,
"src": "779:4:116",
"referencedDeclaration": 9075,
"src": "779:4:115",
"typeDescriptions": {

@@ -431,14 +431,14 @@ "typeIdentifier": "t_address",

"argumentTypes": null,
"id": 9203,
"id": 9080,
"name": "_escrow",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9174,
"src": "760:7:116",
"referencedDeclaration": 9051,
"src": "760:7:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"
}
},
"id": 9204,
"id": 9081,
"isConstant": false,

@@ -450,4 +450,4 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 9297,
"src": "760:18:116",
"referencedDeclaration": 9174,
"src": "760:18:115",
"typeDescriptions": {

@@ -458,3 +458,3 @@ "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",

},
"id": 9206,
"id": 9083,
"isConstant": false,

@@ -467,3 +467,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "760:24:116",
"src": "760:24:115",
"typeDescriptions": {

@@ -474,6 +474,6 @@ "typeIdentifier": "t_uint256",

},
"functionReturnParameters": 9202,
"id": 9207,
"functionReturnParameters": 9079,
"id": 9084,
"nodeType": "Return",
"src": "753:31:116"
"src": "753:31:115"
}

@@ -483,3 +483,3 @@ ]

"documentation": "@dev Returns the credit owed to an address.\n@param dest The creditor's address.",
"id": 9209,
"id": 9086,
"implemented": true,

@@ -491,3 +491,3 @@ "kind": "function",

"parameters": {
"id": 9199,
"id": 9076,
"nodeType": "ParameterList",

@@ -497,7 +497,7 @@ "parameters": [

"constant": false,
"id": 9198,
"id": 9075,
"name": "dest",
"nodeType": "VariableDeclaration",
"scope": 9209,
"src": "699:12:116",
"scope": 9086,
"src": "699:12:115",
"stateVariable": false,

@@ -510,6 +510,6 @@ "storageLocation": "default",

"typeName": {
"id": 9197,
"id": 9074,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "699:7:116",
"src": "699:7:115",
"stateMutability": "nonpayable",

@@ -525,6 +525,6 @@ "typeDescriptions": {

],
"src": "698:14:116"
"src": "698:14:115"
},
"returnParameters": {
"id": 9202,
"id": 9079,
"nodeType": "ParameterList",

@@ -534,7 +534,7 @@ "parameters": [

"constant": false,
"id": 9201,
"id": 9078,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 9209,
"src": "734:7:116",
"scope": 9086,
"src": "734:7:115",
"stateVariable": false,

@@ -547,6 +547,6 @@ "storageLocation": "default",

"typeName": {
"id": 9200,
"id": 9077,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "734:7:116",
"src": "734:7:115",
"typeDescriptions": {

@@ -561,6 +561,6 @@ "typeIdentifier": "t_uint256",

],
"src": "733:9:116"
"src": "733:9:115"
},
"scope": 9228,
"src": "681:110:116",
"scope": 9105,
"src": "681:110:115",
"stateMutability": "view",

@@ -572,5 +572,5 @@ "superFunction": null,

"body": {
"id": 9226,
"id": 9103,
"nodeType": "Block",
"src": "1059:52:116",
"src": "1059:52:115",
"statements": [

@@ -583,8 +583,8 @@ {

"argumentTypes": null,
"id": 9223,
"id": 9100,
"name": "dest",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9211,
"src": "1099:4:116",
"referencedDeclaration": 9088,
"src": "1099:4:115",
"typeDescriptions": {

@@ -606,8 +606,8 @@ "typeIdentifier": "t_address",

"argumentTypes": null,
"id": 9221,
"id": 9098,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9213,
"src": "1091:6:116",
"referencedDeclaration": 9090,
"src": "1091:6:115",
"typeDescriptions": {

@@ -630,14 +630,14 @@ "typeIdentifier": "t_uint256",

"argumentTypes": null,
"id": 9216,
"id": 9093,
"name": "_escrow",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9174,
"src": "1069:7:116",
"referencedDeclaration": 9051,
"src": "1069:7:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"
}
},
"id": 9219,
"id": 9096,
"isConstant": false,

@@ -649,4 +649,4 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 9326,
"src": "1069:15:116",
"referencedDeclaration": 9203,
"src": "1069:15:115",
"typeDescriptions": {

@@ -657,3 +657,3 @@ "typeIdentifier": "t_function_external_payable$_t_address_$returns$__$",

},
"id": 9220,
"id": 9097,
"isConstant": false,

@@ -666,3 +666,3 @@ "isLValue": false,

"referencedDeclaration": null,
"src": "1069:21:116",
"src": "1069:21:115",
"typeDescriptions": {

@@ -673,3 +673,3 @@ "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$returns$__$value_$",

},
"id": 9222,
"id": 9099,
"isConstant": false,

@@ -682,3 +682,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "1069:29:116",
"src": "1069:29:115",
"typeDescriptions": {

@@ -689,3 +689,3 @@ "typeIdentifier": "t_function_external_payable$_t_address_$returns$__$value",

},
"id": 9224,
"id": 9101,
"isConstant": false,

@@ -698,3 +698,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "1069:35:116",
"src": "1069:35:115",
"typeDescriptions": {

@@ -705,5 +705,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 9225,
"id": 9102,
"nodeType": "ExpressionStatement",
"src": "1069:35:116"
"src": "1069:35:115"
}

@@ -713,3 +713,3 @@ ]

"documentation": "@dev Called by the payer to store the sent amount as credit to be pulled.\n@param dest The destination address of the funds.\n@param amount The amount to transfer.",
"id": 9227,
"id": 9104,
"implemented": true,

@@ -721,3 +721,3 @@ "kind": "function",

"parameters": {
"id": 9214,
"id": 9091,
"nodeType": "ParameterList",

@@ -727,7 +727,7 @@ "parameters": [

"constant": false,
"id": 9211,
"id": 9088,
"name": "dest",
"nodeType": "VariableDeclaration",
"scope": 9227,
"src": "1020:12:116",
"scope": 9104,
"src": "1020:12:115",
"stateVariable": false,

@@ -740,6 +740,6 @@ "storageLocation": "default",

"typeName": {
"id": 9210,
"id": 9087,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1020:7:116",
"src": "1020:7:115",
"stateMutability": "nonpayable",

@@ -756,7 +756,7 @@ "typeDescriptions": {

"constant": false,
"id": 9213,
"id": 9090,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 9227,
"src": "1034:14:116",
"scope": 9104,
"src": "1034:14:115",
"stateVariable": false,

@@ -769,6 +769,6 @@ "storageLocation": "default",

"typeName": {
"id": 9212,
"id": 9089,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1034:7:116",
"src": "1034:7:115",
"typeDescriptions": {

@@ -783,12 +783,12 @@ "typeIdentifier": "t_uint256",

],
"src": "1019:30:116"
"src": "1019:30:115"
},
"returnParameters": {
"id": 9215,
"id": 9092,
"nodeType": "ParameterList",
"parameters": [],
"src": "1059:0:116"
"src": "1059:0:115"
},
"scope": 9228,
"src": "996:115:116",
"scope": 9105,
"src": "996:115:115",
"stateMutability": "nonpayable",

@@ -799,7 +799,7 @@ "superFunction": null,

],
"scope": 9229,
"src": "233:880:116"
"scope": 9106,
"src": "233:880:115"
}
],
"src": "0:1114:116"
"src": "0:1114:115"
},

@@ -810,10 +810,10 @@ "legacyAST": {

"PullPayment": [
9228
9105
]
},
"id": 9229,
"id": 9106,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 9171,
"id": 9048,
"literals": [

@@ -826,3 +826,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:116"
"src": "0:23:115"
},

@@ -832,7 +832,7 @@ {

"file": "./escrow/Escrow.sol",
"id": 9172,
"id": 9049,
"nodeType": "ImportDirective",
"scope": 9229,
"sourceUnit": 9359,
"src": "25:29:116",
"scope": 9106,
"sourceUnit": 9236,
"src": "25:29:115",
"symbolAliases": [],

@@ -844,3 +844,3 @@ "unitAlias": ""

"contractDependencies": [
9358
9235
],

@@ -850,5 +850,5 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 9228,
"id": 9105,
"linearizedBaseContracts": [
9228
9105
],

@@ -860,11 +860,11 @@ "name": "PullPayment",

"constant": false,
"id": 9174,
"id": 9051,
"name": "_escrow",
"nodeType": "VariableDeclaration",
"scope": 9228,
"src": "260:22:116",
"scope": 9105,
"src": "260:22:115",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"

@@ -874,9 +874,9 @@ },

"contractScope": null,
"id": 9173,
"id": 9050,
"name": "Escrow",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9358,
"src": "260:6:116",
"referencedDeclaration": 9235,
"src": "260:6:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"

@@ -890,5 +890,5 @@ }

"body": {
"id": 9183,
"id": 9060,
"nodeType": "Block",
"src": "313:39:116",
"src": "313:39:115",
"statements": [

@@ -898,3 +898,3 @@ {

"argumentTypes": null,
"id": 9181,
"id": 9058,
"isConstant": false,

@@ -906,10 +906,10 @@ "isLValue": false,

"argumentTypes": null,
"id": 9177,
"id": 9054,
"name": "_escrow",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9174,
"src": "323:7:116",
"referencedDeclaration": 9051,
"src": "323:7:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"

@@ -925,3 +925,3 @@ }

"argumentTypes": [],
"id": 9179,
"id": 9056,
"isConstant": false,

@@ -932,5 +932,5 @@ "isLValue": false,

"nodeType": "NewExpression",
"src": "333:10:116",
"src": "333:10:115",
"typeDescriptions": {
"typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_Escrow_$9358_$",
"typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_Escrow_$9235_$",
"typeString": "function () returns (contract Escrow)"

@@ -940,9 +940,9 @@ },

"contractScope": null,
"id": 9178,
"id": 9055,
"name": "Escrow",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9358,
"src": "337:6:116",
"referencedDeclaration": 9235,
"src": "337:6:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"

@@ -952,3 +952,3 @@ }

},
"id": 9180,
"id": 9057,
"isConstant": false,

@@ -961,17 +961,17 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "333:12:116",
"src": "333:12:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"
}
},
"src": "323:22:116",
"src": "323:22:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"
}
},
"id": 9182,
"id": 9059,
"nodeType": "ExpressionStatement",
"src": "323:22:116"
"src": "323:22:115"
}

@@ -981,3 +981,3 @@ ]

"documentation": null,
"id": 9184,
"id": 9061,
"implemented": true,

@@ -989,15 +989,15 @@ "kind": "constructor",

"parameters": {
"id": 9175,
"id": 9052,
"nodeType": "ParameterList",
"parameters": [],
"src": "301:2:116"
"src": "301:2:115"
},
"returnParameters": {
"id": 9176,
"id": 9053,
"nodeType": "ParameterList",
"parameters": [],
"src": "313:0:116"
"src": "313:0:115"
},
"scope": 9228,
"src": "289:63:116",
"scope": 9105,
"src": "289:63:115",
"stateMutability": "nonpayable",

@@ -1009,5 +1009,5 @@ "superFunction": null,

"body": {
"id": 9195,
"id": 9072,
"nodeType": "Block",
"src": "525:40:116",
"src": "525:40:115",
"statements": [

@@ -1020,8 +1020,8 @@ {

"argumentTypes": null,
"id": 9192,
"id": 9069,
"name": "payee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9186,
"src": "552:5:116",
"referencedDeclaration": 9063,
"src": "552:5:115",
"typeDescriptions": {

@@ -1042,14 +1042,14 @@ "typeIdentifier": "t_address_payable",

"argumentTypes": null,
"id": 9189,
"id": 9066,
"name": "_escrow",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9174,
"src": "535:7:116",
"referencedDeclaration": 9051,
"src": "535:7:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"
}
},
"id": 9191,
"id": 9068,
"isConstant": false,

@@ -1061,4 +1061,4 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 9357,
"src": "535:16:116",
"referencedDeclaration": 9234,
"src": "535:16:115",
"typeDescriptions": {

@@ -1069,3 +1069,3 @@ "typeIdentifier": "t_function_external_nonpayable$_t_address_payable_$returns$__$",

},
"id": 9193,
"id": 9070,
"isConstant": false,

@@ -1078,3 +1078,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "535:23:116",
"src": "535:23:115",
"typeDescriptions": {

@@ -1085,5 +1085,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 9194,
"id": 9071,
"nodeType": "ExpressionStatement",
"src": "535:23:116"
"src": "535:23:115"
}

@@ -1093,3 +1093,3 @@ ]

"documentation": "@dev Withdraw accumulated balance.\n@param payee Whose balance will be withdrawn.",
"id": 9196,
"id": 9073,
"implemented": true,

@@ -1101,3 +1101,3 @@ "kind": "function",

"parameters": {
"id": 9187,
"id": 9064,
"nodeType": "ParameterList",

@@ -1107,7 +1107,7 @@ "parameters": [

"constant": false,
"id": 9186,
"id": 9063,
"name": "payee",
"nodeType": "VariableDeclaration",
"scope": 9196,
"src": "495:21:116",
"scope": 9073,
"src": "495:21:115",
"stateVariable": false,

@@ -1120,6 +1120,6 @@ "storageLocation": "default",

"typeName": {
"id": 9185,
"id": 9062,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "495:15:116",
"src": "495:15:115",
"stateMutability": "payable",

@@ -1135,12 +1135,12 @@ "typeDescriptions": {

],
"src": "494:23:116"
"src": "494:23:115"
},
"returnParameters": {
"id": 9188,
"id": 9065,
"nodeType": "ParameterList",
"parameters": [],
"src": "525:0:116"
"src": "525:0:115"
},
"scope": 9228,
"src": "469:96:116",
"scope": 9105,
"src": "469:96:115",
"stateMutability": "nonpayable",

@@ -1152,5 +1152,5 @@ "superFunction": null,

"body": {
"id": 9208,
"id": 9085,
"nodeType": "Block",
"src": "743:48:116",
"src": "743:48:115",
"statements": [

@@ -1163,8 +1163,8 @@ {

"argumentTypes": null,
"id": 9205,
"id": 9082,
"name": "dest",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9198,
"src": "779:4:116",
"referencedDeclaration": 9075,
"src": "779:4:115",
"typeDescriptions": {

@@ -1185,14 +1185,14 @@ "typeIdentifier": "t_address",

"argumentTypes": null,
"id": 9203,
"id": 9080,
"name": "_escrow",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9174,
"src": "760:7:116",
"referencedDeclaration": 9051,
"src": "760:7:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"
}
},
"id": 9204,
"id": 9081,
"isConstant": false,

@@ -1204,4 +1204,4 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 9297,
"src": "760:18:116",
"referencedDeclaration": 9174,
"src": "760:18:115",
"typeDescriptions": {

@@ -1212,3 +1212,3 @@ "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",

},
"id": 9206,
"id": 9083,
"isConstant": false,

@@ -1221,3 +1221,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "760:24:116",
"src": "760:24:115",
"typeDescriptions": {

@@ -1228,6 +1228,6 @@ "typeIdentifier": "t_uint256",

},
"functionReturnParameters": 9202,
"id": 9207,
"functionReturnParameters": 9079,
"id": 9084,
"nodeType": "Return",
"src": "753:31:116"
"src": "753:31:115"
}

@@ -1237,3 +1237,3 @@ ]

"documentation": "@dev Returns the credit owed to an address.\n@param dest The creditor's address.",
"id": 9209,
"id": 9086,
"implemented": true,

@@ -1245,3 +1245,3 @@ "kind": "function",

"parameters": {
"id": 9199,
"id": 9076,
"nodeType": "ParameterList",

@@ -1251,7 +1251,7 @@ "parameters": [

"constant": false,
"id": 9198,
"id": 9075,
"name": "dest",
"nodeType": "VariableDeclaration",
"scope": 9209,
"src": "699:12:116",
"scope": 9086,
"src": "699:12:115",
"stateVariable": false,

@@ -1264,6 +1264,6 @@ "storageLocation": "default",

"typeName": {
"id": 9197,
"id": 9074,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "699:7:116",
"src": "699:7:115",
"stateMutability": "nonpayable",

@@ -1279,6 +1279,6 @@ "typeDescriptions": {

],
"src": "698:14:116"
"src": "698:14:115"
},
"returnParameters": {
"id": 9202,
"id": 9079,
"nodeType": "ParameterList",

@@ -1288,7 +1288,7 @@ "parameters": [

"constant": false,
"id": 9201,
"id": 9078,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 9209,
"src": "734:7:116",
"scope": 9086,
"src": "734:7:115",
"stateVariable": false,

@@ -1301,6 +1301,6 @@ "storageLocation": "default",

"typeName": {
"id": 9200,
"id": 9077,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "734:7:116",
"src": "734:7:115",
"typeDescriptions": {

@@ -1315,6 +1315,6 @@ "typeIdentifier": "t_uint256",

],
"src": "733:9:116"
"src": "733:9:115"
},
"scope": 9228,
"src": "681:110:116",
"scope": 9105,
"src": "681:110:115",
"stateMutability": "view",

@@ -1326,5 +1326,5 @@ "superFunction": null,

"body": {
"id": 9226,
"id": 9103,
"nodeType": "Block",
"src": "1059:52:116",
"src": "1059:52:115",
"statements": [

@@ -1337,8 +1337,8 @@ {

"argumentTypes": null,
"id": 9223,
"id": 9100,
"name": "dest",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9211,
"src": "1099:4:116",
"referencedDeclaration": 9088,
"src": "1099:4:115",
"typeDescriptions": {

@@ -1360,8 +1360,8 @@ "typeIdentifier": "t_address",

"argumentTypes": null,
"id": 9221,
"id": 9098,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9213,
"src": "1091:6:116",
"referencedDeclaration": 9090,
"src": "1091:6:115",
"typeDescriptions": {

@@ -1384,14 +1384,14 @@ "typeIdentifier": "t_uint256",

"argumentTypes": null,
"id": 9216,
"id": 9093,
"name": "_escrow",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9174,
"src": "1069:7:116",
"referencedDeclaration": 9051,
"src": "1069:7:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9358",
"typeIdentifier": "t_contract$_Escrow_$9235",
"typeString": "contract Escrow"
}
},
"id": 9219,
"id": 9096,
"isConstant": false,

@@ -1403,4 +1403,4 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 9326,
"src": "1069:15:116",
"referencedDeclaration": 9203,
"src": "1069:15:115",
"typeDescriptions": {

@@ -1411,3 +1411,3 @@ "typeIdentifier": "t_function_external_payable$_t_address_$returns$__$",

},
"id": 9220,
"id": 9097,
"isConstant": false,

@@ -1420,3 +1420,3 @@ "isLValue": false,

"referencedDeclaration": null,
"src": "1069:21:116",
"src": "1069:21:115",
"typeDescriptions": {

@@ -1427,3 +1427,3 @@ "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$returns$__$value_$",

},
"id": 9222,
"id": 9099,
"isConstant": false,

@@ -1436,3 +1436,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "1069:29:116",
"src": "1069:29:115",
"typeDescriptions": {

@@ -1443,3 +1443,3 @@ "typeIdentifier": "t_function_external_payable$_t_address_$returns$__$value",

},
"id": 9224,
"id": 9101,
"isConstant": false,

@@ -1452,3 +1452,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "1069:35:116",
"src": "1069:35:115",
"typeDescriptions": {

@@ -1459,5 +1459,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 9225,
"id": 9102,
"nodeType": "ExpressionStatement",
"src": "1069:35:116"
"src": "1069:35:115"
}

@@ -1467,3 +1467,3 @@ ]

"documentation": "@dev Called by the payer to store the sent amount as credit to be pulled.\n@param dest The destination address of the funds.\n@param amount The amount to transfer.",
"id": 9227,
"id": 9104,
"implemented": true,

@@ -1475,3 +1475,3 @@ "kind": "function",

"parameters": {
"id": 9214,
"id": 9091,
"nodeType": "ParameterList",

@@ -1481,7 +1481,7 @@ "parameters": [

"constant": false,
"id": 9211,
"id": 9088,
"name": "dest",
"nodeType": "VariableDeclaration",
"scope": 9227,
"src": "1020:12:116",
"scope": 9104,
"src": "1020:12:115",
"stateVariable": false,

@@ -1494,6 +1494,6 @@ "storageLocation": "default",

"typeName": {
"id": 9210,
"id": 9087,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1020:7:116",
"src": "1020:7:115",
"stateMutability": "nonpayable",

@@ -1510,7 +1510,7 @@ "typeDescriptions": {

"constant": false,
"id": 9213,
"id": 9090,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 9227,
"src": "1034:14:116",
"scope": 9104,
"src": "1034:14:115",
"stateVariable": false,

@@ -1523,6 +1523,6 @@ "storageLocation": "default",

"typeName": {
"id": 9212,
"id": 9089,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1034:7:116",
"src": "1034:7:115",
"typeDescriptions": {

@@ -1537,12 +1537,12 @@ "typeIdentifier": "t_uint256",

],
"src": "1019:30:116"
"src": "1019:30:115"
},
"returnParameters": {
"id": 9215,
"id": 9092,
"nodeType": "ParameterList",
"parameters": [],
"src": "1059:0:116"
"src": "1059:0:115"
},
"scope": 9228,
"src": "996:115:116",
"scope": 9105,
"src": "996:115:115",
"stateMutability": "nonpayable",

@@ -1553,7 +1553,7 @@ "superFunction": null,

],
"scope": 9229,
"src": "233:880:116"
"scope": 9106,
"src": "233:880:115"
}
],
"src": "0:1114:116"
"src": "0:1114:115"
},

@@ -1566,3 +1566,3 @@ "compiler": {

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.804Z",
"updatedAt": "2019-08-16T19:32:31.317Z",
"devdoc": {

@@ -1569,0 +1569,0 @@ "details": "Base contract supporting async send for pull payments. Inherit from this contract and use {_asyncTransfer} instead of send or transfer.",

@@ -62,7 +62,7 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdrawPayments\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"dest\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"callTransfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"dest\",\"type\":\"address\"}],\"name\":\"payments\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{\"payments(address)\":{\"details\":\"Returns the credit owed to an address.\",\"params\":{\"dest\":\"The creditor's address.\"}},\"withdrawPayments(address)\":{\"details\":\"Withdraw accumulated balance.\",\"params\":{\"payee\":\"Whose balance will be withdrawn.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/PullPaymentMock.sol\":\"PullPaymentMock\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/mocks/PullPaymentMock.sol\":{\"keccak256\":\"0x9a1b198d58858ec367c0c871ac5af8848462f1049c547e07f8043e3c0f4c2ce6\",\"urls\":[\"bzzr://0b2f8e6a111b82b69fb73ecb91595657c09dcc143fd09892a6aafd1f70a747f8\"]},\"/home/frangio/oz/contracts/contracts/ownership/Secondary.sol\":{\"keccak256\":\"0x30b9cfe5aeb07c96a3346cd27dcdc2f9f19d7f664166f9b71f1e9e50605d1d67\",\"urls\":[\"bzzr://123562fe4fe4f80cf5c4f9f2e4678d9245dba57db4685ef97b395b5c9e0d5cf9\"]},\"/home/frangio/oz/contracts/contracts/payment/PullPayment.sol\":{\"keccak256\":\"0x77cf8ed9103222a4725e1c11bd0c514cd65d04ef3bee3a5974b6924d40d177f7\",\"urls\":[\"bzzr://78eadbdc5e6dddb5dd5fffa99589bdb3cbc6c3323abe06abf19e48d5850e2564\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/Escrow.sol\":{\"keccak256\":\"0xe04fab28efeedfaf2ea9be801549831ac93257e37026665984e358b482ed1049\",\"urls\":[\"bzzr://5a9b9bdec836796a1014e71f0a8d1073308a55e9fdd360df1845a16ee45cd212\"]}},\"version\":1}",
"bytecode": "0x608060405260405161001090610071565b604051809103906000f08015801561002c573d6000803e3d6000fd5b506000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061007e565b6109c58061045183390190565b6103c48061008d6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806331b3eb9414610046578063d44409911461008a578063e2982c21146100d8575b600080fd5b6100886004803603602081101561005c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610130565b005b6100d6600480360360408110156100a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101eb565b005b61011a600480360360208110156100ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101f9565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166351cff8d9826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156101d057600080fd5b505af11580156101e4573d6000803e3d6000fd5b5050505050565b6101f582826102db565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3a9db1a836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561029957600080fd5b505afa1580156102ad573d6000803e3d6000fd5b505050506040513d60208110156102c357600080fd5b81019080805190602001909291905050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f340fa0182846040518363ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506000604051808303818588803b15801561037b57600080fd5b505af115801561038f573d6000803e3d6000fd5b5050505050505056fea165627a7a723058203f5592c4d9e2f0904feacc4e543b3356ff23d0b2d45baecc386d5c87fa09d8e5002960806040526100126100da60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4101e71e974f68df5e9730cc223280b41654676bbb052cdcc735c3337e64d2d96000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a16100e2565b600033905090565b6108d4806100f16000396000f3fe60806040526004361061004a5760003560e01c80632348238c1461004f57806351cff8d9146100a0578063c6dbdf61146100f1578063e3a9db1a14610148578063f340fa01146101ad575b600080fd5b34801561005b57600080fd5b5061009e6004803603602081101561007257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101f1565b005b3480156100ac57600080fd5b506100ef600480360360208110156100c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103ea565b005b3480156100fd57600080fd5b506101066105b8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561015457600080fd5b506101976004803603602081101561016b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105e1565b6040518082815260200191505060405180910390f35b6101ef600480360360208110156101c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061062a565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166102316107c2565b73ffffffffffffffffffffffffffffffffffffffff161461029d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061087d602c913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610853602a913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4101e71e974f68df5e9730cc223280b41654676bbb052cdcc735c3337e64d2d96000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661042a6107c2565b73ffffffffffffffffffffffffffffffffffffffff1614610496576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061087d602c913960400191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610565573d6000803e3d6000fd5b508173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040518082815260200191505060405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661066a6107c2565b73ffffffffffffffffffffffffffffffffffffffff16146106d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061087d602c913960400191505060405180910390fd5b600034905061072d81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107ca90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4826040518082815260200191505060405180910390a25050565b600033905090565b600080828401905083811015610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe5365636f6e646172793a206e6577207072696d61727920697320746865207a65726f20616464726573735365636f6e646172793a2063616c6c6572206973206e6f7420746865207072696d617279206163636f756e74a165627a7a723058202626365cf4eed14decb7e4653491a773aabdd5586d5b8c578478985bc2bf26f10029",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806331b3eb9414610046578063d44409911461008a578063e2982c21146100d8575b600080fd5b6100886004803603602081101561005c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610130565b005b6100d6600480360360408110156100a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101eb565b005b61011a600480360360208110156100ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101f9565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166351cff8d9826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156101d057600080fd5b505af11580156101e4573d6000803e3d6000fd5b5050505050565b6101f582826102db565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3a9db1a836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561029957600080fd5b505afa1580156102ad573d6000803e3d6000fd5b505050506040513d60208110156102c357600080fd5b81019080805190602001909291905050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f340fa0182846040518363ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506000604051808303818588803b15801561037b57600080fd5b505af115801561038f573d6000803e3d6000fd5b5050505050505056fea165627a7a723058203f5592c4d9e2f0904feacc4e543b3356ff23d0b2d45baecc386d5c87fa09d8e50029",
"sourceMap": "95:302:96:-;;;333:12:116;;;;;:::i;:::-;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;333:12:116;323:7;;:22;;;;;;;;;;;;;;;;;;95:302:96;;;;;;;;;;:::o;:::-;;;;;;;",
"deployedSourceMap": "95:302:96:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;95:302:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;469:96:116;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;469:96:116;;;;;;;;;;;;;;;;;;;:::i;:::-;;291:104:96;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;291:104:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;681:110:116;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;681:110:116;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;469:96;535:7;;;;;;;;;;;:16;;;552:5;535:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;535:23:116;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;535:23:116;;;;469:96;:::o;291:104:96:-;360:28;375:4;381:6;360:14;:28::i;:::-;291:104;;:::o;681:110:116:-;734:7;760;;;;;;;;;;;:18;;;779:4;760:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;760:24:116;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;760:24:116;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;760:24:116;;;;;;;;;;;;;;;;753:31;;681:110;;;:::o;996:115::-;1069:7;;;;;;;;;;;:15;;;1091:6;1099:4;1069:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1069:35:116;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1069:35:116;;;;;996:115;;:::o",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdrawPayments\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"dest\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"callTransfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"dest\",\"type\":\"address\"}],\"name\":\"payments\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{\"payments(address)\":{\"details\":\"Returns the credit owed to an address.\",\"params\":{\"dest\":\"The creditor's address.\"}},\"withdrawPayments(address)\":{\"details\":\"Withdraw accumulated balance.\",\"params\":{\"payee\":\"Whose balance will be withdrawn.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/mocks/PullPaymentMock.sol\":\"PullPaymentMock\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/mocks/PullPaymentMock.sol\":{\"keccak256\":\"0x9a1b198d58858ec367c0c871ac5af8848462f1049c547e07f8043e3c0f4c2ce6\",\"urls\":[\"bzzr://0b2f8e6a111b82b69fb73ecb91595657c09dcc143fd09892a6aafd1f70a747f8\"]},\"/home/frangio/oz/contracts/contracts/ownership/Secondary.sol\":{\"keccak256\":\"0x30b9cfe5aeb07c96a3346cd27dcdc2f9f19d7f664166f9b71f1e9e50605d1d67\",\"urls\":[\"bzzr://123562fe4fe4f80cf5c4f9f2e4678d9245dba57db4685ef97b395b5c9e0d5cf9\"]},\"/home/frangio/oz/contracts/contracts/payment/PullPayment.sol\":{\"keccak256\":\"0x77cf8ed9103222a4725e1c11bd0c514cd65d04ef3bee3a5974b6924d40d177f7\",\"urls\":[\"bzzr://78eadbdc5e6dddb5dd5fffa99589bdb3cbc6c3323abe06abf19e48d5850e2564\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/Escrow.sol\":{\"keccak256\":\"0xe04fab28efeedfaf2ea9be801549831ac93257e37026665984e358b482ed1049\",\"urls\":[\"bzzr://5a9b9bdec836796a1014e71f0a8d1073308a55e9fdd360df1845a16ee45cd212\"]}},\"version\":1}",
"bytecode": "0x608060405260405161001090610071565b604051809103906000f08015801561002c573d6000803e3d6000fd5b506000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061007e565b6109c58061045183390190565b6103c48061008d6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806331b3eb9414610046578063d44409911461008a578063e2982c21146100d8575b600080fd5b6100886004803603602081101561005c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610130565b005b6100d6600480360360408110156100a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101eb565b005b61011a600480360360208110156100ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101f9565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166351cff8d9826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156101d057600080fd5b505af11580156101e4573d6000803e3d6000fd5b5050505050565b6101f582826102db565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3a9db1a836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561029957600080fd5b505afa1580156102ad573d6000803e3d6000fd5b505050506040513d60208110156102c357600080fd5b81019080805190602001909291905050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f340fa0182846040518363ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506000604051808303818588803b15801561037b57600080fd5b505af115801561038f573d6000803e3d6000fd5b5050505050505056fea165627a7a723058204a416800447e61b5ff9865d3746e9305cd62abcc3fb999584199325ba76fc4aa002960806040526100126100da60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4101e71e974f68df5e9730cc223280b41654676bbb052cdcc735c3337e64d2d96000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a16100e2565b600033905090565b6108d4806100f16000396000f3fe60806040526004361061004a5760003560e01c80632348238c1461004f57806351cff8d9146100a0578063c6dbdf61146100f1578063e3a9db1a14610148578063f340fa01146101ad575b600080fd5b34801561005b57600080fd5b5061009e6004803603602081101561007257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101f1565b005b3480156100ac57600080fd5b506100ef600480360360208110156100c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103ea565b005b3480156100fd57600080fd5b506101066105b8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561015457600080fd5b506101976004803603602081101561016b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105e1565b6040518082815260200191505060405180910390f35b6101ef600480360360208110156101c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061062a565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166102316107c2565b73ffffffffffffffffffffffffffffffffffffffff161461029d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061087d602c913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610853602a913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4101e71e974f68df5e9730cc223280b41654676bbb052cdcc735c3337e64d2d96000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661042a6107c2565b73ffffffffffffffffffffffffffffffffffffffff1614610496576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061087d602c913960400191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610565573d6000803e3d6000fd5b508173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040518082815260200191505060405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661066a6107c2565b73ffffffffffffffffffffffffffffffffffffffff16146106d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061087d602c913960400191505060405180910390fd5b600034905061072d81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107ca90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4826040518082815260200191505060405180910390a25050565b600033905090565b600080828401905083811015610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe5365636f6e646172793a206e6577207072696d61727920697320746865207a65726f20616464726573735365636f6e646172793a2063616c6c6572206973206e6f7420746865207072696d617279206163636f756e74a165627a7a723058201e32e26eb9276fbd573ec5450363ce5e1426b2f661fa7e15535af335ab06cab50029",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806331b3eb9414610046578063d44409911461008a578063e2982c21146100d8575b600080fd5b6100886004803603602081101561005c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610130565b005b6100d6600480360360408110156100a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101eb565b005b61011a600480360360208110156100ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101f9565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166351cff8d9826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156101d057600080fd5b505af11580156101e4573d6000803e3d6000fd5b5050505050565b6101f582826102db565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3a9db1a836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561029957600080fd5b505afa1580156102ad573d6000803e3d6000fd5b505050506040513d60208110156102c357600080fd5b81019080805190602001909291905050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f340fa0182846040518363ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506000604051808303818588803b15801561037b57600080fd5b505af115801561038f573d6000803e3d6000fd5b5050505050505056fea165627a7a723058204a416800447e61b5ff9865d3746e9305cd62abcc3fb999584199325ba76fc4aa0029",
"sourceMap": "95:302:96:-;;;333:12:115;;;;;:::i;:::-;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;333:12:115;323:7;;:22;;;;;;;;;;;;;;;;;;95:302:96;;;;;;;;;;:::o;:::-;;;;;;;",
"deployedSourceMap": "95:302:96:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;95:302:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;469:96:115;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;469:96:115;;;;;;;;;;;;;;;;;;;:::i;:::-;;291:104:96;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;291:104:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;681:110:115;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;681:110:115;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;469:96;535:7;;;;;;;;;;;:16;;;552:5;535:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;535:23:115;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;535:23:115;;;;469:96;:::o;291:104:96:-;360:28;375:4;381:6;360:14;:28::i;:::-;291:104;;:::o;681:110:115:-;734:7;760;;;;;;;;;;;:18;;;779:4;760:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;760:24:115;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;760:24:115;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;760:24:115;;;;;;;;;;;;;;;;753:31;;681:110;;;:::o;996:115::-;1069:7;;;;;;;;;;;:15;;;1091:6;1099:4;1069:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1069:35:115;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1069:35:115;;;;;996:115;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../payment/PullPayment.sol\";\n\n// mock class using PullPayment\ncontract PullPaymentMock is PullPayment {\n constructor () public payable {\n // solhint-disable-previous-line no-empty-blocks\n }\n\n // test helper function to call asyncTransfer\n function callTransfer(address dest, uint256 amount) public {\n _asyncTransfer(dest, amount);\n }\n}\n",

@@ -74,10 +74,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/PullPaymentMock.sol",

"PullPaymentMock": [
7645
7622
]
},
"id": 7646,
"id": 7623,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7624,
"id": 7601,
"literals": [

@@ -95,6 +95,6 @@ "solidity",

"file": "../payment/PullPayment.sol",
"id": 7625,
"id": 7602,
"nodeType": "ImportDirective",
"scope": 7646,
"sourceUnit": 9229,
"scope": 7623,
"sourceUnit": 9106,
"src": "25:36:96",

@@ -110,13 +110,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 7626,
"id": 7603,
"name": "PullPayment",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9228,
"referencedDeclaration": 9105,
"src": "123:11:96",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PullPayment_$9228",
"typeIdentifier": "t_contract$_PullPayment_$9105",
"typeString": "contract PullPayment"
}
},
"id": 7627,
"id": 7604,
"nodeType": "InheritanceSpecifier",

@@ -127,3 +127,3 @@ "src": "123:11:96"

"contractDependencies": [
9228
9105
],

@@ -133,6 +133,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7645,
"id": 7622,
"linearizedBaseContracts": [
7645,
9228
7622,
9105
],

@@ -144,3 +144,3 @@ "name": "PullPaymentMock",

"body": {
"id": 7630,
"id": 7607,
"nodeType": "Block",

@@ -151,3 +151,3 @@ "src": "171:64:96",

"documentation": null,
"id": 7631,
"id": 7608,
"implemented": true,

@@ -159,3 +159,3 @@ "kind": "constructor",

"parameters": {
"id": 7628,
"id": 7605,
"nodeType": "ParameterList",

@@ -166,3 +166,3 @@ "parameters": [],

"returnParameters": {
"id": 7629,
"id": 7606,
"nodeType": "ParameterList",

@@ -172,3 +172,3 @@ "parameters": [],

},
"scope": 7645,
"scope": 7622,
"src": "141:94:96",

@@ -181,3 +181,3 @@ "stateMutability": "payable",

"body": {
"id": 7643,
"id": 7620,
"nodeType": "Block",

@@ -192,7 +192,7 @@ "src": "350:45:96",

"argumentTypes": null,
"id": 7639,
"id": 7616,
"name": "dest",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7633,
"referencedDeclaration": 7610,
"src": "375:4:96",

@@ -206,7 +206,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7640,
"id": 7617,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7635,
"referencedDeclaration": 7612,
"src": "381:6:96",

@@ -230,7 +230,7 @@ "typeDescriptions": {

],
"id": 7638,
"id": 7615,
"name": "_asyncTransfer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9227,
"referencedDeclaration": 9104,
"src": "360:14:96",

@@ -242,3 +242,3 @@ "typeDescriptions": {

},
"id": 7641,
"id": 7618,
"isConstant": false,

@@ -257,3 +257,3 @@ "isLValue": false,

},
"id": 7642,
"id": 7619,
"nodeType": "ExpressionStatement",

@@ -265,3 +265,3 @@ "src": "360:28:96"

"documentation": null,
"id": 7644,
"id": 7621,
"implemented": true,

@@ -273,3 +273,3 @@ "kind": "function",

"parameters": {
"id": 7636,
"id": 7613,
"nodeType": "ParameterList",

@@ -279,6 +279,6 @@ "parameters": [

"constant": false,
"id": 7633,
"id": 7610,
"name": "dest",
"nodeType": "VariableDeclaration",
"scope": 7644,
"scope": 7621,
"src": "313:12:96",

@@ -292,3 +292,3 @@ "stateVariable": false,

"typeName": {
"id": 7632,
"id": 7609,
"name": "address",

@@ -308,6 +308,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7635,
"id": 7612,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 7644,
"scope": 7621,
"src": "327:14:96",

@@ -321,3 +321,3 @@ "stateVariable": false,

"typeName": {
"id": 7634,
"id": 7611,
"name": "uint256",

@@ -338,3 +338,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 7637,
"id": 7614,
"nodeType": "ParameterList",

@@ -344,3 +344,3 @@ "parameters": [],

},
"scope": 7645,
"scope": 7622,
"src": "291:104:96",

@@ -352,3 +352,3 @@ "stateMutability": "nonpayable",

],
"scope": 7646,
"scope": 7623,
"src": "95:302:96"

@@ -363,10 +363,10 @@ }

"PullPaymentMock": [
7645
7622
]
},
"id": 7646,
"id": 7623,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7624,
"id": 7601,
"literals": [

@@ -384,6 +384,6 @@ "solidity",

"file": "../payment/PullPayment.sol",
"id": 7625,
"id": 7602,
"nodeType": "ImportDirective",
"scope": 7646,
"sourceUnit": 9229,
"scope": 7623,
"sourceUnit": 9106,
"src": "25:36:96",

@@ -399,13 +399,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 7626,
"id": 7603,
"name": "PullPayment",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9228,
"referencedDeclaration": 9105,
"src": "123:11:96",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PullPayment_$9228",
"typeIdentifier": "t_contract$_PullPayment_$9105",
"typeString": "contract PullPayment"
}
},
"id": 7627,
"id": 7604,
"nodeType": "InheritanceSpecifier",

@@ -416,3 +416,3 @@ "src": "123:11:96"

"contractDependencies": [
9228
9105
],

@@ -422,6 +422,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 7645,
"id": 7622,
"linearizedBaseContracts": [
7645,
9228
7622,
9105
],

@@ -433,3 +433,3 @@ "name": "PullPaymentMock",

"body": {
"id": 7630,
"id": 7607,
"nodeType": "Block",

@@ -440,3 +440,3 @@ "src": "171:64:96",

"documentation": null,
"id": 7631,
"id": 7608,
"implemented": true,

@@ -448,3 +448,3 @@ "kind": "constructor",

"parameters": {
"id": 7628,
"id": 7605,
"nodeType": "ParameterList",

@@ -455,3 +455,3 @@ "parameters": [],

"returnParameters": {
"id": 7629,
"id": 7606,
"nodeType": "ParameterList",

@@ -461,3 +461,3 @@ "parameters": [],

},
"scope": 7645,
"scope": 7622,
"src": "141:94:96",

@@ -470,3 +470,3 @@ "stateMutability": "payable",

"body": {
"id": 7643,
"id": 7620,
"nodeType": "Block",

@@ -481,7 +481,7 @@ "src": "350:45:96",

"argumentTypes": null,
"id": 7639,
"id": 7616,
"name": "dest",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7633,
"referencedDeclaration": 7610,
"src": "375:4:96",

@@ -495,7 +495,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7640,
"id": 7617,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7635,
"referencedDeclaration": 7612,
"src": "381:6:96",

@@ -519,7 +519,7 @@ "typeDescriptions": {

],
"id": 7638,
"id": 7615,
"name": "_asyncTransfer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9227,
"referencedDeclaration": 9104,
"src": "360:14:96",

@@ -531,3 +531,3 @@ "typeDescriptions": {

},
"id": 7641,
"id": 7618,
"isConstant": false,

@@ -546,3 +546,3 @@ "isLValue": false,

},
"id": 7642,
"id": 7619,
"nodeType": "ExpressionStatement",

@@ -554,3 +554,3 @@ "src": "360:28:96"

"documentation": null,
"id": 7644,
"id": 7621,
"implemented": true,

@@ -562,3 +562,3 @@ "kind": "function",

"parameters": {
"id": 7636,
"id": 7613,
"nodeType": "ParameterList",

@@ -568,6 +568,6 @@ "parameters": [

"constant": false,
"id": 7633,
"id": 7610,
"name": "dest",
"nodeType": "VariableDeclaration",
"scope": 7644,
"scope": 7621,
"src": "313:12:96",

@@ -581,3 +581,3 @@ "stateVariable": false,

"typeName": {
"id": 7632,
"id": 7609,
"name": "address",

@@ -597,6 +597,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 7635,
"id": 7612,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 7644,
"scope": 7621,
"src": "327:14:96",

@@ -610,3 +610,3 @@ "stateVariable": false,

"typeName": {
"id": 7634,
"id": 7611,
"name": "uint256",

@@ -627,3 +627,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 7637,
"id": 7614,
"nodeType": "ParameterList",

@@ -633,3 +633,3 @@ "parameters": [],

},
"scope": 7645,
"scope": 7622,
"src": "291:104:96",

@@ -641,3 +641,3 @@ "stateMutability": "nonpayable",

],
"scope": 7646,
"scope": 7623,
"src": "95:302:96"

@@ -654,3 +654,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.767Z",
"updatedAt": "2019-08-16T19:32:31.282Z",
"devdoc": {

@@ -657,0 +657,0 @@ "methods": {

@@ -30,10 +30,10 @@ {

"ReentrancyAttack": [
7673
7650
]
},
"id": 7674,
"id": 7651,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7647,
"id": 7624,
"literals": [

@@ -51,5 +51,5 @@ "solidity",

"file": "../GSN/Context.sol",
"id": 7648,
"id": 7625,
"nodeType": "ImportDirective",
"scope": 7674,
"scope": 7651,
"sourceUnit": 27,

@@ -66,3 +66,3 @@ "src": "25:28:97",

"contractScope": null,
"id": 7649,
"id": 7626,
"name": "Context",

@@ -77,3 +77,3 @@ "nodeType": "UserDefinedTypeName",

},
"id": 7650,
"id": 7627,
"nodeType": "InheritanceSpecifier",

@@ -89,5 +89,5 @@ "src": "83:7:97"

"fullyImplemented": true,
"id": 7673,
"id": 7650,
"linearizedBaseContracts": [
7673,
7650,
26

@@ -100,3 +100,3 @@ ],

"body": {
"id": 7671,
"id": 7648,
"nodeType": "Block",

@@ -107,3 +107,3 @@ "src": "137:200:97",

"assignments": [
7656,
7633,
null

@@ -114,6 +114,6 @@ ],

"constant": false,
"id": 7656,
"id": 7633,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 7671,
"scope": 7648,
"src": "207:12:97",

@@ -127,3 +127,3 @@ "stateVariable": false,

"typeName": {
"id": 7655,
"id": 7632,
"name": "bool",

@@ -142,3 +142,3 @@ "nodeType": "ElementaryTypeName",

],
"id": 7665,
"id": 7642,
"initialValue": {

@@ -152,7 +152,7 @@ "argumentTypes": null,

"argumentTypes": null,
"id": 7662,
"id": 7639,
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7652,
"referencedDeclaration": 7629,
"src": "265:4:97",

@@ -174,7 +174,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7660,
"id": 7637,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13450,
"referencedDeclaration": 13327,
"src": "242:3:97",

@@ -186,3 +186,3 @@ "typeDescriptions": {

},
"id": 7661,
"id": 7638,
"isConstant": false,

@@ -201,3 +201,3 @@ "isLValue": false,

},
"id": 7663,
"id": 7640,
"isConstant": false,

@@ -229,3 +229,3 @@ "isLValue": false,

"argumentTypes": [],
"id": 7657,
"id": 7634,
"name": "_msgSender",

@@ -241,3 +241,3 @@ "nodeType": "Identifier",

},
"id": 7658,
"id": 7635,
"isConstant": false,

@@ -256,3 +256,3 @@ "isLValue": false,

},
"id": 7659,
"id": 7636,
"isConstant": false,

@@ -271,3 +271,3 @@ "isLValue": false,

},
"id": 7664,
"id": 7641,
"isConstant": false,

@@ -295,7 +295,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 7667,
"id": 7644,
"name": "success",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7656,
"referencedDeclaration": 7633,
"src": "289:7:97",

@@ -310,3 +310,3 @@ "typeDescriptions": {

"hexValue": "5265656e7472616e637941747461636b3a206661696c65642063616c6c",
"id": 7668,
"id": 7645,
"isConstant": false,

@@ -338,10 +338,10 @@ "isLValue": false,

],
"id": 7666,
"id": 7643,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13466,
13467
13343,
13344
],
"referencedDeclaration": 13467,
"referencedDeclaration": 13344,
"src": "281:7:97",

@@ -353,3 +353,3 @@ "typeDescriptions": {

},
"id": 7669,
"id": 7646,
"isConstant": false,

@@ -368,3 +368,3 @@ "isLValue": false,

},
"id": 7670,
"id": 7647,
"nodeType": "ExpressionStatement",

@@ -376,3 +376,3 @@ "src": "281:49:97"

"documentation": null,
"id": 7672,
"id": 7649,
"implemented": true,

@@ -384,3 +384,3 @@ "kind": "function",

"parameters": {
"id": 7653,
"id": 7630,
"nodeType": "ParameterList",

@@ -390,6 +390,6 @@ "parameters": [

"constant": false,
"id": 7652,
"id": 7629,
"name": "data",
"nodeType": "VariableDeclaration",
"scope": 7672,
"scope": 7649,
"src": "117:11:97",

@@ -403,3 +403,3 @@ "stateVariable": false,

"typeName": {
"id": 7651,
"id": 7628,
"name": "bytes4",

@@ -420,3 +420,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 7654,
"id": 7631,
"nodeType": "ParameterList",

@@ -426,3 +426,3 @@ "parameters": [],

},
"scope": 7673,
"scope": 7650,
"src": "97:240:97",

@@ -434,3 +434,3 @@ "stateMutability": "nonpayable",

],
"scope": 7674,
"scope": 7651,
"src": "54:285:97"

@@ -445,10 +445,10 @@ }

"ReentrancyAttack": [
7673
7650
]
},
"id": 7674,
"id": 7651,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 7647,
"id": 7624,
"literals": [

@@ -466,5 +466,5 @@ "solidity",

"file": "../GSN/Context.sol",
"id": 7648,
"id": 7625,
"nodeType": "ImportDirective",
"scope": 7674,
"scope": 7651,
"sourceUnit": 27,

@@ -481,3 +481,3 @@ "src": "25:28:97",

"contractScope": null,
"id": 7649,
"id": 7626,
"name": "Context",

@@ -492,3 +492,3 @@ "nodeType": "UserDefinedTypeName",

},
"id": 7650,
"id": 7627,
"nodeType": "InheritanceSpecifier",

@@ -504,5 +504,5 @@ "src": "83:7:97"

"fullyImplemented": true,
"id": 7673,
"id": 7650,
"linearizedBaseContracts": [
7673,
7650,
26

@@ -515,3 +515,3 @@ ],

"body": {
"id": 7671,
"id": 7648,
"nodeType": "Block",

@@ -522,3 +522,3 @@ "src": "137:200:97",

"assignments": [
7656,
7633,
null

@@ -529,6 +529,6 @@ ],

"constant": false,
"id": 7656,
"id": 7633,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 7671,
"scope": 7648,
"src": "207:12:97",

@@ -542,3 +542,3 @@ "stateVariable": false,

"typeName": {
"id": 7655,
"id": 7632,
"name": "bool",

@@ -557,3 +557,3 @@ "nodeType": "ElementaryTypeName",

],
"id": 7665,
"id": 7642,
"initialValue": {

@@ -567,7 +567,7 @@ "argumentTypes": null,

"argumentTypes": null,
"id": 7662,
"id": 7639,
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7652,
"referencedDeclaration": 7629,
"src": "265:4:97",

@@ -589,7 +589,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 7660,
"id": 7637,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13450,
"referencedDeclaration": 13327,
"src": "242:3:97",

@@ -601,3 +601,3 @@ "typeDescriptions": {

},
"id": 7661,
"id": 7638,
"isConstant": false,

@@ -616,3 +616,3 @@ "isLValue": false,

},
"id": 7663,
"id": 7640,
"isConstant": false,

@@ -644,3 +644,3 @@ "isLValue": false,

"argumentTypes": [],
"id": 7657,
"id": 7634,
"name": "_msgSender",

@@ -656,3 +656,3 @@ "nodeType": "Identifier",

},
"id": 7658,
"id": 7635,
"isConstant": false,

@@ -671,3 +671,3 @@ "isLValue": false,

},
"id": 7659,
"id": 7636,
"isConstant": false,

@@ -686,3 +686,3 @@ "isLValue": false,

},
"id": 7664,
"id": 7641,
"isConstant": false,

@@ -710,7 +710,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 7667,
"id": 7644,
"name": "success",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7656,
"referencedDeclaration": 7633,
"src": "289:7:97",

@@ -725,3 +725,3 @@ "typeDescriptions": {

"hexValue": "5265656e7472616e637941747461636b3a206661696c65642063616c6c",
"id": 7668,
"id": 7645,
"isConstant": false,

@@ -753,10 +753,10 @@ "isLValue": false,

],
"id": 7666,
"id": 7643,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13466,
13467
13343,
13344
],
"referencedDeclaration": 13467,
"referencedDeclaration": 13344,
"src": "281:7:97",

@@ -768,3 +768,3 @@ "typeDescriptions": {

},
"id": 7669,
"id": 7646,
"isConstant": false,

@@ -783,3 +783,3 @@ "isLValue": false,

},
"id": 7670,
"id": 7647,
"nodeType": "ExpressionStatement",

@@ -791,3 +791,3 @@ "src": "281:49:97"

"documentation": null,
"id": 7672,
"id": 7649,
"implemented": true,

@@ -799,3 +799,3 @@ "kind": "function",

"parameters": {
"id": 7653,
"id": 7630,
"nodeType": "ParameterList",

@@ -805,6 +805,6 @@ "parameters": [

"constant": false,
"id": 7652,
"id": 7629,
"name": "data",
"nodeType": "VariableDeclaration",
"scope": 7672,
"scope": 7649,
"src": "117:11:97",

@@ -818,3 +818,3 @@ "stateVariable": false,

"typeName": {
"id": 7651,
"id": 7628,
"name": "bytes4",

@@ -835,3 +835,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 7654,
"id": 7631,
"nodeType": "ParameterList",

@@ -841,3 +841,3 @@ "parameters": [],

},
"scope": 7673,
"scope": 7650,
"src": "97:240:97",

@@ -849,3 +849,3 @@ "stateMutability": "nonpayable",

],
"scope": 7674,
"scope": 7651,
"src": "54:285:97"

@@ -862,3 +862,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.767Z",
"updatedAt": "2019-08-16T19:32:31.282Z",
"devdoc": {

@@ -865,0 +865,0 @@ "methods": {}

@@ -22,10 +22,10 @@ {

"ReentrancyGuard": [
13448
13325
]
},
"id": 13449,
"id": 13326,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 13418,
"id": 13295,
"literals": [

@@ -38,3 +38,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:149"
"src": "0:23:148"
},

@@ -47,5 +47,5 @@ {

"fullyImplemented": true,
"id": 13448,
"id": 13325,
"linearizedBaseContracts": [
13448
13325
],

@@ -57,7 +57,7 @@ "name": "ReentrancyGuard",

"constant": false,
"id": 13420,
"id": 13297,
"name": "_guardCounter",
"nodeType": "VariableDeclaration",
"scope": 13448,
"src": "654:29:149",
"scope": 13325,
"src": "654:29:148",
"stateVariable": true,

@@ -70,6 +70,6 @@ "storageLocation": "default",

"typeName": {
"id": 13419,
"id": 13296,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "654:7:149",
"src": "654:7:148",
"typeDescriptions": {

@@ -85,5 +85,5 @@ "typeIdentifier": "t_uint256",

"body": {
"id": 13427,
"id": 13304,
"nodeType": "Block",
"src": "714:173:149",
"src": "714:173:148",
"statements": [

@@ -93,3 +93,3 @@ {

"argumentTypes": null,
"id": 13425,
"id": 13302,
"isConstant": false,

@@ -101,8 +101,8 @@ "isLValue": false,

"argumentTypes": null,
"id": 13423,
"id": 13300,
"name": "_guardCounter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13420,
"src": "863:13:149",
"referencedDeclaration": 13297,
"src": "863:13:148",
"typeDescriptions": {

@@ -118,3 +118,3 @@ "typeIdentifier": "t_uint256",

"hexValue": "31",
"id": 13424,
"id": 13301,
"isConstant": false,

@@ -126,3 +126,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "879:1:149",
"src": "879:1:148",
"subdenomination": null,

@@ -135,3 +135,3 @@ "typeDescriptions": {

},
"src": "863:17:149",
"src": "863:17:148",
"typeDescriptions": {

@@ -142,5 +142,5 @@ "typeIdentifier": "t_uint256",

},
"id": 13426,
"id": 13303,
"nodeType": "ExpressionStatement",
"src": "863:17:149"
"src": "863:17:148"
}

@@ -150,3 +150,3 @@ ]

"documentation": null,
"id": 13428,
"id": 13305,
"implemented": true,

@@ -158,15 +158,15 @@ "kind": "constructor",

"parameters": {
"id": 13421,
"id": 13298,
"nodeType": "ParameterList",
"parameters": [],
"src": "702:2:149"
"src": "702:2:148"
},
"returnParameters": {
"id": 13422,
"id": 13299,
"nodeType": "ParameterList",
"parameters": [],
"src": "714:0:149"
"src": "714:0:148"
},
"scope": 13448,
"src": "690:197:149",
"scope": 13325,
"src": "690:197:148",
"stateMutability": "nonpayable",

@@ -178,5 +178,5 @@ "superFunction": null,

"body": {
"id": 13446,
"id": 13323,
"nodeType": "Block",
"src": "1286:175:149",
"src": "1286:175:148",
"statements": [

@@ -186,3 +186,3 @@ {

"argumentTypes": null,
"id": 13432,
"id": 13309,
"isConstant": false,

@@ -194,8 +194,8 @@ "isLValue": false,

"argumentTypes": null,
"id": 13430,
"id": 13307,
"name": "_guardCounter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13420,
"src": "1296:13:149",
"referencedDeclaration": 13297,
"src": "1296:13:148",
"typeDescriptions": {

@@ -211,3 +211,3 @@ "typeIdentifier": "t_uint256",

"hexValue": "31",
"id": 13431,
"id": 13308,
"isConstant": false,

@@ -219,3 +219,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "1313:1:149",
"src": "1313:1:148",
"subdenomination": null,

@@ -228,3 +228,3 @@ "typeDescriptions": {

},
"src": "1296:18:149",
"src": "1296:18:148",
"typeDescriptions": {

@@ -235,9 +235,9 @@ "typeIdentifier": "t_uint256",

},
"id": 13433,
"id": 13310,
"nodeType": "ExpressionStatement",
"src": "1296:18:149"
"src": "1296:18:148"
},
{
"assignments": [
13435
13312
],

@@ -247,7 +247,7 @@ "declarations": [

"constant": false,
"id": 13435,
"id": 13312,
"name": "localCounter",
"nodeType": "VariableDeclaration",
"scope": 13446,
"src": "1324:20:149",
"scope": 13323,
"src": "1324:20:148",
"stateVariable": false,

@@ -260,6 +260,6 @@ "storageLocation": "default",

"typeName": {
"id": 13434,
"id": 13311,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1324:7:149",
"src": "1324:7:148",
"typeDescriptions": {

@@ -274,11 +274,11 @@ "typeIdentifier": "t_uint256",

],
"id": 13437,
"id": 13314,
"initialValue": {
"argumentTypes": null,
"id": 13436,
"id": 13313,
"name": "_guardCounter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13420,
"src": "1347:13:149",
"referencedDeclaration": 13297,
"src": "1347:13:148",
"typeDescriptions": {

@@ -290,8 +290,8 @@ "typeIdentifier": "t_uint256",

"nodeType": "VariableDeclarationStatement",
"src": "1324:36:149"
"src": "1324:36:148"
},
{
"id": 13438,
"id": 13315,
"nodeType": "PlaceholderStatement",
"src": "1370:1:149"
"src": "1370:1:148"
},

@@ -308,3 +308,3 @@ {

},
"id": 13442,
"id": 13319,
"isConstant": false,

@@ -316,8 +316,8 @@ "isLValue": false,

"argumentTypes": null,
"id": 13440,
"id": 13317,
"name": "localCounter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13435,
"src": "1389:12:149",
"referencedDeclaration": 13312,
"src": "1389:12:148",
"typeDescriptions": {

@@ -332,8 +332,8 @@ "typeIdentifier": "t_uint256",

"argumentTypes": null,
"id": 13441,
"id": 13318,
"name": "_guardCounter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13420,
"src": "1405:13:149",
"referencedDeclaration": 13297,
"src": "1405:13:148",
"typeDescriptions": {

@@ -344,3 +344,3 @@ "typeIdentifier": "t_uint256",

},
"src": "1389:29:149",
"src": "1389:29:148",
"typeDescriptions": {

@@ -354,3 +354,3 @@ "typeIdentifier": "t_bool",

"hexValue": "5265656e7472616e637947756172643a207265656e7472616e742063616c6c",
"id": 13443,
"id": 13320,
"isConstant": false,

@@ -362,3 +362,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "1420:33:149",
"src": "1420:33:148",
"subdenomination": null,

@@ -383,11 +383,11 @@ "typeDescriptions": {

],
"id": 13439,
"id": 13316,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13466,
13467
13343,
13344
],
"referencedDeclaration": 13467,
"src": "1381:7:149",
"referencedDeclaration": 13344,
"src": "1381:7:148",
"typeDescriptions": {

@@ -398,3 +398,3 @@ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",

},
"id": 13444,
"id": 13321,
"isConstant": false,

@@ -407,3 +407,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "1381:73:149",
"src": "1381:73:148",
"typeDescriptions": {

@@ -414,5 +414,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 13445,
"id": 13322,
"nodeType": "ExpressionStatement",
"src": "1381:73:149"
"src": "1381:73:148"
}

@@ -422,20 +422,20 @@ ]

"documentation": "@dev Prevents a contract from calling itself, directly or indirectly.\nCalling a `nonReentrant` function from another `nonReentrant`\nfunction is not supported. It is possible to prevent this from happening\nby making the `nonReentrant` function external, and make it call a\n`private` function that does the actual work.",
"id": 13447,
"id": 13324,
"name": "nonReentrant",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 13429,
"id": 13306,
"nodeType": "ParameterList",
"parameters": [],
"src": "1283:2:149"
"src": "1283:2:148"
},
"src": "1262:199:149",
"src": "1262:199:148",
"visibility": "internal"
}
],
"scope": 13449,
"src": "557:906:149"
"scope": 13326,
"src": "557:906:148"
}
],
"src": "0:1464:149"
"src": "0:1464:148"
},

@@ -446,10 +446,10 @@ "legacyAST": {

"ReentrancyGuard": [
13448
13325
]
},
"id": 13449,
"id": 13326,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 13418,
"id": 13295,
"literals": [

@@ -462,3 +462,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:149"
"src": "0:23:148"
},

@@ -471,5 +471,5 @@ {

"fullyImplemented": true,
"id": 13448,
"id": 13325,
"linearizedBaseContracts": [
13448
13325
],

@@ -481,7 +481,7 @@ "name": "ReentrancyGuard",

"constant": false,
"id": 13420,
"id": 13297,
"name": "_guardCounter",
"nodeType": "VariableDeclaration",
"scope": 13448,
"src": "654:29:149",
"scope": 13325,
"src": "654:29:148",
"stateVariable": true,

@@ -494,6 +494,6 @@ "storageLocation": "default",

"typeName": {
"id": 13419,
"id": 13296,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "654:7:149",
"src": "654:7:148",
"typeDescriptions": {

@@ -509,5 +509,5 @@ "typeIdentifier": "t_uint256",

"body": {
"id": 13427,
"id": 13304,
"nodeType": "Block",
"src": "714:173:149",
"src": "714:173:148",
"statements": [

@@ -517,3 +517,3 @@ {

"argumentTypes": null,
"id": 13425,
"id": 13302,
"isConstant": false,

@@ -525,8 +525,8 @@ "isLValue": false,

"argumentTypes": null,
"id": 13423,
"id": 13300,
"name": "_guardCounter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13420,
"src": "863:13:149",
"referencedDeclaration": 13297,
"src": "863:13:148",
"typeDescriptions": {

@@ -542,3 +542,3 @@ "typeIdentifier": "t_uint256",

"hexValue": "31",
"id": 13424,
"id": 13301,
"isConstant": false,

@@ -550,3 +550,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "879:1:149",
"src": "879:1:148",
"subdenomination": null,

@@ -559,3 +559,3 @@ "typeDescriptions": {

},
"src": "863:17:149",
"src": "863:17:148",
"typeDescriptions": {

@@ -566,5 +566,5 @@ "typeIdentifier": "t_uint256",

},
"id": 13426,
"id": 13303,
"nodeType": "ExpressionStatement",
"src": "863:17:149"
"src": "863:17:148"
}

@@ -574,3 +574,3 @@ ]

"documentation": null,
"id": 13428,
"id": 13305,
"implemented": true,

@@ -582,15 +582,15 @@ "kind": "constructor",

"parameters": {
"id": 13421,
"id": 13298,
"nodeType": "ParameterList",
"parameters": [],
"src": "702:2:149"
"src": "702:2:148"
},
"returnParameters": {
"id": 13422,
"id": 13299,
"nodeType": "ParameterList",
"parameters": [],
"src": "714:0:149"
"src": "714:0:148"
},
"scope": 13448,
"src": "690:197:149",
"scope": 13325,
"src": "690:197:148",
"stateMutability": "nonpayable",

@@ -602,5 +602,5 @@ "superFunction": null,

"body": {
"id": 13446,
"id": 13323,
"nodeType": "Block",
"src": "1286:175:149",
"src": "1286:175:148",
"statements": [

@@ -610,3 +610,3 @@ {

"argumentTypes": null,
"id": 13432,
"id": 13309,
"isConstant": false,

@@ -618,8 +618,8 @@ "isLValue": false,

"argumentTypes": null,
"id": 13430,
"id": 13307,
"name": "_guardCounter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13420,
"src": "1296:13:149",
"referencedDeclaration": 13297,
"src": "1296:13:148",
"typeDescriptions": {

@@ -635,3 +635,3 @@ "typeIdentifier": "t_uint256",

"hexValue": "31",
"id": 13431,
"id": 13308,
"isConstant": false,

@@ -643,3 +643,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "1313:1:149",
"src": "1313:1:148",
"subdenomination": null,

@@ -652,3 +652,3 @@ "typeDescriptions": {

},
"src": "1296:18:149",
"src": "1296:18:148",
"typeDescriptions": {

@@ -659,9 +659,9 @@ "typeIdentifier": "t_uint256",

},
"id": 13433,
"id": 13310,
"nodeType": "ExpressionStatement",
"src": "1296:18:149"
"src": "1296:18:148"
},
{
"assignments": [
13435
13312
],

@@ -671,7 +671,7 @@ "declarations": [

"constant": false,
"id": 13435,
"id": 13312,
"name": "localCounter",
"nodeType": "VariableDeclaration",
"scope": 13446,
"src": "1324:20:149",
"scope": 13323,
"src": "1324:20:148",
"stateVariable": false,

@@ -684,6 +684,6 @@ "storageLocation": "default",

"typeName": {
"id": 13434,
"id": 13311,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1324:7:149",
"src": "1324:7:148",
"typeDescriptions": {

@@ -698,11 +698,11 @@ "typeIdentifier": "t_uint256",

],
"id": 13437,
"id": 13314,
"initialValue": {
"argumentTypes": null,
"id": 13436,
"id": 13313,
"name": "_guardCounter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13420,
"src": "1347:13:149",
"referencedDeclaration": 13297,
"src": "1347:13:148",
"typeDescriptions": {

@@ -714,8 +714,8 @@ "typeIdentifier": "t_uint256",

"nodeType": "VariableDeclarationStatement",
"src": "1324:36:149"
"src": "1324:36:148"
},
{
"id": 13438,
"id": 13315,
"nodeType": "PlaceholderStatement",
"src": "1370:1:149"
"src": "1370:1:148"
},

@@ -732,3 +732,3 @@ {

},
"id": 13442,
"id": 13319,
"isConstant": false,

@@ -740,8 +740,8 @@ "isLValue": false,

"argumentTypes": null,
"id": 13440,
"id": 13317,
"name": "localCounter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13435,
"src": "1389:12:149",
"referencedDeclaration": 13312,
"src": "1389:12:148",
"typeDescriptions": {

@@ -756,8 +756,8 @@ "typeIdentifier": "t_uint256",

"argumentTypes": null,
"id": 13441,
"id": 13318,
"name": "_guardCounter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13420,
"src": "1405:13:149",
"referencedDeclaration": 13297,
"src": "1405:13:148",
"typeDescriptions": {

@@ -768,3 +768,3 @@ "typeIdentifier": "t_uint256",

},
"src": "1389:29:149",
"src": "1389:29:148",
"typeDescriptions": {

@@ -778,3 +778,3 @@ "typeIdentifier": "t_bool",

"hexValue": "5265656e7472616e637947756172643a207265656e7472616e742063616c6c",
"id": 13443,
"id": 13320,
"isConstant": false,

@@ -786,3 +786,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "1420:33:149",
"src": "1420:33:148",
"subdenomination": null,

@@ -807,11 +807,11 @@ "typeDescriptions": {

],
"id": 13439,
"id": 13316,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13466,
13467
13343,
13344
],
"referencedDeclaration": 13467,
"src": "1381:7:149",
"referencedDeclaration": 13344,
"src": "1381:7:148",
"typeDescriptions": {

@@ -822,3 +822,3 @@ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",

},
"id": 13444,
"id": 13321,
"isConstant": false,

@@ -831,3 +831,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "1381:73:149",
"src": "1381:73:148",
"typeDescriptions": {

@@ -838,5 +838,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 13445,
"id": 13322,
"nodeType": "ExpressionStatement",
"src": "1381:73:149"
"src": "1381:73:148"
}

@@ -846,20 +846,20 @@ ]

"documentation": "@dev Prevents a contract from calling itself, directly or indirectly.\nCalling a `nonReentrant` function from another `nonReentrant`\nfunction is not supported. It is possible to prevent this from happening\nby making the `nonReentrant` function external, and make it call a\n`private` function that does the actual work.",
"id": 13447,
"id": 13324,
"name": "nonReentrant",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 13429,
"id": 13306,
"nodeType": "ParameterList",
"parameters": [],
"src": "1283:2:149"
"src": "1283:2:148"
},
"src": "1262:199:149",
"src": "1262:199:148",
"visibility": "internal"
}
],
"scope": 13449,
"src": "557:906:149"
"scope": 13326,
"src": "557:906:148"
}
],
"src": "0:1464:149"
"src": "0:1464:148"
},

@@ -872,3 +872,3 @@ "compiler": {

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.864Z",
"updatedAt": "2019-08-16T19:32:31.380Z",
"devdoc": {

@@ -875,0 +875,0 @@ "details": "Contract module that helps prevent reentrant calls to a function. * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier available, which can be applied to functions to make sure there are no nested (reentrant) calls to them. * Note that because there is a single `nonReentrant` guard, functions marked as `nonReentrant` may not call one another. This can be worked around by making those functions `private`, and then adding `external` `nonReentrant` entry points to them.",

@@ -284,3 +284,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"hasClosed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"goal\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOpen\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"withdrawTokens\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"closingTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finalize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"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\":\"goalReached\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"finalized\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"openingTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"refundee\",\"type\":\"address\"}],\"name\":\"claimRefund\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"CrowdsaleFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"prevClosingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"newClosingTime\",\"type\":\"uint256\"}],\"name\":\"TimedCrowdsaleExtended\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Extension of RefundableCrowdsale contract that only delivers the tokens once the crowdsale has closed and the goal met, preventing refunds to be issued to token holders.\",\"methods\":{\"balanceOf(address)\":{\"return\":\"the balance of an account.\"},\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"claimRefund(address)\":{\"details\":\"Investors can claim refunds here if crowdsale is unsuccessful.\",\"params\":{\"refundee\":\"Whose refund will be claimed.\"}},\"closingTime()\":{\"return\":\"the crowdsale closing time.\"},\"finalize()\":{\"details\":\"Must be called after crowdsale ends, to do some extra finalization work. Calls the contract's finalization function.\"},\"finalized()\":{\"return\":\"true if the crowdsale is finalized, false otherwise.\"},\"goal()\":{\"return\":\"minimum amount of funds to be raised in wei.\"},\"goalReached()\":{\"details\":\"Checks whether funding goal was reached.\",\"return\":\"Whether funding goal was reached\"},\"hasClosed()\":{\"details\":\"Checks whether the period in which the crowdsale is open has already elapsed.\",\"return\":\"Whether crowdsale period has elapsed\"},\"isOpen()\":{\"return\":\"true if the crowdsale is open, false otherwise.\"},\"openingTime()\":{\"return\":\"the crowdsale opening time.\"},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}},\"title\":\"RefundablePostDeliveryCrowdsale\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/crowdsale/distribution/RefundablePostDeliveryCrowdsale.sol\":\"RefundablePostDeliveryCrowdsale\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/distribution/FinalizableCrowdsale.sol\":{\"keccak256\":\"0x22ad427395c439878122cbfbf13e896fd48d1fad0c6fc889a36b4f1bf4743ff4\",\"urls\":[\"bzzr://1c725bc536a34c8ae31246c7c4327a2fe7abeb7686979516c1ab65c8959f71ec\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/distribution/PostDeliveryCrowdsale.sol\":{\"keccak256\":\"0xe36a7e7cc13c7c63642e8f1a34beb43dd61cd6359f98093e7fab088206c18d0c\",\"urls\":[\"bzzr://33378546ce6c03904bc75b564d85dfdcd81be5ab2a91d58643f4f002430616c5\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/distribution/RefundableCrowdsale.sol\":{\"keccak256\":\"0x51ff319b8ccbbed80ef2362ab98b473b705bf39d387610baadd7b9dd0353d85e\",\"urls\":[\"bzzr://5385067c9b5f762794d9c0733f210b5b6977d8caecb0221c8c5393fb79e6dd24\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/distribution/RefundablePostDeliveryCrowdsale.sol\":{\"keccak256\":\"0xb48951d0d4ed06d06ac4b7889b7f585adf124d860107d96a24fc830f6ade9c8f\",\"urls\":[\"bzzr://ae308f5ea14ebf07f4235c3fb76b92b97589c73023b0619a5bb60cecc901f874\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/validation/TimedCrowdsale.sol\":{\"keccak256\":\"0x9407dd37cfed74aa107fd1614c478ba0a2bc3e084e9aa8fbd5a6f316c53aed3b\",\"urls\":[\"bzzr://196407d49d26f709494b573b06676eaa21b0019ebebd4e610a8b1276965a8067\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/ownership/Secondary.sol\":{\"keccak256\":\"0x30b9cfe5aeb07c96a3346cd27dcdc2f9f19d7f664166f9b71f1e9e50605d1d67\",\"urls\":[\"bzzr://123562fe4fe4f80cf5c4f9f2e4678d9245dba57db4685ef97b395b5c9e0d5cf9\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/ConditionalEscrow.sol\":{\"keccak256\":\"0xc43492ecb8d0eb86ba1ecc3f50e5474021ba58ec14c004c41c6f6550e6ceafc0\",\"urls\":[\"bzzr://24eb091f7e2a1cd7583f2470432a0034f154d2ad988558b0a9672253de44fc0d\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/Escrow.sol\":{\"keccak256\":\"0xe04fab28efeedfaf2ea9be801549831ac93257e37026665984e358b482ed1049\",\"urls\":[\"bzzr://5a9b9bdec836796a1014e71f0a8d1073308a55e9fdd360df1845a16ee45cd212\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/RefundEscrow.sol\":{\"keccak256\":\"0x83d02d923d47755b0a1a16c6f97a31e0de8378c6bbac42e8d69f388d84749a6c\",\"urls\":[\"bzzr://c4700a8b29bf37d5d21b9287db7a766e88444b919b46cc1a45b27aadf1ed54bf\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xe0812b2b05e37bf0dc866f8ba0a1a36d6dd006ac5b02bfde80e820a2a9e804b8\",\"urls\":[\"bzzr://7010caa641157fce5262c47d6cf10c9d6a6f0094fa327485c4fcf70989ec4532\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"hasClosed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"goal\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOpen\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"withdrawTokens\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"closingTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finalize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"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\":\"goalReached\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"finalized\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"openingTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"refundee\",\"type\":\"address\"}],\"name\":\"claimRefund\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"CrowdsaleFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"prevClosingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"newClosingTime\",\"type\":\"uint256\"}],\"name\":\"TimedCrowdsaleExtended\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Extension of RefundableCrowdsale contract that only delivers the tokens once the crowdsale has closed and the goal met, preventing refunds to be issued to token holders.\",\"methods\":{\"balanceOf(address)\":{\"return\":\"the balance of an account.\"},\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"claimRefund(address)\":{\"details\":\"Investors can claim refunds here if crowdsale is unsuccessful.\",\"params\":{\"refundee\":\"Whose refund will be claimed.\"}},\"closingTime()\":{\"return\":\"the crowdsale closing time.\"},\"finalize()\":{\"details\":\"Must be called after crowdsale ends, to do some extra finalization work. Calls the contract's finalization function.\"},\"finalized()\":{\"return\":\"true if the crowdsale is finalized, false otherwise.\"},\"goal()\":{\"return\":\"minimum amount of funds to be raised in wei.\"},\"goalReached()\":{\"details\":\"Checks whether funding goal was reached.\",\"return\":\"Whether funding goal was reached\"},\"hasClosed()\":{\"details\":\"Checks whether the period in which the crowdsale is open has already elapsed.\",\"return\":\"Whether crowdsale period has elapsed\"},\"isOpen()\":{\"return\":\"true if the crowdsale is open, false otherwise.\"},\"openingTime()\":{\"return\":\"the crowdsale opening time.\"},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}},\"title\":\"RefundablePostDeliveryCrowdsale\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/crowdsale/distribution/RefundablePostDeliveryCrowdsale.sol\":\"RefundablePostDeliveryCrowdsale\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/distribution/FinalizableCrowdsale.sol\":{\"keccak256\":\"0x22ad427395c439878122cbfbf13e896fd48d1fad0c6fc889a36b4f1bf4743ff4\",\"urls\":[\"bzzr://1c725bc536a34c8ae31246c7c4327a2fe7abeb7686979516c1ab65c8959f71ec\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/distribution/PostDeliveryCrowdsale.sol\":{\"keccak256\":\"0xe36a7e7cc13c7c63642e8f1a34beb43dd61cd6359f98093e7fab088206c18d0c\",\"urls\":[\"bzzr://33378546ce6c03904bc75b564d85dfdcd81be5ab2a91d58643f4f002430616c5\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/distribution/RefundableCrowdsale.sol\":{\"keccak256\":\"0x51ff319b8ccbbed80ef2362ab98b473b705bf39d387610baadd7b9dd0353d85e\",\"urls\":[\"bzzr://5385067c9b5f762794d9c0733f210b5b6977d8caecb0221c8c5393fb79e6dd24\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/distribution/RefundablePostDeliveryCrowdsale.sol\":{\"keccak256\":\"0xb48951d0d4ed06d06ac4b7889b7f585adf124d860107d96a24fc830f6ade9c8f\",\"urls\":[\"bzzr://ae308f5ea14ebf07f4235c3fb76b92b97589c73023b0619a5bb60cecc901f874\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/validation/TimedCrowdsale.sol\":{\"keccak256\":\"0x9407dd37cfed74aa107fd1614c478ba0a2bc3e084e9aa8fbd5a6f316c53aed3b\",\"urls\":[\"bzzr://196407d49d26f709494b573b06676eaa21b0019ebebd4e610a8b1276965a8067\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/ownership/Secondary.sol\":{\"keccak256\":\"0x30b9cfe5aeb07c96a3346cd27dcdc2f9f19d7f664166f9b71f1e9e50605d1d67\",\"urls\":[\"bzzr://123562fe4fe4f80cf5c4f9f2e4678d9245dba57db4685ef97b395b5c9e0d5cf9\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/ConditionalEscrow.sol\":{\"keccak256\":\"0xc43492ecb8d0eb86ba1ecc3f50e5474021ba58ec14c004c41c6f6550e6ceafc0\",\"urls\":[\"bzzr://24eb091f7e2a1cd7583f2470432a0034f154d2ad988558b0a9672253de44fc0d\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/Escrow.sol\":{\"keccak256\":\"0xe04fab28efeedfaf2ea9be801549831ac93257e37026665984e358b482ed1049\",\"urls\":[\"bzzr://5a9b9bdec836796a1014e71f0a8d1073308a55e9fdd360df1845a16ee45cd212\"]},\"/home/frangio/oz/contracts/contracts/payment/escrow/RefundEscrow.sol\":{\"keccak256\":\"0x83d02d923d47755b0a1a16c6f97a31e0de8378c6bbac42e8d69f388d84749a6c\",\"urls\":[\"bzzr://c4700a8b29bf37d5d21b9287db7a766e88444b919b46cc1a45b27aadf1ed54bf\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xf4bfe37bc0ed72fb1a94abab4acec42dcabc6b2936d684f9a018a61afe2d979a\",\"urls\":[\"bzzr://a0a3a1ea455fc61ea6032cad30321369a478121b32ae8a212a73a54e57dad3b5\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"bytecode": "0x",

@@ -296,10 +296,10 @@ "deployedBytecode": "0x",

"RefundablePostDeliveryCrowdsale": [
2487
2466
]
},
"id": 2488,
"id": 2467,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2456,
"id": 2435,
"literals": [

@@ -317,6 +317,6 @@ "solidity",

"file": "./RefundableCrowdsale.sol",
"id": 2457,
"id": 2436,
"nodeType": "ImportDirective",
"scope": 2488,
"sourceUnit": 2455,
"scope": 2467,
"sourceUnit": 2434,
"src": "25:35:19",

@@ -329,6 +329,6 @@ "symbolAliases": [],

"file": "./PostDeliveryCrowdsale.sol",
"id": 2458,
"id": 2437,
"nodeType": "ImportDirective",
"scope": 2488,
"sourceUnit": 2323,
"scope": 2467,
"sourceUnit": 2302,
"src": "61:37:19",

@@ -344,13 +344,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 2459,
"id": 2438,
"name": "RefundableCrowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2454,
"referencedDeclaration": 2433,
"src": "379:19:19",
"typeDescriptions": {
"typeIdentifier": "t_contract$_RefundableCrowdsale_$2454",
"typeIdentifier": "t_contract$_RefundableCrowdsale_$2433",
"typeString": "contract RefundableCrowdsale"
}
},
"id": 2460,
"id": 2439,
"nodeType": "InheritanceSpecifier",

@@ -363,13 +363,13 @@ "src": "379:19:19"

"contractScope": null,
"id": 2461,
"id": 2440,
"name": "PostDeliveryCrowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2300,
"referencedDeclaration": 2279,
"src": "400:21:19",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PostDeliveryCrowdsale_$2300",
"typeIdentifier": "t_contract$_PostDeliveryCrowdsale_$2279",
"typeString": "contract PostDeliveryCrowdsale"
}
},
"id": 2462,
"id": 2441,
"nodeType": "InheritanceSpecifier",

@@ -381,8 +381,8 @@ "src": "400:21:19"

26,
2134,
2194,
2300,
2454,
3102,
13448
2113,
2173,
2279,
2433,
3081,
13325
],

@@ -392,11 +392,11 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 2487,
"id": 2466,
"linearizedBaseContracts": [
2487,
2300,
2454,
2194,
3102,
2134,
13448,
2466,
2279,
2433,
2173,
3081,
2113,
13325,
26

@@ -409,3 +409,3 @@ ],

"body": {
"id": 2485,
"id": 2464,
"nodeType": "Block",

@@ -423,7 +423,7 @@ "src": "480:216:19",

"argumentTypes": [],
"id": 2468,
"id": 2447,
"name": "finalized",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2163,
"referencedDeclaration": 2142,
"src": "498:9:19",

@@ -435,3 +435,3 @@ "typeDescriptions": {

},
"id": 2469,
"id": 2448,
"isConstant": false,

@@ -453,3 +453,3 @@ "isLValue": false,

"hexValue": "526566756e6461626c65506f737444656c697665727943726f776473616c653a206e6f742066696e616c697a6564",
"id": 2470,
"id": 2449,
"isConstant": false,

@@ -481,10 +481,10 @@ "isLValue": false,

],
"id": 2467,
"id": 2446,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13466,
13467
13343,
13344
],
"referencedDeclaration": 13467,
"referencedDeclaration": 13344,
"src": "490:7:19",

@@ -496,3 +496,3 @@ "typeDescriptions": {

},
"id": 2471,
"id": 2450,
"isConstant": false,

@@ -511,3 +511,3 @@ "isLValue": false,

},
"id": 2472,
"id": 2451,
"nodeType": "ExpressionStatement",

@@ -525,7 +525,7 @@ "src": "490:70:19"

"argumentTypes": [],
"id": 2474,
"id": 2453,
"name": "goalReached",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2408,
"referencedDeclaration": 2387,
"src": "578:11:19",

@@ -537,3 +537,3 @@ "typeDescriptions": {

},
"id": 2475,
"id": 2454,
"isConstant": false,

@@ -555,3 +555,3 @@ "isLValue": false,

"hexValue": "526566756e6461626c65506f737444656c697665727943726f776473616c653a20676f616c206e6f742072656163686564",
"id": 2476,
"id": 2455,
"isConstant": false,

@@ -583,10 +583,10 @@ "isLValue": false,

],
"id": 2473,
"id": 2452,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13466,
13467
13343,
13344
],
"referencedDeclaration": 13467,
"referencedDeclaration": 13344,
"src": "570:7:19",

@@ -598,3 +598,3 @@ "typeDescriptions": {

},
"id": 2477,
"id": 2456,
"isConstant": false,

@@ -613,3 +613,3 @@ "isLValue": false,

},
"id": 2478,
"id": 2457,
"nodeType": "ExpressionStatement",

@@ -624,7 +624,7 @@ "src": "570:75:19"

"argumentTypes": null,
"id": 2482,
"id": 2461,
"name": "beneficiary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2464,
"referencedDeclaration": 2443,
"src": "677:11:19",

@@ -646,14 +646,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 2479,
"id": 2458,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13546,
"referencedDeclaration": 13423,
"src": "656:5:19",
"typeDescriptions": {
"typeIdentifier": "t_super$_RefundablePostDeliveryCrowdsale_$2487",
"typeIdentifier": "t_super$_RefundablePostDeliveryCrowdsale_$2466",
"typeString": "contract super RefundablePostDeliveryCrowdsale"
}
},
"id": 2481,
"id": 2460,
"isConstant": false,

@@ -665,3 +665,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 2261,
"referencedDeclaration": 2240,
"src": "656:20:19",

@@ -673,3 +673,3 @@ "typeDescriptions": {

},
"id": 2483,
"id": 2462,
"isConstant": false,

@@ -688,3 +688,3 @@ "isLValue": false,

},
"id": 2484,
"id": 2463,
"nodeType": "ExpressionStatement",

@@ -696,3 +696,3 @@ "src": "656:33:19"

"documentation": null,
"id": 2486,
"id": 2465,
"implemented": true,

@@ -704,3 +704,3 @@ "kind": "function",

"parameters": {
"id": 2465,
"id": 2444,
"nodeType": "ParameterList",

@@ -710,6 +710,6 @@ "parameters": [

"constant": false,
"id": 2464,
"id": 2443,
"name": "beneficiary",
"nodeType": "VariableDeclaration",
"scope": 2486,
"scope": 2465,
"src": "452:19:19",

@@ -723,3 +723,3 @@ "stateVariable": false,

"typeName": {
"id": 2463,
"id": 2442,
"name": "address",

@@ -741,3 +741,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2466,
"id": 2445,
"nodeType": "ParameterList",

@@ -747,10 +747,10 @@ "parameters": [],

},
"scope": 2487,
"scope": 2466,
"src": "428:268:19",
"stateMutability": "nonpayable",
"superFunction": 2261,
"superFunction": 2240,
"visibility": "public"
}
],
"scope": 2488,
"scope": 2467,
"src": "335:363:19"

@@ -765,10 +765,10 @@ }

"RefundablePostDeliveryCrowdsale": [
2487
2466
]
},
"id": 2488,
"id": 2467,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2456,
"id": 2435,
"literals": [

@@ -786,6 +786,6 @@ "solidity",

"file": "./RefundableCrowdsale.sol",
"id": 2457,
"id": 2436,
"nodeType": "ImportDirective",
"scope": 2488,
"sourceUnit": 2455,
"scope": 2467,
"sourceUnit": 2434,
"src": "25:35:19",

@@ -798,6 +798,6 @@ "symbolAliases": [],

"file": "./PostDeliveryCrowdsale.sol",
"id": 2458,
"id": 2437,
"nodeType": "ImportDirective",
"scope": 2488,
"sourceUnit": 2323,
"scope": 2467,
"sourceUnit": 2302,
"src": "61:37:19",

@@ -813,13 +813,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 2459,
"id": 2438,
"name": "RefundableCrowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2454,
"referencedDeclaration": 2433,
"src": "379:19:19",
"typeDescriptions": {
"typeIdentifier": "t_contract$_RefundableCrowdsale_$2454",
"typeIdentifier": "t_contract$_RefundableCrowdsale_$2433",
"typeString": "contract RefundableCrowdsale"
}
},
"id": 2460,
"id": 2439,
"nodeType": "InheritanceSpecifier",

@@ -832,13 +832,13 @@ "src": "379:19:19"

"contractScope": null,
"id": 2461,
"id": 2440,
"name": "PostDeliveryCrowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2300,
"referencedDeclaration": 2279,
"src": "400:21:19",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PostDeliveryCrowdsale_$2300",
"typeIdentifier": "t_contract$_PostDeliveryCrowdsale_$2279",
"typeString": "contract PostDeliveryCrowdsale"
}
},
"id": 2462,
"id": 2441,
"nodeType": "InheritanceSpecifier",

@@ -850,8 +850,8 @@ "src": "400:21:19"

26,
2134,
2194,
2300,
2454,
3102,
13448
2113,
2173,
2279,
2433,
3081,
13325
],

@@ -861,11 +861,11 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 2487,
"id": 2466,
"linearizedBaseContracts": [
2487,
2300,
2454,
2194,
3102,
2134,
13448,
2466,
2279,
2433,
2173,
3081,
2113,
13325,
26

@@ -878,3 +878,3 @@ ],

"body": {
"id": 2485,
"id": 2464,
"nodeType": "Block",

@@ -892,7 +892,7 @@ "src": "480:216:19",

"argumentTypes": [],
"id": 2468,
"id": 2447,
"name": "finalized",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2163,
"referencedDeclaration": 2142,
"src": "498:9:19",

@@ -904,3 +904,3 @@ "typeDescriptions": {

},
"id": 2469,
"id": 2448,
"isConstant": false,

@@ -922,3 +922,3 @@ "isLValue": false,

"hexValue": "526566756e6461626c65506f737444656c697665727943726f776473616c653a206e6f742066696e616c697a6564",
"id": 2470,
"id": 2449,
"isConstant": false,

@@ -950,10 +950,10 @@ "isLValue": false,

],
"id": 2467,
"id": 2446,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13466,
13467
13343,
13344
],
"referencedDeclaration": 13467,
"referencedDeclaration": 13344,
"src": "490:7:19",

@@ -965,3 +965,3 @@ "typeDescriptions": {

},
"id": 2471,
"id": 2450,
"isConstant": false,

@@ -980,3 +980,3 @@ "isLValue": false,

},
"id": 2472,
"id": 2451,
"nodeType": "ExpressionStatement",

@@ -994,7 +994,7 @@ "src": "490:70:19"

"argumentTypes": [],
"id": 2474,
"id": 2453,
"name": "goalReached",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2408,
"referencedDeclaration": 2387,
"src": "578:11:19",

@@ -1006,3 +1006,3 @@ "typeDescriptions": {

},
"id": 2475,
"id": 2454,
"isConstant": false,

@@ -1024,3 +1024,3 @@ "isLValue": false,

"hexValue": "526566756e6461626c65506f737444656c697665727943726f776473616c653a20676f616c206e6f742072656163686564",
"id": 2476,
"id": 2455,
"isConstant": false,

@@ -1052,10 +1052,10 @@ "isLValue": false,

],
"id": 2473,
"id": 2452,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13466,
13467
13343,
13344
],
"referencedDeclaration": 13467,
"referencedDeclaration": 13344,
"src": "570:7:19",

@@ -1067,3 +1067,3 @@ "typeDescriptions": {

},
"id": 2477,
"id": 2456,
"isConstant": false,

@@ -1082,3 +1082,3 @@ "isLValue": false,

},
"id": 2478,
"id": 2457,
"nodeType": "ExpressionStatement",

@@ -1093,7 +1093,7 @@ "src": "570:75:19"

"argumentTypes": null,
"id": 2482,
"id": 2461,
"name": "beneficiary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2464,
"referencedDeclaration": 2443,
"src": "677:11:19",

@@ -1115,14 +1115,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 2479,
"id": 2458,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13546,
"referencedDeclaration": 13423,
"src": "656:5:19",
"typeDescriptions": {
"typeIdentifier": "t_super$_RefundablePostDeliveryCrowdsale_$2487",
"typeIdentifier": "t_super$_RefundablePostDeliveryCrowdsale_$2466",
"typeString": "contract super RefundablePostDeliveryCrowdsale"
}
},
"id": 2481,
"id": 2460,
"isConstant": false,

@@ -1134,3 +1134,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 2261,
"referencedDeclaration": 2240,
"src": "656:20:19",

@@ -1142,3 +1142,3 @@ "typeDescriptions": {

},
"id": 2483,
"id": 2462,
"isConstant": false,

@@ -1157,3 +1157,3 @@ "isLValue": false,

},
"id": 2484,
"id": 2463,
"nodeType": "ExpressionStatement",

@@ -1165,3 +1165,3 @@ "src": "656:33:19"

"documentation": null,
"id": 2486,
"id": 2465,
"implemented": true,

@@ -1173,3 +1173,3 @@ "kind": "function",

"parameters": {
"id": 2465,
"id": 2444,
"nodeType": "ParameterList",

@@ -1179,6 +1179,6 @@ "parameters": [

"constant": false,
"id": 2464,
"id": 2443,
"name": "beneficiary",
"nodeType": "VariableDeclaration",
"scope": 2486,
"scope": 2465,
"src": "452:19:19",

@@ -1192,3 +1192,3 @@ "stateVariable": false,

"typeName": {
"id": 2463,
"id": 2442,
"name": "address",

@@ -1210,3 +1210,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2466,
"id": 2445,
"nodeType": "ParameterList",

@@ -1216,10 +1216,10 @@ "parameters": [],

},
"scope": 2487,
"scope": 2466,
"src": "428:268:19",
"stateMutability": "nonpayable",
"superFunction": 2261,
"superFunction": 2240,
"visibility": "public"
}
],
"scope": 2488,
"scope": 2467,
"src": "335:363:19"

@@ -1236,3 +1236,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.678Z",
"updatedAt": "2019-08-16T19:32:31.200Z",
"devdoc": {

@@ -1239,0 +1239,0 @@ "details": "Extension of RefundableCrowdsale contract that only delivers the tokens once the crowdsale has closed and the goal met, preventing refunds to be issued to token holders.",

@@ -57,4 +57,4 @@ {

"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80632348238c14610046578063846224251461008a578063c6dbdf6114610094575b600080fd5b6100886004803603602081101561005c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506100de565b005b6100926102d7565b005b61009c610385565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661011e6103ae565b73ffffffffffffffffffffffffffffffffffffffff161461018a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806103e1602c913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610210576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806103b7602a913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4101e71e974f68df5e9730cc223280b41654676bbb052cdcc735c3337e64d2d96000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166103176103ae565b73ffffffffffffffffffffffffffffffffffffffff1614610383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806103e1602c913960400191505060405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60003390509056fe5365636f6e646172793a206e6577207072696d61727920697320746865207a65726f20616464726573735365636f6e646172793a2063616c6c6572206973206e6f7420746865207072696d617279206163636f756e74a165627a7a723058203536996b84037b692514a2c0dbe8bc65f90df919e0267587418fc047a586f8b30029",
"sourceMap": "63:159:104:-;;;510:12:114;:10;;;:12;;:::i;:::-;499:8;;:23;;;;;;;;;;;;;;;;;;537:28;556:8;;;;;;;;;;;537:28;;;;;;;;;;;;;;;;;;;;;;63:159:104;;791:88:0;836:7;862:10;855:17;;791:88;:::o;63:159:104:-;;;;;;;",
"deployedSourceMap": "63:159:104:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;63:159:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1066:231:114;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1066:231:114;;;;;;;;;;;;;;;;;;;:::i;:::-;;105:115:104;;;:::i;:::-;;862:81:114;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1066:231;722:8;;;;;;;;;;;706:24;;:12;:10;:12::i;:::-;:24;;;698:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1168:1;1147:23;;:9;:23;;;;1139:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1238:9;1227:8;;:20;;;;;;;;;;;;;;;;;;1262:28;1281:8;;;;;;;;;;;1262:28;;;;;;;;;;;;;;;;;;;;;;1066:231;:::o;105:115:104:-;722:8:114;;;;;;;;;;;706:24;;:12;:10;:12::i;:::-;:24;;;698:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;105:115:104:o;862:81:114:-;902:7;928:8;;;;;;;;;;;921:15;;862:81;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o",
"sourceMap": "63:159:104:-;;;510:12:113;:10;;;:12;;:::i;:::-;499:8;;:23;;;;;;;;;;;;;;;;;;537:28;556:8;;;;;;;;;;;537:28;;;;;;;;;;;;;;;;;;;;;;63:159:104;;791:88:0;836:7;862:10;855:17;;791:88;:::o;63:159:104:-;;;;;;;",
"deployedSourceMap": "63:159:104:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;63:159:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1066:231:113;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1066:231:113;;;;;;;;;;;;;;;;;;;:::i;:::-;;105:115:104;;;:::i;:::-;;862:81:113;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1066:231;722:8;;;;;;;;;;;706:24;;:12;:10;:12::i;:::-;:24;;;698:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1168:1;1147:23;;:9;:23;;;;1139:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1238:9;1227:8;;:20;;;;;;;;;;;;;;;;;;1262:28;1281:8;;;;;;;;;;;1262:28;;;;;;;;;;;;;;;;;;;;;;1066:231;:::o;105:115:104:-;722:8:113;;;;;;;;;;;706:24;;:12;:10;:12::i;:::-;:24;;;698:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;105:115:104:o;862:81:113:-;902:7;928:8;;;;;;;;;;;921:15;;862:81;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../ownership/Secondary.sol\";\n\ncontract SecondaryMock is Secondary {\n function onlyPrimaryMock() public view onlyPrimary {\n // solhint-disable-previous-line no-empty-blocks\n }\n}\n",

@@ -66,10 +66,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/SecondaryMock.sol",

"SecondaryMock": [
8365
8342
]
},
"id": 8366,
"id": 8343,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 8355,
"id": 8332,
"literals": [

@@ -87,6 +87,6 @@ "solidity",

"file": "../ownership/Secondary.sol",
"id": 8356,
"id": 8333,
"nodeType": "ImportDirective",
"scope": 8366,
"sourceUnit": 8880,
"scope": 8343,
"sourceUnit": 8757,
"src": "25:36:104",

@@ -102,13 +102,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 8357,
"id": 8334,
"name": "Secondary",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 8879,
"referencedDeclaration": 8756,
"src": "89:9:104",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Secondary_$8879",
"typeIdentifier": "t_contract$_Secondary_$8756",
"typeString": "contract Secondary"
}
},
"id": 8358,
"id": 8335,
"nodeType": "InheritanceSpecifier",

@@ -120,3 +120,3 @@ "src": "89:9:104"

26,
8879
8756
],

@@ -126,6 +126,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 8365,
"id": 8342,
"linearizedBaseContracts": [
8365,
8879,
8342,
8756,
26

@@ -138,3 +138,3 @@ ],

"body": {
"id": 8363,
"id": 8340,
"nodeType": "Block",

@@ -145,3 +145,3 @@ "src": "156:64:104",

"documentation": null,
"id": 8364,
"id": 8341,
"implemented": true,

@@ -152,10 +152,10 @@ "kind": "function",

"arguments": null,
"id": 8361,
"id": 8338,
"modifierName": {
"argumentTypes": null,
"id": 8360,
"id": 8337,
"name": "onlyPrimary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8845,
"referencedDeclaration": 8722,
"src": "144:11:104",

@@ -174,3 +174,3 @@ "typeDescriptions": {

"parameters": {
"id": 8359,
"id": 8336,
"nodeType": "ParameterList",

@@ -181,3 +181,3 @@ "parameters": [],

"returnParameters": {
"id": 8362,
"id": 8339,
"nodeType": "ParameterList",

@@ -187,3 +187,3 @@ "parameters": [],

},
"scope": 8365,
"scope": 8342,
"src": "105:115:104",

@@ -195,3 +195,3 @@ "stateMutability": "view",

],
"scope": 8366,
"scope": 8343,
"src": "63:159:104"

@@ -206,10 +206,10 @@ }

"SecondaryMock": [
8365
8342
]
},
"id": 8366,
"id": 8343,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 8355,
"id": 8332,
"literals": [

@@ -227,6 +227,6 @@ "solidity",

"file": "../ownership/Secondary.sol",
"id": 8356,
"id": 8333,
"nodeType": "ImportDirective",
"scope": 8366,
"sourceUnit": 8880,
"scope": 8343,
"sourceUnit": 8757,
"src": "25:36:104",

@@ -242,13 +242,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 8357,
"id": 8334,
"name": "Secondary",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 8879,
"referencedDeclaration": 8756,
"src": "89:9:104",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Secondary_$8879",
"typeIdentifier": "t_contract$_Secondary_$8756",
"typeString": "contract Secondary"
}
},
"id": 8358,
"id": 8335,
"nodeType": "InheritanceSpecifier",

@@ -260,3 +260,3 @@ "src": "89:9:104"

26,
8879
8756
],

@@ -266,6 +266,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 8365,
"id": 8342,
"linearizedBaseContracts": [
8365,
8879,
8342,
8756,
26

@@ -278,3 +278,3 @@ ],

"body": {
"id": 8363,
"id": 8340,
"nodeType": "Block",

@@ -285,3 +285,3 @@ "src": "156:64:104",

"documentation": null,
"id": 8364,
"id": 8341,
"implemented": true,

@@ -292,10 +292,10 @@ "kind": "function",

"arguments": null,
"id": 8361,
"id": 8338,
"modifierName": {
"argumentTypes": null,
"id": 8360,
"id": 8337,
"name": "onlyPrimary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8845,
"referencedDeclaration": 8722,
"src": "144:11:104",

@@ -314,3 +314,3 @@ "typeDescriptions": {

"parameters": {
"id": 8359,
"id": 8336,
"nodeType": "ParameterList",

@@ -321,3 +321,3 @@ "parameters": [],

"returnParameters": {
"id": 8362,
"id": 8339,
"nodeType": "ParameterList",

@@ -327,3 +327,3 @@ "parameters": [],

},
"scope": 8365,
"scope": 8342,
"src": "105:115:104",

@@ -335,3 +335,3 @@ "stateMutability": "view",

],
"scope": 8366,
"scope": 8343,
"src": "63:159:104"

@@ -348,3 +348,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.790Z",
"updatedAt": "2019-08-16T19:32:31.303Z",
"devdoc": {

@@ -351,0 +351,0 @@ "methods": {

@@ -97,4 +97,4 @@ {

"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80630e316ab71461005c5780637df73e27146100a0578063b44e2ab9146100fc578063e5c8b03d14610106578063eb12d61e14610110575b600080fd5b61009e6004803603602081101561007257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610154565b005b6100e2600480360360208110156100b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610160565b604051808215151515815260200191505060405180910390f35b61010461017d565b005b61010e6101e4565b005b6101526004803603602081101561012657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101f6565b005b61015d81610267565b50565b600061017682600061027390919063ffffffff16565b9050919050565b61018d610188610351565b610160565b6101e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806105e96030913960400191505060405180910390fd5b565b6101f46101ef610351565b610267565b565b610206610201610351565b610160565b61025b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806105e96030913960400191505060405180910390fd5b61026481610359565b50565b610270816103b3565b50565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156102fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806105c76022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b61036d81600061040d90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f47d1c22a25bb3a5d4e481b9b1e6944c2eade3181a0a20b495ed61d35b5323f2460405160405180910390a250565b6103c78160006104e890919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f3525e22824a8a7df2c9a6029941c824cf95b6447f1e13d5128fd3826d35afe8b60405160405180910390a250565b6104178282610273565b1561048a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6104f28282610273565b610547576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806105a66021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f20616464726573735369676e6572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865205369676e657220726f6c65a165627a7a72305820c0d41b3cdc69c2500cf740aaa2b84d4462fc658d5e1590359f14841de0a6c3490029",
"sourceMap": "67:423:107:-;;;318:24:12;329:12;:10;;;:12;;:::i;:::-;318:10;;;:24;;:::i;:::-;67:423:107;;791:88:0;836:7;862:10;855:17;;791:88;:::o;786:119:12:-;842:21;855:7;842:8;:12;;;;;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;260:175:8:-;337:18;341:4;347:7;337:3;;;:18;;:::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;779:200::-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;67:423:107:-;;;;;;;",
"deployedSourceMap": "67:423:107:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;67:423:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;111:85;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;111:85:107;;;;;;;;;;;;;;;;;;;:::i;:::-;;494:107:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;494:107:12;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;202:113:107;;;:::i;:::-;;703:77:12;;;:::i;:::-;;607:90;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;607:90:12;;;;;;;;;;;;;;;;;;;:::i;:::-;;111:85:107;167:22;181:7;167:13;:22::i;:::-;111:85;:::o;494:107:12:-;550:4;573:21;586:7;573:8;:12;;:21;;;;:::i;:::-;566:28;;494:107;;;:::o;202:113:107:-;395:22:12;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;202:113:107:o;703:77:12:-;746:27;760:12;:10;:12::i;:::-;746:13;:27::i;:::-;703:77::o;607:90::-;395:22;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:19;682:7;671:10;:19::i;:::-;607:90;:::o;394:94:107:-;453:28;473:7;453:19;:28::i;:::-;394:94;:::o;779:200:8:-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;786:119:12:-;842:21;855:7;842:8;:12;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;911:127::-;970:24;986:7;970:8;:15;;:24;;;;:::i;:::-;1023:7;1009:22;;;;;;;;;;;;911:127;:::o;260:175:8:-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;678:5;655:4;:11;;:20;667:7;655:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;510:180;;:::o",
"sourceMap": "67:423:106:-;;;318:24:12;329:12;:10;;;:12;;:::i;:::-;318:10;;;:24;;:::i;:::-;67:423:106;;791:88:0;836:7;862:10;855:17;;791:88;:::o;786:119:12:-;842:21;855:7;842:8;:12;;;;;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;260:175:8:-;337:18;341:4;347:7;337:3;;;:18;;:::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;779:200::-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;67:423:106:-;;;;;;;",
"deployedSourceMap": "67:423:106:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;67:423:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;111:85;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;111:85:106;;;;;;;;;;;;;;;;;;;:::i;:::-;;494:107:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;494:107:12;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;202:113:106;;;:::i;:::-;;703:77:12;;;:::i;:::-;;607:90;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;607:90:12;;;;;;;;;;;;;;;;;;;:::i;:::-;;111:85:106;167:22;181:7;167:13;:22::i;:::-;111:85;:::o;494:107:12:-;550:4;573:21;586:7;573:8;:12;;:21;;;;:::i;:::-;566:28;;494:107;;;:::o;202:113:106:-;395:22:12;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;202:113:106:o;703:77:12:-;746:27;760:12;:10;:12::i;:::-;746:13;:27::i;:::-;703:77::o;607:90::-;395:22;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:19;682:7;671:10;:19::i;:::-;607:90;:::o;394:94:106:-;453:28;473:7;453:19;:28::i;:::-;394:94;:::o;779:200:8:-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;786:119:12:-;842:21;855:7;842:8;:12;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;911:127::-;970:24;986:7;970:8;:15;;:24;;;;:::i;:::-;1023:7;1009:22;;;;;;;;;;;;911:127;:::o;260:175:8:-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;678:5;655:4;:11;;:20;667:7;655:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;510:180;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../access/roles/SignerRole.sol\";\n\ncontract SignerRoleMock is SignerRole {\n function removeSigner(address account) public {\n _removeSigner(account);\n }\n\n function onlySignerMock() public view onlySigner {\n // solhint-disable-previous-line no-empty-blocks\n }\n\n // Causes a compilation error if super._removeSigner is not internal\n function _removeSigner(address account) internal {\n super._removeSigner(account);\n }\n}\n",

@@ -106,10 +106,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/SignerRoleMock.sol",

"SignerRoleMock": [
8567
8444
]
},
"id": 8568,
"id": 8445,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 8535,
"id": 8412,
"literals": [

@@ -122,3 +122,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:107"
"src": "0:23:106"
},

@@ -128,7 +128,7 @@ {

"file": "../access/roles/SignerRole.sol",
"id": 8536,
"id": 8413,
"nodeType": "ImportDirective",
"scope": 8568,
"sourceUnit": 1638,
"src": "25:40:107",
"scope": 8445,
"sourceUnit": 1617,
"src": "25:40:106",
"symbolAliases": [],

@@ -143,15 +143,15 @@ "unitAlias": ""

"contractScope": null,
"id": 8537,
"id": 8414,
"name": "SignerRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1637,
"src": "94:10:107",
"referencedDeclaration": 1616,
"src": "94:10:106",
"typeDescriptions": {
"typeIdentifier": "t_contract$_SignerRole_$1637",
"typeIdentifier": "t_contract$_SignerRole_$1616",
"typeString": "contract SignerRole"
}
},
"id": 8538,
"id": 8415,
"nodeType": "InheritanceSpecifier",
"src": "94:10:107"
"src": "94:10:106"
}

@@ -161,3 +161,3 @@ ],

26,
1637
1616
],

@@ -167,6 +167,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 8567,
"id": 8444,
"linearizedBaseContracts": [
8567,
1637,
8444,
1616,
26

@@ -179,5 +179,5 @@ ],

"body": {
"id": 8547,
"id": 8424,
"nodeType": "Block",
"src": "157:39:107",
"src": "157:39:106",
"statements": [

@@ -190,8 +190,8 @@ {

"argumentTypes": null,
"id": 8544,
"id": 8421,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8540,
"src": "181:7:107",
"referencedDeclaration": 8417,
"src": "181:7:106",
"typeDescriptions": {

@@ -210,10 +210,10 @@ "typeIdentifier": "t_address",

],
"id": 8543,
"id": 8420,
"name": "_removeSigner",
"nodeType": "Identifier",
"overloadedDeclarations": [
8566
8443
],
"referencedDeclaration": 8566,
"src": "167:13:107",
"referencedDeclaration": 8443,
"src": "167:13:106",
"typeDescriptions": {

@@ -224,3 +224,3 @@ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",

},
"id": 8545,
"id": 8422,
"isConstant": false,

@@ -233,3 +233,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "167:22:107",
"src": "167:22:106",
"typeDescriptions": {

@@ -240,5 +240,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 8546,
"id": 8423,
"nodeType": "ExpressionStatement",
"src": "167:22:107"
"src": "167:22:106"
}

@@ -248,3 +248,3 @@ ]

"documentation": null,
"id": 8548,
"id": 8425,
"implemented": true,

@@ -256,3 +256,3 @@ "kind": "function",

"parameters": {
"id": 8541,
"id": 8418,
"nodeType": "ParameterList",

@@ -262,7 +262,7 @@ "parameters": [

"constant": false,
"id": 8540,
"id": 8417,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 8548,
"src": "133:15:107",
"scope": 8425,
"src": "133:15:106",
"stateVariable": false,

@@ -275,6 +275,6 @@ "storageLocation": "default",

"typeName": {
"id": 8539,
"id": 8416,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "133:7:107",
"src": "133:7:106",
"stateMutability": "nonpayable",

@@ -290,12 +290,12 @@ "typeDescriptions": {

],
"src": "132:17:107"
"src": "132:17:106"
},
"returnParameters": {
"id": 8542,
"id": 8419,
"nodeType": "ParameterList",
"parameters": [],
"src": "157:0:107"
"src": "157:0:106"
},
"scope": 8567,
"src": "111:85:107",
"scope": 8444,
"src": "111:85:106",
"stateMutability": "nonpayable",

@@ -307,9 +307,9 @@ "superFunction": null,

"body": {
"id": 8553,
"id": 8430,
"nodeType": "Block",
"src": "251:64:107",
"src": "251:64:106",
"statements": []
},
"documentation": null,
"id": 8554,
"id": 8431,
"implemented": true,

@@ -320,11 +320,11 @@ "kind": "function",

"arguments": null,
"id": 8551,
"id": 8428,
"modifierName": {
"argumentTypes": null,
"id": 8550,
"id": 8427,
"name": "onlySigner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1570,
"src": "240:10:107",
"referencedDeclaration": 1549,
"src": "240:10:106",
"typeDescriptions": {

@@ -336,3 +336,3 @@ "typeIdentifier": "t_modifier$__$",

"nodeType": "ModifierInvocation",
"src": "240:10:107"
"src": "240:10:106"
}

@@ -343,15 +343,15 @@ ],

"parameters": {
"id": 8549,
"id": 8426,
"nodeType": "ParameterList",
"parameters": [],
"src": "225:2:107"
"src": "225:2:106"
},
"returnParameters": {
"id": 8552,
"id": 8429,
"nodeType": "ParameterList",
"parameters": [],
"src": "251:0:107"
"src": "251:0:106"
},
"scope": 8567,
"src": "202:113:107",
"scope": 8444,
"src": "202:113:106",
"stateMutability": "view",

@@ -363,5 +363,5 @@ "superFunction": null,

"body": {
"id": 8565,
"id": 8442,
"nodeType": "Block",
"src": "443:45:107",
"src": "443:45:106",
"statements": [

@@ -374,8 +374,8 @@ {

"argumentTypes": null,
"id": 8562,
"id": 8439,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8556,
"src": "473:7:107",
"referencedDeclaration": 8433,
"src": "473:7:106",
"typeDescriptions": {

@@ -396,14 +396,14 @@ "typeIdentifier": "t_address",

"argumentTypes": null,
"id": 8559,
"id": 8436,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13768,
"src": "453:5:107",
"referencedDeclaration": 13647,
"src": "453:5:106",
"typeDescriptions": {
"typeIdentifier": "t_super$_SignerRoleMock_$8567",
"typeIdentifier": "t_super$_SignerRoleMock_$8444",
"typeString": "contract super SignerRoleMock"
}
},
"id": 8561,
"id": 8438,
"isConstant": false,

@@ -415,4 +415,4 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 1636,
"src": "453:19:107",
"referencedDeclaration": 1615,
"src": "453:19:106",
"typeDescriptions": {

@@ -423,3 +423,3 @@ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",

},
"id": 8563,
"id": 8440,
"isConstant": false,

@@ -432,3 +432,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "453:28:107",
"src": "453:28:106",
"typeDescriptions": {

@@ -439,5 +439,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 8564,
"id": 8441,
"nodeType": "ExpressionStatement",
"src": "453:28:107"
"src": "453:28:106"
}

@@ -447,3 +447,3 @@ ]

"documentation": null,
"id": 8566,
"id": 8443,
"implemented": true,

@@ -455,3 +455,3 @@ "kind": "function",

"parameters": {
"id": 8557,
"id": 8434,
"nodeType": "ParameterList",

@@ -461,7 +461,7 @@ "parameters": [

"constant": false,
"id": 8556,
"id": 8433,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 8566,
"src": "417:15:107",
"scope": 8443,
"src": "417:15:106",
"stateVariable": false,

@@ -474,6 +474,6 @@ "storageLocation": "default",

"typeName": {
"id": 8555,
"id": 8432,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "417:7:107",
"src": "417:7:106",
"stateMutability": "nonpayable",

@@ -489,22 +489,22 @@ "typeDescriptions": {

],
"src": "416:17:107"
"src": "416:17:106"
},
"returnParameters": {
"id": 8558,
"id": 8435,
"nodeType": "ParameterList",
"parameters": [],
"src": "443:0:107"
"src": "443:0:106"
},
"scope": 8567,
"src": "394:94:107",
"scope": 8444,
"src": "394:94:106",
"stateMutability": "nonpayable",
"superFunction": 1636,
"superFunction": 1615,
"visibility": "internal"
}
],
"scope": 8568,
"src": "67:423:107"
"scope": 8445,
"src": "67:423:106"
}
],
"src": "0:491:107"
"src": "0:491:106"
},

@@ -515,10 +515,10 @@ "legacyAST": {

"SignerRoleMock": [
8567
8444
]
},
"id": 8568,
"id": 8445,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 8535,
"id": 8412,
"literals": [

@@ -531,3 +531,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:107"
"src": "0:23:106"
},

@@ -537,7 +537,7 @@ {

"file": "../access/roles/SignerRole.sol",
"id": 8536,
"id": 8413,
"nodeType": "ImportDirective",
"scope": 8568,
"sourceUnit": 1638,
"src": "25:40:107",
"scope": 8445,
"sourceUnit": 1617,
"src": "25:40:106",
"symbolAliases": [],

@@ -552,15 +552,15 @@ "unitAlias": ""

"contractScope": null,
"id": 8537,
"id": 8414,
"name": "SignerRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1637,
"src": "94:10:107",
"referencedDeclaration": 1616,
"src": "94:10:106",
"typeDescriptions": {
"typeIdentifier": "t_contract$_SignerRole_$1637",
"typeIdentifier": "t_contract$_SignerRole_$1616",
"typeString": "contract SignerRole"
}
},
"id": 8538,
"id": 8415,
"nodeType": "InheritanceSpecifier",
"src": "94:10:107"
"src": "94:10:106"
}

@@ -570,3 +570,3 @@ ],

26,
1637
1616
],

@@ -576,6 +576,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 8567,
"id": 8444,
"linearizedBaseContracts": [
8567,
1637,
8444,
1616,
26

@@ -588,5 +588,5 @@ ],

"body": {
"id": 8547,
"id": 8424,
"nodeType": "Block",
"src": "157:39:107",
"src": "157:39:106",
"statements": [

@@ -599,8 +599,8 @@ {

"argumentTypes": null,
"id": 8544,
"id": 8421,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8540,
"src": "181:7:107",
"referencedDeclaration": 8417,
"src": "181:7:106",
"typeDescriptions": {

@@ -619,10 +619,10 @@ "typeIdentifier": "t_address",

],
"id": 8543,
"id": 8420,
"name": "_removeSigner",
"nodeType": "Identifier",
"overloadedDeclarations": [
8566
8443
],
"referencedDeclaration": 8566,
"src": "167:13:107",
"referencedDeclaration": 8443,
"src": "167:13:106",
"typeDescriptions": {

@@ -633,3 +633,3 @@ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",

},
"id": 8545,
"id": 8422,
"isConstant": false,

@@ -642,3 +642,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "167:22:107",
"src": "167:22:106",
"typeDescriptions": {

@@ -649,5 +649,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 8546,
"id": 8423,
"nodeType": "ExpressionStatement",
"src": "167:22:107"
"src": "167:22:106"
}

@@ -657,3 +657,3 @@ ]

"documentation": null,
"id": 8548,
"id": 8425,
"implemented": true,

@@ -665,3 +665,3 @@ "kind": "function",

"parameters": {
"id": 8541,
"id": 8418,
"nodeType": "ParameterList",

@@ -671,7 +671,7 @@ "parameters": [

"constant": false,
"id": 8540,
"id": 8417,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 8548,
"src": "133:15:107",
"scope": 8425,
"src": "133:15:106",
"stateVariable": false,

@@ -684,6 +684,6 @@ "storageLocation": "default",

"typeName": {
"id": 8539,
"id": 8416,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "133:7:107",
"src": "133:7:106",
"stateMutability": "nonpayable",

@@ -699,12 +699,12 @@ "typeDescriptions": {

],
"src": "132:17:107"
"src": "132:17:106"
},
"returnParameters": {
"id": 8542,
"id": 8419,
"nodeType": "ParameterList",
"parameters": [],
"src": "157:0:107"
"src": "157:0:106"
},
"scope": 8567,
"src": "111:85:107",
"scope": 8444,
"src": "111:85:106",
"stateMutability": "nonpayable",

@@ -716,9 +716,9 @@ "superFunction": null,

"body": {
"id": 8553,
"id": 8430,
"nodeType": "Block",
"src": "251:64:107",
"src": "251:64:106",
"statements": []
},
"documentation": null,
"id": 8554,
"id": 8431,
"implemented": true,

@@ -729,11 +729,11 @@ "kind": "function",

"arguments": null,
"id": 8551,
"id": 8428,
"modifierName": {
"argumentTypes": null,
"id": 8550,
"id": 8427,
"name": "onlySigner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1570,
"src": "240:10:107",
"referencedDeclaration": 1549,
"src": "240:10:106",
"typeDescriptions": {

@@ -745,3 +745,3 @@ "typeIdentifier": "t_modifier$__$",

"nodeType": "ModifierInvocation",
"src": "240:10:107"
"src": "240:10:106"
}

@@ -752,15 +752,15 @@ ],

"parameters": {
"id": 8549,
"id": 8426,
"nodeType": "ParameterList",
"parameters": [],
"src": "225:2:107"
"src": "225:2:106"
},
"returnParameters": {
"id": 8552,
"id": 8429,
"nodeType": "ParameterList",
"parameters": [],
"src": "251:0:107"
"src": "251:0:106"
},
"scope": 8567,
"src": "202:113:107",
"scope": 8444,
"src": "202:113:106",
"stateMutability": "view",

@@ -772,5 +772,5 @@ "superFunction": null,

"body": {
"id": 8565,
"id": 8442,
"nodeType": "Block",
"src": "443:45:107",
"src": "443:45:106",
"statements": [

@@ -783,8 +783,8 @@ {

"argumentTypes": null,
"id": 8562,
"id": 8439,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8556,
"src": "473:7:107",
"referencedDeclaration": 8433,
"src": "473:7:106",
"typeDescriptions": {

@@ -805,14 +805,14 @@ "typeIdentifier": "t_address",

"argumentTypes": null,
"id": 8559,
"id": 8436,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13768,
"src": "453:5:107",
"referencedDeclaration": 13647,
"src": "453:5:106",
"typeDescriptions": {
"typeIdentifier": "t_super$_SignerRoleMock_$8567",
"typeIdentifier": "t_super$_SignerRoleMock_$8444",
"typeString": "contract super SignerRoleMock"
}
},
"id": 8561,
"id": 8438,
"isConstant": false,

@@ -824,4 +824,4 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 1636,
"src": "453:19:107",
"referencedDeclaration": 1615,
"src": "453:19:106",
"typeDescriptions": {

@@ -832,3 +832,3 @@ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",

},
"id": 8563,
"id": 8440,
"isConstant": false,

@@ -841,3 +841,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "453:28:107",
"src": "453:28:106",
"typeDescriptions": {

@@ -848,5 +848,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 8564,
"id": 8441,
"nodeType": "ExpressionStatement",
"src": "453:28:107"
"src": "453:28:106"
}

@@ -856,3 +856,3 @@ ]

"documentation": null,
"id": 8566,
"id": 8443,
"implemented": true,

@@ -864,3 +864,3 @@ "kind": "function",

"parameters": {
"id": 8557,
"id": 8434,
"nodeType": "ParameterList",

@@ -870,7 +870,7 @@ "parameters": [

"constant": false,
"id": 8556,
"id": 8433,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 8566,
"src": "417:15:107",
"scope": 8443,
"src": "417:15:106",
"stateVariable": false,

@@ -883,6 +883,6 @@ "storageLocation": "default",

"typeName": {
"id": 8555,
"id": 8432,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "417:7:107",
"src": "417:7:106",
"stateMutability": "nonpayable",

@@ -898,22 +898,22 @@ "typeDescriptions": {

],
"src": "416:17:107"
"src": "416:17:106"
},
"returnParameters": {
"id": 8558,
"id": 8435,
"nodeType": "ParameterList",
"parameters": [],
"src": "443:0:107"
"src": "443:0:106"
},
"scope": 8567,
"src": "394:94:107",
"scope": 8444,
"src": "394:94:106",
"stateMutability": "nonpayable",
"superFunction": 1636,
"superFunction": 1615,
"visibility": "internal"
}
],
"scope": 8568,
"src": "67:423:107"
"scope": 8445,
"src": "67:423:106"
}
],
"src": "0:491:107"
"src": "0:491:106"
},

@@ -926,3 +926,3 @@ "compiler": {

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.793Z",
"updatedAt": "2019-08-16T19:32:31.305Z",
"devdoc": {

@@ -929,0 +929,0 @@ "methods": {}

@@ -27,4 +27,4 @@ {

"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a2bd364414610030575b600080fd5b61005c6004803603602081101561004657600080fd5b81019080803590602001909291905050506100d7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561009c578082015181840152602081019050610081565b50505050905090810190601f1680156100c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60606100e2826100e9565b9050919050565b60606000821415610131576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050610214565b600082905060005b6000821461015b578080600101915050600a828161015357fe5b049150610139565b6060816040519080825280601f01601f1916602001820160405280156101905781602001600182028038833980820191505090505b50905060006001830390508593505b6000841461020c57600a84816101b157fe5b0660300160f81b828280600190039350815181106101cb57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a848161020457fe5b04935061019f565b819450505050505b91905056fea165627a7a723058203012ff1a31af5f640e025e01a61b0f5aba62c2212dea7f3c990a3007d7a91f4f0029",
"sourceMap": "58:151:108:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;58:151:108;;;;;;;",
"deployedSourceMap": "58:151:108:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;58:151:108;;;;;;;;;;;;;;;;;;;85:122;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;85:122:108;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;85:122:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;142:13;174:26;194:5;174:19;:26::i;:::-;167:33;;85:122;;;:::o;318:538:36:-;377:13;415:1;406:5;:10;402:51;;;432:10;;;;;;;;;;;;;;;;;;;;;402:51;462:12;477:5;462:20;;492:14;516:75;531:1;523:4;:9;516:75;;548:8;;;;;;;578:2;570:10;;;;;;;;;516:75;;;600:19;632:6;622:17;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;116:4;104:10;96:6;87:34;147:4;139:6;135:17;125:27;;0:156;622:17:36;;;;600:39;;649:13;674:1;665:6;:10;649:26;;692:5;685:12;;707:112;722:1;714:4;:9;707:112;;780:2;773:4;:9;;;;;;768:2;:14;757:27;;739:6;746:7;;;;;;;739:15;;;;;;;;;;;:45;;;;;;;;;;;806:2;798:10;;;;;;;;;707:112;;;842:6;828:21;;;;;;318:538;;;;:::o",
"sourceMap": "58:151:107:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;58:151:107;;;;;;;",
"deployedSourceMap": "58:151:107:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;58:151:107;;;;;;;;;;;;;;;;;;;85:122;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;85:122:107;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;85:122:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;142:13;174:26;194:5;174:19;:26::i;:::-;167:33;;85:122;;;:::o;318:538:36:-;377:13;415:1;406:5;:10;402:51;;;432:10;;;;;;;;;;;;;;;;;;;;;402:51;462:12;477:5;462:20;;492:14;516:75;531:1;523:4;:9;516:75;;548:8;;;;;;;578:2;570:10;;;;;;;;;516:75;;;600:19;632:6;622:17;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;116:4;104:10;96:6;87:34;147:4;139:6;135:17;125:27;;0:156;622:17:36;;;;600:39;;649:13;674:1;665:6;:10;649:26;;692:5;685:12;;707:112;722:1;714:4;:9;707:112;;780:2;773:4;:9;;;;;;768:2;:14;757:27;;739:6;746:7;;;;;;;739:15;;;;;;;;;;;:45;;;;;;;;;;;806:2;798:10;;;;;;;;;707:112;;;842:6;828:21;;;;;;318:538;;;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../drafts/Strings.sol\";\n\ncontract StringsMock {\n function fromUint256(uint256 value) public pure returns (string memory) {\n return Strings.fromUint256(value);\n }\n}\n",

@@ -36,10 +36,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/StringsMock.sol",

"StringsMock": [
8584
8461
]
},
"id": 8585,
"id": 8462,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 8569,
"id": 8446,
"literals": [

@@ -52,3 +52,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:108"
"src": "0:23:107"
},

@@ -58,7 +58,7 @@ {

"file": "../drafts/Strings.sol",
"id": 8570,
"id": 8447,
"nodeType": "ImportDirective",
"scope": 8585,
"sourceUnit": 4358,
"src": "25:31:108",
"scope": 8462,
"sourceUnit": 4337,
"src": "25:31:107",
"symbolAliases": [],

@@ -73,5 +73,5 @@ "unitAlias": ""

"fullyImplemented": true,
"id": 8584,
"id": 8461,
"linearizedBaseContracts": [
8584
8461
],

@@ -83,5 +83,5 @@ "name": "StringsMock",

"body": {
"id": 8582,
"id": 8459,
"nodeType": "Block",
"src": "157:50:108",
"src": "157:50:107",
"statements": [

@@ -94,8 +94,8 @@ {

"argumentTypes": null,
"id": 8579,
"id": 8456,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8572,
"src": "194:5:108",
"referencedDeclaration": 8449,
"src": "194:5:107",
"typeDescriptions": {

@@ -116,14 +116,14 @@ "typeIdentifier": "t_uint256",

"argumentTypes": null,
"id": 8577,
"id": 8454,
"name": "Strings",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4357,
"src": "174:7:108",
"referencedDeclaration": 4336,
"src": "174:7:107",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Strings_$4357_$",
"typeIdentifier": "t_type$_t_contract$_Strings_$4336_$",
"typeString": "type(library Strings)"
}
},
"id": 8578,
"id": 8455,
"isConstant": false,

@@ -135,4 +135,4 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 4356,
"src": "174:19:108",
"referencedDeclaration": 4335,
"src": "174:19:107",
"typeDescriptions": {

@@ -143,3 +143,3 @@ "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$",

},
"id": 8580,
"id": 8457,
"isConstant": false,

@@ -152,3 +152,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "174:26:108",
"src": "174:26:107",
"typeDescriptions": {

@@ -159,6 +159,6 @@ "typeIdentifier": "t_string_memory_ptr",

},
"functionReturnParameters": 8576,
"id": 8581,
"functionReturnParameters": 8453,
"id": 8458,
"nodeType": "Return",
"src": "167:33:108"
"src": "167:33:107"
}

@@ -168,3 +168,3 @@ ]

"documentation": null,
"id": 8583,
"id": 8460,
"implemented": true,

@@ -176,3 +176,3 @@ "kind": "function",

"parameters": {
"id": 8573,
"id": 8450,
"nodeType": "ParameterList",

@@ -182,7 +182,7 @@ "parameters": [

"constant": false,
"id": 8572,
"id": 8449,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 8583,
"src": "106:13:108",
"scope": 8460,
"src": "106:13:107",
"stateVariable": false,

@@ -195,6 +195,6 @@ "storageLocation": "default",

"typeName": {
"id": 8571,
"id": 8448,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "106:7:108",
"src": "106:7:107",
"typeDescriptions": {

@@ -209,6 +209,6 @@ "typeIdentifier": "t_uint256",

],
"src": "105:15:108"
"src": "105:15:107"
},
"returnParameters": {
"id": 8576,
"id": 8453,
"nodeType": "ParameterList",

@@ -218,7 +218,7 @@ "parameters": [

"constant": false,
"id": 8575,
"id": 8452,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 8583,
"src": "142:13:108",
"scope": 8460,
"src": "142:13:107",
"stateVariable": false,

@@ -231,6 +231,6 @@ "storageLocation": "memory",

"typeName": {
"id": 8574,
"id": 8451,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "142:6:108",
"src": "142:6:107",
"typeDescriptions": {

@@ -245,6 +245,6 @@ "typeIdentifier": "t_string_storage_ptr",

],
"src": "141:15:108"
"src": "141:15:107"
},
"scope": 8584,
"src": "85:122:108",
"scope": 8461,
"src": "85:122:107",
"stateMutability": "pure",

@@ -255,7 +255,7 @@ "superFunction": null,

],
"scope": 8585,
"src": "58:151:108"
"scope": 8462,
"src": "58:151:107"
}
],
"src": "0:210:108"
"src": "0:210:107"
},

@@ -266,10 +266,10 @@ "legacyAST": {

"StringsMock": [
8584
8461
]
},
"id": 8585,
"id": 8462,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 8569,
"id": 8446,
"literals": [

@@ -282,3 +282,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:108"
"src": "0:23:107"
},

@@ -288,7 +288,7 @@ {

"file": "../drafts/Strings.sol",
"id": 8570,
"id": 8447,
"nodeType": "ImportDirective",
"scope": 8585,
"sourceUnit": 4358,
"src": "25:31:108",
"scope": 8462,
"sourceUnit": 4337,
"src": "25:31:107",
"symbolAliases": [],

@@ -303,5 +303,5 @@ "unitAlias": ""

"fullyImplemented": true,
"id": 8584,
"id": 8461,
"linearizedBaseContracts": [
8584
8461
],

@@ -313,5 +313,5 @@ "name": "StringsMock",

"body": {
"id": 8582,
"id": 8459,
"nodeType": "Block",
"src": "157:50:108",
"src": "157:50:107",
"statements": [

@@ -324,8 +324,8 @@ {

"argumentTypes": null,
"id": 8579,
"id": 8456,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8572,
"src": "194:5:108",
"referencedDeclaration": 8449,
"src": "194:5:107",
"typeDescriptions": {

@@ -346,14 +346,14 @@ "typeIdentifier": "t_uint256",

"argumentTypes": null,
"id": 8577,
"id": 8454,
"name": "Strings",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4357,
"src": "174:7:108",
"referencedDeclaration": 4336,
"src": "174:7:107",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Strings_$4357_$",
"typeIdentifier": "t_type$_t_contract$_Strings_$4336_$",
"typeString": "type(library Strings)"
}
},
"id": 8578,
"id": 8455,
"isConstant": false,

@@ -365,4 +365,4 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 4356,
"src": "174:19:108",
"referencedDeclaration": 4335,
"src": "174:19:107",
"typeDescriptions": {

@@ -373,3 +373,3 @@ "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$",

},
"id": 8580,
"id": 8457,
"isConstant": false,

@@ -382,3 +382,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "174:26:108",
"src": "174:26:107",
"typeDescriptions": {

@@ -389,6 +389,6 @@ "typeIdentifier": "t_string_memory_ptr",

},
"functionReturnParameters": 8576,
"id": 8581,
"functionReturnParameters": 8453,
"id": 8458,
"nodeType": "Return",
"src": "167:33:108"
"src": "167:33:107"
}

@@ -398,3 +398,3 @@ ]

"documentation": null,
"id": 8583,
"id": 8460,
"implemented": true,

@@ -406,3 +406,3 @@ "kind": "function",

"parameters": {
"id": 8573,
"id": 8450,
"nodeType": "ParameterList",

@@ -412,7 +412,7 @@ "parameters": [

"constant": false,
"id": 8572,
"id": 8449,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 8583,
"src": "106:13:108",
"scope": 8460,
"src": "106:13:107",
"stateVariable": false,

@@ -425,6 +425,6 @@ "storageLocation": "default",

"typeName": {
"id": 8571,
"id": 8448,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "106:7:108",
"src": "106:7:107",
"typeDescriptions": {

@@ -439,6 +439,6 @@ "typeIdentifier": "t_uint256",

],
"src": "105:15:108"
"src": "105:15:107"
},
"returnParameters": {
"id": 8576,
"id": 8453,
"nodeType": "ParameterList",

@@ -448,7 +448,7 @@ "parameters": [

"constant": false,
"id": 8575,
"id": 8452,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 8583,
"src": "142:13:108",
"scope": 8460,
"src": "142:13:107",
"stateVariable": false,

@@ -461,6 +461,6 @@ "storageLocation": "memory",

"typeName": {
"id": 8574,
"id": 8451,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "142:6:108",
"src": "142:6:107",
"typeDescriptions": {

@@ -475,6 +475,6 @@ "typeIdentifier": "t_string_storage_ptr",

],
"src": "141:15:108"
"src": "141:15:107"
},
"scope": 8584,
"src": "85:122:108",
"scope": 8461,
"src": "85:122:107",
"stateMutability": "pure",

@@ -485,7 +485,7 @@ "superFunction": null,

],
"scope": 8585,
"src": "58:151:108"
"scope": 8462,
"src": "58:151:107"
}
],
"src": "0:210:108"
"src": "0:210:107"
},

@@ -498,3 +498,3 @@ "compiler": {

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.794Z",
"updatedAt": "2019-08-16T19:32:31.306Z",
"devdoc": {

@@ -501,0 +501,0 @@ "methods": {}

@@ -97,4 +97,4 @@ {

"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80634c5a628c1461005c578063564c74a3146100665780636897e974146100705780637362d9c8146100b4578063bb5f747b146100f8575b600080fd5b610064610154565b005b61006e610166565b005b6100b26004803603602081101561008657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101cd565b005b6100f6600480360360208110156100ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101d9565b005b61013a6004803603602081101561010e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061024a565b604051808215151515815260200191505060405180910390f35b61016461015f610267565b61026f565b565b610176610171610267565b61024a565b6101cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260408152602001806105e96040913960400191505060405180910390fd5b565b6101d68161026f565b50565b6101e96101e4610267565b61024a565b61023e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260408152602001806105e96040913960400191505060405180910390fd5b6102478161027b565b50565b60006102608260006102d590919063ffffffff16565b9050919050565b600033905090565b610278816103b3565b50565b61028f81600061040d90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129960405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561035c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806105c76022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6103c78160006104e890919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f0a8eb35e5ca14b3d6f28e4abf2f128dbab231a58b56e89beb5d636115001e16560405160405180910390a250565b61041782826102d5565b1561048a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6104f282826102d5565b610547576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806105a66021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737357686974656c69737441646d696e526f6c653a2063616c6c657220646f6573206e6f742068617665207468652057686974656c69737441646d696e20726f6c65a165627a7a7230582061508ff3cdb80d58cf6d96bbb658f963b81d280c8e086d43d351caba5ee388af0029",
"sourceMap": "75:495:110:-;;;476:32:13;495:12;:10;;;:12;;:::i;:::-;476:18;;;:32;;:::i;:::-;75:495:110;;791:88:0;836:7;862:10;855:17;;791:88;:::o;1040:143:13:-;1104:29;1125:7;1104:16;:20;;;;;;:29;;;;:::i;:::-;1168:7;1148:28;;;;;;;;;;;;1040:143;:::o;260:175:8:-;337:18;341:4;347:7;337:3;;;:18;;:::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;779:200::-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;75:495:110:-;;;;;;;",
"deployedSourceMap": "75:495:110:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;75:495:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:93:13;;;:::i;:::-;;242:129:110;;;:::i;:::-;;135:101;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;135:101:110;;;;;;;;;;;;;;;;;;;:::i;:::-;;821:114:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;821:114:13;;;;;;;;;;;;;;;;;;;:::i;:::-;;692:123;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;692:123:13;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;941:93;992:35;1014:12;:10;:12::i;:::-;992:21;:35::i;:::-;941:93::o;242:129:110:-;569:30:13;586:12;:10;:12::i;:::-;569:16;:30::i;:::-;561:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;242:129:110:o;135:101::-;199:30;221:7;199:21;:30::i;:::-;135:101;:::o;821:114:13:-;569:30;586:12;:10;:12::i;:::-;569:16;:30::i;:::-;561:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;901:27;920:7;901:18;:27::i;:::-;821:114;:::o;692:123::-;756:4;779:29;800:7;779:16;:20;;:29;;;;:::i;:::-;772:36;;692:123;;;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;458:110:110:-;525:36;553:7;525:27;:36::i;:::-;458:110;:::o;1040:143:13:-;1104:29;1125:7;1104:16;:20;;:29;;;;:::i;:::-;1168:7;1148:28;;;;;;;;;;;;1040:143;:::o;779:200:8:-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;1189:151:13:-;1256:32;1280:7;1256:16;:23;;:32;;;;:::i;:::-;1325:7;1303:30;;;;;;;;;;;;1189:151;:::o;260:175:8:-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;678:5;655:4;:11;;:20;667:7;655:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;510:180;;:::o",
"sourceMap": "75:495:109:-;;;476:32:13;495:12;:10;;;:12;;:::i;:::-;476:18;;;:32;;:::i;:::-;75:495:109;;791:88:0;836:7;862:10;855:17;;791:88;:::o;1040:143:13:-;1104:29;1125:7;1104:16;:20;;;;;;:29;;;;:::i;:::-;1168:7;1148:28;;;;;;;;;;;;1040:143;:::o;260:175:8:-;337:18;341:4;347:7;337:3;;;:18;;:::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;779:200::-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;75:495:109:-;;;;;;;",
"deployedSourceMap": "75:495:109:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;75:495:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:93:13;;;:::i;:::-;;242:129:109;;;:::i;:::-;;135:101;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;135:101:109;;;;;;;;;;;;;;;;;;;:::i;:::-;;821:114:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;821:114:13;;;;;;;;;;;;;;;;;;;:::i;:::-;;692:123;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;692:123:13;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;941:93;992:35;1014:12;:10;:12::i;:::-;992:21;:35::i;:::-;941:93::o;242:129:109:-;569:30:13;586:12;:10;:12::i;:::-;569:16;:30::i;:::-;561:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;242:129:109:o;135:101::-;199:30;221:7;199:21;:30::i;:::-;135:101;:::o;821:114:13:-;569:30;586:12;:10;:12::i;:::-;569:16;:30::i;:::-;561:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;901:27;920:7;901:18;:27::i;:::-;821:114;:::o;692:123::-;756:4;779:29;800:7;779:16;:20;;:29;;;;:::i;:::-;772:36;;692:123;;;:::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;458:110:109:-;525:36;553:7;525:27;:36::i;:::-;458:110;:::o;1040:143:13:-;1104:29;1125:7;1104:16;:20;;:29;;;;:::i;:::-;1168:7;1148:28;;;;;;;;;;;;1040:143;:::o;779:200:8:-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;1189:151:13:-;1256:32;1280:7;1256:16;:23;;:32;;;;:::i;:::-;1325:7;1303:30;;;;;;;;;;;;1189:151;:::o;260:175:8:-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;678:5;655:4;:11;;:20;667:7;655:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;510:180;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../access/roles/WhitelistAdminRole.sol\";\n\ncontract WhitelistAdminRoleMock is WhitelistAdminRole {\n function removeWhitelistAdmin(address account) public {\n _removeWhitelistAdmin(account);\n }\n\n function onlyWhitelistAdminMock() public view onlyWhitelistAdmin {\n // solhint-disable-previous-line no-empty-blocks\n }\n\n // Causes a compilation error if super._removeWhitelistAdmin is not internal\n function _removeWhitelistAdmin(address account) internal {\n super._removeWhitelistAdmin(account);\n }\n}\n",

@@ -106,10 +106,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/WhitelistAdminRoleMock.sol",

"WhitelistAdminRoleMock": [
8658
8535
]
},
"id": 8659,
"id": 8536,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 8626,
"id": 8503,
"literals": [

@@ -122,3 +122,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:110"
"src": "0:23:109"
},

@@ -128,7 +128,7 @@ {

"file": "../access/roles/WhitelistAdminRole.sol",
"id": 8627,
"id": 8504,
"nodeType": "ImportDirective",
"scope": 8659,
"sourceUnit": 1745,
"src": "25:48:110",
"scope": 8536,
"sourceUnit": 1724,
"src": "25:48:109",
"symbolAliases": [],

@@ -143,15 +143,15 @@ "unitAlias": ""

"contractScope": null,
"id": 8628,
"id": 8505,
"name": "WhitelistAdminRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1744,
"src": "110:18:110",
"referencedDeclaration": 1723,
"src": "110:18:109",
"typeDescriptions": {
"typeIdentifier": "t_contract$_WhitelistAdminRole_$1744",
"typeIdentifier": "t_contract$_WhitelistAdminRole_$1723",
"typeString": "contract WhitelistAdminRole"
}
},
"id": 8629,
"id": 8506,
"nodeType": "InheritanceSpecifier",
"src": "110:18:110"
"src": "110:18:109"
}

@@ -161,3 +161,3 @@ ],

26,
1744
1723
],

@@ -167,6 +167,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 8658,
"id": 8535,
"linearizedBaseContracts": [
8658,
1744,
8535,
1723,
26

@@ -179,5 +179,5 @@ ],

"body": {
"id": 8638,
"id": 8515,
"nodeType": "Block",
"src": "189:47:110",
"src": "189:47:109",
"statements": [

@@ -190,8 +190,8 @@ {

"argumentTypes": null,
"id": 8635,
"id": 8512,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8631,
"src": "221:7:110",
"referencedDeclaration": 8508,
"src": "221:7:109",
"typeDescriptions": {

@@ -210,10 +210,10 @@ "typeIdentifier": "t_address",

],
"id": 8634,
"id": 8511,
"name": "_removeWhitelistAdmin",
"nodeType": "Identifier",
"overloadedDeclarations": [
8657
8534
],
"referencedDeclaration": 8657,
"src": "199:21:110",
"referencedDeclaration": 8534,
"src": "199:21:109",
"typeDescriptions": {

@@ -224,3 +224,3 @@ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",

},
"id": 8636,
"id": 8513,
"isConstant": false,

@@ -233,3 +233,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "199:30:110",
"src": "199:30:109",
"typeDescriptions": {

@@ -240,5 +240,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 8637,
"id": 8514,
"nodeType": "ExpressionStatement",
"src": "199:30:110"
"src": "199:30:109"
}

@@ -248,3 +248,3 @@ ]

"documentation": null,
"id": 8639,
"id": 8516,
"implemented": true,

@@ -256,3 +256,3 @@ "kind": "function",

"parameters": {
"id": 8632,
"id": 8509,
"nodeType": "ParameterList",

@@ -262,7 +262,7 @@ "parameters": [

"constant": false,
"id": 8631,
"id": 8508,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 8639,
"src": "165:15:110",
"scope": 8516,
"src": "165:15:109",
"stateVariable": false,

@@ -275,6 +275,6 @@ "storageLocation": "default",

"typeName": {
"id": 8630,
"id": 8507,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "165:7:110",
"src": "165:7:109",
"stateMutability": "nonpayable",

@@ -290,12 +290,12 @@ "typeDescriptions": {

],
"src": "164:17:110"
"src": "164:17:109"
},
"returnParameters": {
"id": 8633,
"id": 8510,
"nodeType": "ParameterList",
"parameters": [],
"src": "189:0:110"
"src": "189:0:109"
},
"scope": 8658,
"src": "135:101:110",
"scope": 8535,
"src": "135:101:109",
"stateMutability": "nonpayable",

@@ -307,9 +307,9 @@ "superFunction": null,

"body": {
"id": 8644,
"id": 8521,
"nodeType": "Block",
"src": "307:64:110",
"src": "307:64:109",
"statements": []
},
"documentation": null,
"id": 8645,
"id": 8522,
"implemented": true,

@@ -320,11 +320,11 @@ "kind": "function",

"arguments": null,
"id": 8642,
"id": 8519,
"modifierName": {
"argumentTypes": null,
"id": 8641,
"id": 8518,
"name": "onlyWhitelistAdmin",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1677,
"src": "288:18:110",
"referencedDeclaration": 1656,
"src": "288:18:109",
"typeDescriptions": {

@@ -336,3 +336,3 @@ "typeIdentifier": "t_modifier$__$",

"nodeType": "ModifierInvocation",
"src": "288:18:110"
"src": "288:18:109"
}

@@ -343,15 +343,15 @@ ],

"parameters": {
"id": 8640,
"id": 8517,
"nodeType": "ParameterList",
"parameters": [],
"src": "273:2:110"
"src": "273:2:109"
},
"returnParameters": {
"id": 8643,
"id": 8520,
"nodeType": "ParameterList",
"parameters": [],
"src": "307:0:110"
"src": "307:0:109"
},
"scope": 8658,
"src": "242:129:110",
"scope": 8535,
"src": "242:129:109",
"stateMutability": "view",

@@ -363,5 +363,5 @@ "superFunction": null,

"body": {
"id": 8656,
"id": 8533,
"nodeType": "Block",
"src": "515:53:110",
"src": "515:53:109",
"statements": [

@@ -374,8 +374,8 @@ {

"argumentTypes": null,
"id": 8653,
"id": 8530,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8647,
"src": "553:7:110",
"referencedDeclaration": 8524,
"src": "553:7:109",
"typeDescriptions": {

@@ -396,14 +396,14 @@ "typeIdentifier": "t_address",

"argumentTypes": null,
"id": 8650,
"id": 8527,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13778,
"src": "525:5:110",
"referencedDeclaration": 13653,
"src": "525:5:109",
"typeDescriptions": {
"typeIdentifier": "t_super$_WhitelistAdminRoleMock_$8658",
"typeIdentifier": "t_super$_WhitelistAdminRoleMock_$8535",
"typeString": "contract super WhitelistAdminRoleMock"
}
},
"id": 8652,
"id": 8529,
"isConstant": false,

@@ -415,4 +415,4 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 1743,
"src": "525:27:110",
"referencedDeclaration": 1722,
"src": "525:27:109",
"typeDescriptions": {

@@ -423,3 +423,3 @@ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",

},
"id": 8654,
"id": 8531,
"isConstant": false,

@@ -432,3 +432,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "525:36:110",
"src": "525:36:109",
"typeDescriptions": {

@@ -439,5 +439,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 8655,
"id": 8532,
"nodeType": "ExpressionStatement",
"src": "525:36:110"
"src": "525:36:109"
}

@@ -447,3 +447,3 @@ ]

"documentation": null,
"id": 8657,
"id": 8534,
"implemented": true,

@@ -455,3 +455,3 @@ "kind": "function",

"parameters": {
"id": 8648,
"id": 8525,
"nodeType": "ParameterList",

@@ -461,7 +461,7 @@ "parameters": [

"constant": false,
"id": 8647,
"id": 8524,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 8657,
"src": "489:15:110",
"scope": 8534,
"src": "489:15:109",
"stateVariable": false,

@@ -474,6 +474,6 @@ "storageLocation": "default",

"typeName": {
"id": 8646,
"id": 8523,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "489:7:110",
"src": "489:7:109",
"stateMutability": "nonpayable",

@@ -489,22 +489,22 @@ "typeDescriptions": {

],
"src": "488:17:110"
"src": "488:17:109"
},
"returnParameters": {
"id": 8649,
"id": 8526,
"nodeType": "ParameterList",
"parameters": [],
"src": "515:0:110"
"src": "515:0:109"
},
"scope": 8658,
"src": "458:110:110",
"scope": 8535,
"src": "458:110:109",
"stateMutability": "nonpayable",
"superFunction": 1743,
"superFunction": 1722,
"visibility": "internal"
}
],
"scope": 8659,
"src": "75:495:110"
"scope": 8536,
"src": "75:495:109"
}
],
"src": "0:571:110"
"src": "0:571:109"
},

@@ -515,10 +515,10 @@ "legacyAST": {

"WhitelistAdminRoleMock": [
8658
8535
]
},
"id": 8659,
"id": 8536,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 8626,
"id": 8503,
"literals": [

@@ -531,3 +531,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:110"
"src": "0:23:109"
},

@@ -537,7 +537,7 @@ {

"file": "../access/roles/WhitelistAdminRole.sol",
"id": 8627,
"id": 8504,
"nodeType": "ImportDirective",
"scope": 8659,
"sourceUnit": 1745,
"src": "25:48:110",
"scope": 8536,
"sourceUnit": 1724,
"src": "25:48:109",
"symbolAliases": [],

@@ -552,15 +552,15 @@ "unitAlias": ""

"contractScope": null,
"id": 8628,
"id": 8505,
"name": "WhitelistAdminRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1744,
"src": "110:18:110",
"referencedDeclaration": 1723,
"src": "110:18:109",
"typeDescriptions": {
"typeIdentifier": "t_contract$_WhitelistAdminRole_$1744",
"typeIdentifier": "t_contract$_WhitelistAdminRole_$1723",
"typeString": "contract WhitelistAdminRole"
}
},
"id": 8629,
"id": 8506,
"nodeType": "InheritanceSpecifier",
"src": "110:18:110"
"src": "110:18:109"
}

@@ -570,3 +570,3 @@ ],

26,
1744
1723
],

@@ -576,6 +576,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 8658,
"id": 8535,
"linearizedBaseContracts": [
8658,
1744,
8535,
1723,
26

@@ -588,5 +588,5 @@ ],

"body": {
"id": 8638,
"id": 8515,
"nodeType": "Block",
"src": "189:47:110",
"src": "189:47:109",
"statements": [

@@ -599,8 +599,8 @@ {

"argumentTypes": null,
"id": 8635,
"id": 8512,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8631,
"src": "221:7:110",
"referencedDeclaration": 8508,
"src": "221:7:109",
"typeDescriptions": {

@@ -619,10 +619,10 @@ "typeIdentifier": "t_address",

],
"id": 8634,
"id": 8511,
"name": "_removeWhitelistAdmin",
"nodeType": "Identifier",
"overloadedDeclarations": [
8657
8534
],
"referencedDeclaration": 8657,
"src": "199:21:110",
"referencedDeclaration": 8534,
"src": "199:21:109",
"typeDescriptions": {

@@ -633,3 +633,3 @@ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",

},
"id": 8636,
"id": 8513,
"isConstant": false,

@@ -642,3 +642,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "199:30:110",
"src": "199:30:109",
"typeDescriptions": {

@@ -649,5 +649,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 8637,
"id": 8514,
"nodeType": "ExpressionStatement",
"src": "199:30:110"
"src": "199:30:109"
}

@@ -657,3 +657,3 @@ ]

"documentation": null,
"id": 8639,
"id": 8516,
"implemented": true,

@@ -665,3 +665,3 @@ "kind": "function",

"parameters": {
"id": 8632,
"id": 8509,
"nodeType": "ParameterList",

@@ -671,7 +671,7 @@ "parameters": [

"constant": false,
"id": 8631,
"id": 8508,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 8639,
"src": "165:15:110",
"scope": 8516,
"src": "165:15:109",
"stateVariable": false,

@@ -684,6 +684,6 @@ "storageLocation": "default",

"typeName": {
"id": 8630,
"id": 8507,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "165:7:110",
"src": "165:7:109",
"stateMutability": "nonpayable",

@@ -699,12 +699,12 @@ "typeDescriptions": {

],
"src": "164:17:110"
"src": "164:17:109"
},
"returnParameters": {
"id": 8633,
"id": 8510,
"nodeType": "ParameterList",
"parameters": [],
"src": "189:0:110"
"src": "189:0:109"
},
"scope": 8658,
"src": "135:101:110",
"scope": 8535,
"src": "135:101:109",
"stateMutability": "nonpayable",

@@ -716,9 +716,9 @@ "superFunction": null,

"body": {
"id": 8644,
"id": 8521,
"nodeType": "Block",
"src": "307:64:110",
"src": "307:64:109",
"statements": []
},
"documentation": null,
"id": 8645,
"id": 8522,
"implemented": true,

@@ -729,11 +729,11 @@ "kind": "function",

"arguments": null,
"id": 8642,
"id": 8519,
"modifierName": {
"argumentTypes": null,
"id": 8641,
"id": 8518,
"name": "onlyWhitelistAdmin",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1677,
"src": "288:18:110",
"referencedDeclaration": 1656,
"src": "288:18:109",
"typeDescriptions": {

@@ -745,3 +745,3 @@ "typeIdentifier": "t_modifier$__$",

"nodeType": "ModifierInvocation",
"src": "288:18:110"
"src": "288:18:109"
}

@@ -752,15 +752,15 @@ ],

"parameters": {
"id": 8640,
"id": 8517,
"nodeType": "ParameterList",
"parameters": [],
"src": "273:2:110"
"src": "273:2:109"
},
"returnParameters": {
"id": 8643,
"id": 8520,
"nodeType": "ParameterList",
"parameters": [],
"src": "307:0:110"
"src": "307:0:109"
},
"scope": 8658,
"src": "242:129:110",
"scope": 8535,
"src": "242:129:109",
"stateMutability": "view",

@@ -772,5 +772,5 @@ "superFunction": null,

"body": {
"id": 8656,
"id": 8533,
"nodeType": "Block",
"src": "515:53:110",
"src": "515:53:109",
"statements": [

@@ -783,8 +783,8 @@ {

"argumentTypes": null,
"id": 8653,
"id": 8530,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8647,
"src": "553:7:110",
"referencedDeclaration": 8524,
"src": "553:7:109",
"typeDescriptions": {

@@ -805,14 +805,14 @@ "typeIdentifier": "t_address",

"argumentTypes": null,
"id": 8650,
"id": 8527,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13778,
"src": "525:5:110",
"referencedDeclaration": 13653,
"src": "525:5:109",
"typeDescriptions": {
"typeIdentifier": "t_super$_WhitelistAdminRoleMock_$8658",
"typeIdentifier": "t_super$_WhitelistAdminRoleMock_$8535",
"typeString": "contract super WhitelistAdminRoleMock"
}
},
"id": 8652,
"id": 8529,
"isConstant": false,

@@ -824,4 +824,4 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 1743,
"src": "525:27:110",
"referencedDeclaration": 1722,
"src": "525:27:109",
"typeDescriptions": {

@@ -832,3 +832,3 @@ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",

},
"id": 8654,
"id": 8531,
"isConstant": false,

@@ -841,3 +841,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "525:36:110",
"src": "525:36:109",
"typeDescriptions": {

@@ -848,5 +848,5 @@ "typeIdentifier": "t_tuple$__$",

},
"id": 8655,
"id": 8532,
"nodeType": "ExpressionStatement",
"src": "525:36:110"
"src": "525:36:109"
}

@@ -856,3 +856,3 @@ ]

"documentation": null,
"id": 8657,
"id": 8534,
"implemented": true,

@@ -864,3 +864,3 @@ "kind": "function",

"parameters": {
"id": 8648,
"id": 8525,
"nodeType": "ParameterList",

@@ -870,7 +870,7 @@ "parameters": [

"constant": false,
"id": 8647,
"id": 8524,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 8657,
"src": "489:15:110",
"scope": 8534,
"src": "489:15:109",
"stateVariable": false,

@@ -883,6 +883,6 @@ "storageLocation": "default",

"typeName": {
"id": 8646,
"id": 8523,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "489:7:110",
"src": "489:7:109",
"stateMutability": "nonpayable",

@@ -898,22 +898,22 @@ "typeDescriptions": {

],
"src": "488:17:110"
"src": "488:17:109"
},
"returnParameters": {
"id": 8649,
"id": 8526,
"nodeType": "ParameterList",
"parameters": [],
"src": "515:0:110"
"src": "515:0:109"
},
"scope": 8658,
"src": "458:110:110",
"scope": 8535,
"src": "458:110:109",
"stateMutability": "nonpayable",
"superFunction": 1743,
"superFunction": 1722,
"visibility": "internal"
}
],
"scope": 8659,
"src": "75:495:110"
"scope": 8536,
"src": "75:495:109"
}
],
"src": "0:571:110"
"src": "0:571:109"
},

@@ -926,3 +926,3 @@ "compiler": {

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.795Z",
"updatedAt": "2019-08-16T19:32:31.308Z",
"devdoc": {

@@ -929,0 +929,0 @@ "methods": {}

@@ -253,3 +253,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addWhitelisted\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"removeWhitelisted\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWhitelisted\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceWhitelistAdmin\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addWhitelistAdmin\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWhitelistAdmin\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceWhitelisted\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"WhitelistedAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"WhitelistedRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"WhitelistAdminAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"WhitelistAdminRemoved\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Crowdsale in which only whitelisted users can contribute.\",\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}},\"title\":\"WhitelistCrowdsale\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/crowdsale/validation/WhitelistCrowdsale.sol\":\"WhitelistCrowdsale\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzzr://bd34c1ce05b5b2b3a62fc02e160f6805b1cadd476854664f433c685b2fda8dad\"]},\"/home/frangio/oz/contracts/contracts/access/roles/WhitelistAdminRole.sol\":{\"keccak256\":\"0x68a31c5d88d371650921f970f37ff38c63dce2a214ac7ab6f455bd857f79e8b4\",\"urls\":[\"bzzr://597e0e2a710fc082bcf2409f80c24641f2fffec2c0a9653a169a33d78638f9e0\"]},\"/home/frangio/oz/contracts/contracts/access/roles/WhitelistedRole.sol\":{\"keccak256\":\"0xca10f528034c05dc9d98400e7b184e43ae13192bfd502f14e113959e7d25f953\",\"urls\":[\"bzzr://81f8321c9bce3261c4c9499612f866a3a8b09500ff877f668476b214ff8a5b85\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/validation/WhitelistCrowdsale.sol\":{\"keccak256\":\"0x67ab20e0bc1827cdd232cb46d1c0fc04a2dd1f4ad1f2168df4ee80533cb70821\",\"urls\":[\"bzzr://92e251c33f610d32145e095ceefe997860b6ee3abbd41925bfaf721eaf6c32f2\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x882c8e2c862b2e99bce904d410a01f99010e1e18061359d4b89b69e93cc7f54b\",\"urls\":[\"bzzr://b194a9f40beb234a04a8b4fbf36307a58bf3d22d3ebd2406fc5b385df406ad35\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xe0812b2b05e37bf0dc866f8ba0a1a36d6dd006ac5b02bfde80e820a2a9e804b8\",\"urls\":[\"bzzr://7010caa641157fce5262c47d6cf10c9d6a6f0094fa327485c4fcf70989ec4532\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addWhitelisted\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"removeWhitelisted\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWhitelisted\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceWhitelistAdmin\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addWhitelistAdmin\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWhitelistAdmin\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceWhitelisted\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"WhitelistedAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"WhitelistedRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"WhitelistAdminAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"WhitelistAdminRemoved\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Crowdsale in which only whitelisted users can contribute.\",\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase ***DO NOT OVERRIDE*** This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"rate()\":{\"return\":\"the number of token units a buyer gets per wei.\"},\"token()\":{\"return\":\"the token being sold.\"},\"wallet()\":{\"return\":\"the address where funds are collected.\"},\"weiRaised()\":{\"return\":\"the amount of wei raised.\"}},\"title\":\"WhitelistCrowdsale\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/frangio/oz/contracts/contracts/crowdsale/validation/WhitelistCrowdsale.sol\":\"WhitelistCrowdsale\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/frangio/oz/contracts/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzzr://47885dccac32ee543284e93f21a5f62c499076b04d01b12ff67aefffbbdcbd34\"]},\"/home/frangio/oz/contracts/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzzr://bd34c1ce05b5b2b3a62fc02e160f6805b1cadd476854664f433c685b2fda8dad\"]},\"/home/frangio/oz/contracts/contracts/access/roles/WhitelistAdminRole.sol\":{\"keccak256\":\"0x68a31c5d88d371650921f970f37ff38c63dce2a214ac7ab6f455bd857f79e8b4\",\"urls\":[\"bzzr://597e0e2a710fc082bcf2409f80c24641f2fffec2c0a9653a169a33d78638f9e0\"]},\"/home/frangio/oz/contracts/contracts/access/roles/WhitelistedRole.sol\":{\"keccak256\":\"0xca10f528034c05dc9d98400e7b184e43ae13192bfd502f14e113959e7d25f953\",\"urls\":[\"bzzr://81f8321c9bce3261c4c9499612f866a3a8b09500ff877f668476b214ff8a5b85\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/Crowdsale.sol\":{\"keccak256\":\"0xe612eb8a3023c1a4f4d7e2d0aaf7f19c25e9d772c46a6e95790ddb42ba7baa99\",\"urls\":[\"bzzr://3f11e0277a173ba437a448df0f1ab16a64b1b1dcd3f34019e052a7c5d14c1ea7\"]},\"/home/frangio/oz/contracts/contracts/crowdsale/validation/WhitelistCrowdsale.sol\":{\"keccak256\":\"0x67ab20e0bc1827cdd232cb46d1c0fc04a2dd1f4ad1f2168df4ee80533cb70821\",\"urls\":[\"bzzr://92e251c33f610d32145e095ceefe997860b6ee3abbd41925bfaf721eaf6c32f2\"]},\"/home/frangio/oz/contracts/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x559e1c41502e437b665893c320b2d70f1311492799916fabcb55f7b18100c0a2\",\"urls\":[\"bzzr://a0962f45f5f53e94c34f10d5b686489d271f8b4a5ad970fd8710edb04a963174\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"/home/frangio/oz/contracts/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x6f2c9955d65c522b80f4b8792f076512d2df947d2112cbc4d98a4781ed42ede2\",\"urls\":[\"bzzr://d2ff5aadcb697bc27ca3b0f6c40b4998e8cf0a1bd0f761d1df6d5981777841ae\"]},\"/home/frangio/oz/contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xf4bfe37bc0ed72fb1a94abab4acec42dcabc6b2936d684f9a018a61afe2d979a\",\"urls\":[\"bzzr://a0a3a1ea455fc61ea6032cad30321369a478121b32ae8a212a73a54e57dad3b5\"]},\"/home/frangio/oz/contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xe86fdc15fbc379ecf14d6aa4f51b87c0be8476e114e23c171b790a6717230655\",\"urls\":[\"bzzr://364c5847b4ee3ac37a6ad6e54a288889ac3d2a85757b7999c00c719db6cd871d\"]}},\"version\":1}",
"bytecode": "0x",

@@ -265,10 +265,10 @@ "deployedBytecode": "0x",

"WhitelistCrowdsale": [
3133
3112
]
},
"id": 3134,
"id": 3113,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 3104,
"id": 3083,
"literals": [

@@ -286,6 +286,6 @@ "solidity",

"file": "../Crowdsale.sol",
"id": 3105,
"id": 3084,
"nodeType": "ImportDirective",
"scope": 3134,
"sourceUnit": 2135,
"scope": 3113,
"sourceUnit": 2114,
"src": "24:26:27",

@@ -298,6 +298,6 @@ "symbolAliases": [],

"file": "../../access/roles/WhitelistedRole.sol",
"id": 3106,
"id": 3085,
"nodeType": "ImportDirective",
"scope": 3134,
"sourceUnit": 1858,
"scope": 3113,
"sourceUnit": 1837,
"src": "51:48:27",

@@ -313,13 +313,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 3107,
"id": 3086,
"name": "WhitelistedRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1857,
"referencedDeclaration": 1836,
"src": "236:15:27",
"typeDescriptions": {
"typeIdentifier": "t_contract$_WhitelistedRole_$1857",
"typeIdentifier": "t_contract$_WhitelistedRole_$1836",
"typeString": "contract WhitelistedRole"
}
},
"id": 3108,
"id": 3087,
"nodeType": "InheritanceSpecifier",

@@ -332,13 +332,13 @@ "src": "236:15:27"

"contractScope": null,
"id": 3109,
"id": 3088,
"name": "Crowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "253:9:27",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Crowdsale_$2134",
"typeIdentifier": "t_contract$_Crowdsale_$2113",
"typeString": "contract Crowdsale"
}
},
"id": 3110,
"id": 3089,
"nodeType": "InheritanceSpecifier",

@@ -350,6 +350,6 @@ "src": "253:9:27"

26,
1744,
1857,
2134,
13448
1723,
1836,
2113,
13325
],

@@ -359,9 +359,9 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 3133,
"id": 3112,
"linearizedBaseContracts": [
3133,
2134,
13448,
1857,
1744,
3112,
2113,
13325,
1836,
1723,
26

@@ -374,3 +374,3 @@ ],

"body": {
"id": 3131,
"id": 3110,
"nodeType": "Block",

@@ -388,7 +388,7 @@ "src": "626:184:27",

"argumentTypes": null,
"id": 3119,
"id": 3098,
"name": "_beneficiary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3112,
"referencedDeclaration": 3091,
"src": "658:12:27",

@@ -408,7 +408,7 @@ "typeDescriptions": {

],
"id": 3118,
"id": 3097,
"name": "isWhitelisted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1791,
"referencedDeclaration": 1770,
"src": "644:13:27",

@@ -420,3 +420,3 @@ "typeDescriptions": {

},
"id": 3120,
"id": 3099,
"isConstant": false,

@@ -438,3 +438,3 @@ "isLValue": false,

"hexValue": "57686974656c69737443726f776473616c653a2062656e656669636961727920646f65736e27742068617665207468652057686974656c697374656420726f6c65",
"id": 3121,
"id": 3100,
"isConstant": false,

@@ -466,10 +466,10 @@ "isLValue": false,

],
"id": 3117,
"id": 3096,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13466,
13467
13343,
13344
],
"referencedDeclaration": 13467,
"referencedDeclaration": 13344,
"src": "636:7:27",

@@ -481,3 +481,3 @@ "typeDescriptions": {

},
"id": 3122,
"id": 3101,
"isConstant": false,

@@ -496,3 +496,3 @@ "isLValue": false,

},
"id": 3123,
"id": 3102,
"nodeType": "ExpressionStatement",

@@ -507,7 +507,7 @@ "src": "636:105:27"

"argumentTypes": null,
"id": 3127,
"id": 3106,
"name": "_beneficiary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3112,
"referencedDeclaration": 3091,
"src": "778:12:27",

@@ -521,7 +521,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 3128,
"id": 3107,
"name": "_weiAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3114,
"referencedDeclaration": 3093,
"src": "792:10:27",

@@ -547,14 +547,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 3124,
"id": 3103,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13566,
"referencedDeclaration": 13443,
"src": "751:5:27",
"typeDescriptions": {
"typeIdentifier": "t_super$_WhitelistCrowdsale_$3133",
"typeIdentifier": "t_super$_WhitelistCrowdsale_$3112",
"typeString": "contract super WhitelistCrowdsale"
}
},
"id": 3126,
"id": 3105,
"isConstant": false,

@@ -566,3 +566,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 2065,
"referencedDeclaration": 2044,
"src": "751:26:27",

@@ -574,3 +574,3 @@ "typeDescriptions": {

},
"id": 3129,
"id": 3108,
"isConstant": false,

@@ -589,3 +589,3 @@ "isLValue": false,

},
"id": 3130,
"id": 3109,
"nodeType": "ExpressionStatement",

@@ -597,3 +597,3 @@ "src": "751:52:27"

"documentation": "@dev Extend parent behavior requiring beneficiary to be whitelisted. Note that no\nrestriction is imposed on the account sending the transaction.\n@param _beneficiary Token beneficiary\n@param _weiAmount Amount of wei contributed",
"id": 3132,
"id": 3111,
"implemented": true,

@@ -605,3 +605,3 @@ "kind": "function",

"parameters": {
"id": 3115,
"id": 3094,
"nodeType": "ParameterList",

@@ -611,6 +611,6 @@ "parameters": [

"constant": false,
"id": 3112,
"id": 3091,
"name": "_beneficiary",
"nodeType": "VariableDeclaration",
"scope": 3132,
"scope": 3111,
"src": "570:20:27",

@@ -624,3 +624,3 @@ "stateVariable": false,

"typeName": {
"id": 3111,
"id": 3090,
"name": "address",

@@ -640,6 +640,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 3114,
"id": 3093,
"name": "_weiAmount",
"nodeType": "VariableDeclaration",
"scope": 3132,
"scope": 3111,
"src": "592:18:27",

@@ -653,3 +653,3 @@ "stateVariable": false,

"typeName": {
"id": 3113,
"id": 3092,
"name": "uint256",

@@ -670,3 +670,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 3116,
"id": 3095,
"nodeType": "ParameterList",

@@ -676,10 +676,10 @@ "parameters": [],

},
"scope": 3133,
"scope": 3112,
"src": "540:270:27",
"stateMutability": "view",
"superFunction": 2065,
"superFunction": 2044,
"visibility": "internal"
}
],
"scope": 3134,
"scope": 3113,
"src": "205:607:27"

@@ -694,10 +694,10 @@ }

"WhitelistCrowdsale": [
3133
3112
]
},
"id": 3134,
"id": 3113,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 3104,
"id": 3083,
"literals": [

@@ -715,6 +715,6 @@ "solidity",

"file": "../Crowdsale.sol",
"id": 3105,
"id": 3084,
"nodeType": "ImportDirective",
"scope": 3134,
"sourceUnit": 2135,
"scope": 3113,
"sourceUnit": 2114,
"src": "24:26:27",

@@ -727,6 +727,6 @@ "symbolAliases": [],

"file": "../../access/roles/WhitelistedRole.sol",
"id": 3106,
"id": 3085,
"nodeType": "ImportDirective",
"scope": 3134,
"sourceUnit": 1858,
"scope": 3113,
"sourceUnit": 1837,
"src": "51:48:27",

@@ -742,13 +742,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 3107,
"id": 3086,
"name": "WhitelistedRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1857,
"referencedDeclaration": 1836,
"src": "236:15:27",
"typeDescriptions": {
"typeIdentifier": "t_contract$_WhitelistedRole_$1857",
"typeIdentifier": "t_contract$_WhitelistedRole_$1836",
"typeString": "contract WhitelistedRole"
}
},
"id": 3108,
"id": 3087,
"nodeType": "InheritanceSpecifier",

@@ -761,13 +761,13 @@ "src": "236:15:27"

"contractScope": null,
"id": 3109,
"id": 3088,
"name": "Crowdsale",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2134,
"referencedDeclaration": 2113,
"src": "253:9:27",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Crowdsale_$2134",
"typeIdentifier": "t_contract$_Crowdsale_$2113",
"typeString": "contract Crowdsale"
}
},
"id": 3110,
"id": 3089,
"nodeType": "InheritanceSpecifier",

@@ -779,6 +779,6 @@ "src": "253:9:27"

26,
1744,
1857,
2134,
13448
1723,
1836,
2113,
13325
],

@@ -788,9 +788,9 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 3133,
"id": 3112,
"linearizedBaseContracts": [
3133,
2134,
13448,
1857,
1744,
3112,
2113,
13325,
1836,
1723,
26

@@ -803,3 +803,3 @@ ],

"body": {
"id": 3131,
"id": 3110,
"nodeType": "Block",

@@ -817,7 +817,7 @@ "src": "626:184:27",

"argumentTypes": null,
"id": 3119,
"id": 3098,
"name": "_beneficiary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3112,
"referencedDeclaration": 3091,
"src": "658:12:27",

@@ -837,7 +837,7 @@ "typeDescriptions": {

],
"id": 3118,
"id": 3097,
"name": "isWhitelisted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1791,
"referencedDeclaration": 1770,
"src": "644:13:27",

@@ -849,3 +849,3 @@ "typeDescriptions": {

},
"id": 3120,
"id": 3099,
"isConstant": false,

@@ -867,3 +867,3 @@ "isLValue": false,

"hexValue": "57686974656c69737443726f776473616c653a2062656e656669636961727920646f65736e27742068617665207468652057686974656c697374656420726f6c65",
"id": 3121,
"id": 3100,
"isConstant": false,

@@ -895,10 +895,10 @@ "isLValue": false,

],
"id": 3117,
"id": 3096,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13466,
13467
13343,
13344
],
"referencedDeclaration": 13467,
"referencedDeclaration": 13344,
"src": "636:7:27",

@@ -910,3 +910,3 @@ "typeDescriptions": {

},
"id": 3122,
"id": 3101,
"isConstant": false,

@@ -925,3 +925,3 @@ "isLValue": false,

},
"id": 3123,
"id": 3102,
"nodeType": "ExpressionStatement",

@@ -936,7 +936,7 @@ "src": "636:105:27"

"argumentTypes": null,
"id": 3127,
"id": 3106,
"name": "_beneficiary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3112,
"referencedDeclaration": 3091,
"src": "778:12:27",

@@ -950,7 +950,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 3128,
"id": 3107,
"name": "_weiAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3114,
"referencedDeclaration": 3093,
"src": "792:10:27",

@@ -976,14 +976,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 3124,
"id": 3103,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13566,
"referencedDeclaration": 13443,
"src": "751:5:27",
"typeDescriptions": {
"typeIdentifier": "t_super$_WhitelistCrowdsale_$3133",
"typeIdentifier": "t_super$_WhitelistCrowdsale_$3112",
"typeString": "contract super WhitelistCrowdsale"
}
},
"id": 3126,
"id": 3105,
"isConstant": false,

@@ -995,3 +995,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 2065,
"referencedDeclaration": 2044,
"src": "751:26:27",

@@ -1003,3 +1003,3 @@ "typeDescriptions": {

},
"id": 3129,
"id": 3108,
"isConstant": false,

@@ -1018,3 +1018,3 @@ "isLValue": false,

},
"id": 3130,
"id": 3109,
"nodeType": "ExpressionStatement",

@@ -1026,3 +1026,3 @@ "src": "751:52:27"

"documentation": "@dev Extend parent behavior requiring beneficiary to be whitelisted. Note that no\nrestriction is imposed on the account sending the transaction.\n@param _beneficiary Token beneficiary\n@param _weiAmount Amount of wei contributed",
"id": 3132,
"id": 3111,
"implemented": true,

@@ -1034,3 +1034,3 @@ "kind": "function",

"parameters": {
"id": 3115,
"id": 3094,
"nodeType": "ParameterList",

@@ -1040,6 +1040,6 @@ "parameters": [

"constant": false,
"id": 3112,
"id": 3091,
"name": "_beneficiary",
"nodeType": "VariableDeclaration",
"scope": 3132,
"scope": 3111,
"src": "570:20:27",

@@ -1053,3 +1053,3 @@ "stateVariable": false,

"typeName": {
"id": 3111,
"id": 3090,
"name": "address",

@@ -1069,6 +1069,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 3114,
"id": 3093,
"name": "_weiAmount",
"nodeType": "VariableDeclaration",
"scope": 3132,
"scope": 3111,
"src": "592:18:27",

@@ -1082,3 +1082,3 @@ "stateVariable": false,

"typeName": {
"id": 3113,
"id": 3092,
"name": "uint256",

@@ -1099,3 +1099,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 3116,
"id": 3095,
"nodeType": "ParameterList",

@@ -1105,10 +1105,10 @@ "parameters": [],

},
"scope": 3133,
"scope": 3112,
"src": "540:270:27",
"stateMutability": "view",
"superFunction": 2065,
"superFunction": 2044,
"visibility": "internal"
}
],
"scope": 3134,
"scope": 3113,
"src": "205:607:27"

@@ -1125,3 +1125,3 @@ }

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.689Z",
"updatedAt": "2019-08-16T19:32:31.210Z",
"devdoc": {

@@ -1128,0 +1128,0 @@ "details": "Crowdsale in which only whitelisted users can contribute.",

@@ -163,4 +163,4 @@ {

"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80637362d9c81161005b5780637362d9c81461017b5780637491c97e146101bf578063bb5f747b146101c9578063d6cd94731461022557610088565b806310154bad1461008d578063291d9549146100d15780633af32abf146101155780634c5a628c14610171575b600080fd5b6100cf600480360360208110156100a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061022f565b005b610113600480360360208110156100e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102a0565b005b6101576004803603602081101561012b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610311565b604051808215151515815260200191505060405180910390f35b61017961032e565b005b6101bd6004803603602081101561019157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610340565b005b6101c76103b1565b005b61020b600480360360208110156101df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610418565b604051808215151515815260200191505060405180910390f35b61022d610435565b005b61023f61023a610447565b610418565b610294576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260408152602001806108716040913960400191505060405180910390fd5b61029d8161044f565b50565b6102b06102ab610447565b610418565b610305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260408152602001806108716040913960400191505060405180910390fd5b61030e816104a9565b50565b600061032782600161050390919063ffffffff16565b9050919050565b61033e610339610447565b6105e1565b565b61035061034b610447565b610418565b6103a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260408152602001806108716040913960400191505060405180910390fd5b6103ae8161063b565b50565b6103c16103bc610447565b610311565b610416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806108b1603a913960400191505060405180910390fd5b565b600061042e82600061050390919063ffffffff16565b9050919050565b610445610440610447565b6104a9565b565b600033905090565b61046381600161069590919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fee1504a83b6d4a361f4c1dc78ab59bfa30d6a3b6612c403e86bb01ef2984295f60405160405180910390a250565b6104bd81600161077090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f270d9b30cf5b0793bbfd54c9d5b94aeb49462b8148399000265144a8722da6b660405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561058a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061084f6022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6105f581600061077090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f0a8eb35e5ca14b3d6f28e4abf2f128dbab231a58b56e89beb5d636115001e16560405160405180910390a250565b61064f81600061069590919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129960405160405180910390a250565b61069f8282610503565b15610712576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61077a8282610503565b6107cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061082e6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737357686974656c69737441646d696e526f6c653a2063616c6c657220646f6573206e6f742068617665207468652057686974656c69737441646d696e20726f6c6557686974656c6973746564526f6c653a2063616c6c657220646f6573206e6f742068617665207468652057686974656c697374656420726f6c65a165627a7a723058203c9f0b2aceac389710ba8644edde619f54f50be1692e481fd45396daebbe01070029",
"sourceMap": "72:179:112:-;;;476:32:13;495:12;:10;;;:12;;:::i;:::-;476:18;;;:32;;:::i;:::-;72:179:112;;791:88:0;836:7;862:10;855:17;;791:88;:::o;1040:143:13:-;1104:29;1125:7;1104:16;:20;;;;;;:29;;;;:::i;:::-;1168:7;1148:28;;;;;;;;;;;;1040:143;:::o;260:175:8:-;337:18;341:4;347:7;337:3;;;:18;;:::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;779:200::-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;72:179:112:-;;;;;;;",
"deployedSourceMap": "72:179:112:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;72:179:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;953:108:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;953:108:14;;;;;;;;;;;;;;;;;;;:::i;:::-;;1067:114;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1067:114:14;;;;;;;;;;;;;;;;;;;:::i;:::-;;830:117;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;830:117:14;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;941:93:13;;;:::i;:::-;;821:114;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;821:114:13;;;;;;;;;;;;;;;;;;;:::i;:::-;;126:123:112;;;:::i;:::-;;692::13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;692:123:13;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1187:87:14;;;:::i;:::-;;953:108;569:30:13;586:12;:10;:12::i;:::-;569:16;:30::i;:::-;561:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1030:24:14;1046:7;1030:15;:24::i;:::-;953:108;:::o;1067:114::-;569:30:13;586:12;:10;:12::i;:::-;569:16;:30::i;:::-;561:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1147:27:14;1166:7;1147:18;:27::i;:::-;1067:114;:::o;830:117::-;891:4;914:26;932:7;914:13;:17;;:26;;;;:::i;:::-;907:33;;830:117;;;:::o;941:93:13:-;992:35;1014:12;:10;:12::i;:::-;992:21;:35::i;:::-;941:93::o;821:114::-;569:30;586:12;:10;:12::i;:::-;569:16;:30::i;:::-;561:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;901:27;920:7;901:18;:27::i;:::-;821:114;:::o;126:123:112:-;716:27:14;730:12;:10;:12::i;:::-;716:13;:27::i;:::-;708:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;126:123:112:o;692::13:-;756:4;779:29;800:7;779:16;:20;;:29;;;;:::i;:::-;772:36;;692:123;;;:::o;1187:87:14:-;1235:32;1254:12;:10;:12::i;:::-;1235:18;:32::i;:::-;1187:87::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;1280:134:14:-;1341:26;1359:7;1341:13;:17;;:26;;;;:::i;:::-;1399:7;1382:25;;;;;;;;;;;;1280:134;:::o;1420:142::-;1484:29;1505:7;1484:13;:20;;:29;;;;:::i;:::-;1547:7;1528:27;;;;;;;;;;;;1420:142;:::o;779:200:8:-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;1189:151:13:-;1256:32;1280:7;1256:16;:23;;:32;;;;:::i;:::-;1325:7;1303:30;;;;;;;;;;;;1189:151;:::o;1040:143::-;1104:29;1125:7;1104:16;:20;;:29;;;;:::i;:::-;1168:7;1148:28;;;;;;;;;;;;1040:143;:::o;260:175:8:-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;678:5;655:4;:11;;:20;667:7;655:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;510:180;;:::o",
"sourceMap": "72:179:111:-;;;476:32:13;495:12;:10;;;:12;;:::i;:::-;476:18;;;:32;;:::i;:::-;72:179:111;;791:88:0;836:7;862:10;855:17;;791:88;:::o;1040:143:13:-;1104:29;1125:7;1104:16;:20;;;;;;:29;;;;:::i;:::-;1168:7;1148:28;;;;;;;;;;;;1040:143;:::o;260:175:8:-;337:18;341:4;347:7;337:3;;;:18;;:::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;779:200::-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;72:179:111:-;;;;;;;",
"deployedSourceMap": "72:179:111:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;72:179:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;953:108:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;953:108:14;;;;;;;;;;;;;;;;;;;:::i;:::-;;1067:114;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1067:114:14;;;;;;;;;;;;;;;;;;;:::i;:::-;;830:117;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;830:117:14;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;941:93:13;;;:::i;:::-;;821:114;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;821:114:13;;;;;;;;;;;;;;;;;;;:::i;:::-;;126:123:111;;;:::i;:::-;;692::13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;692:123:13;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1187:87:14;;;:::i;:::-;;953:108;569:30:13;586:12;:10;:12::i;:::-;569:16;:30::i;:::-;561:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1030:24:14;1046:7;1030:15;:24::i;:::-;953:108;:::o;1067:114::-;569:30:13;586:12;:10;:12::i;:::-;569:16;:30::i;:::-;561:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1147:27:14;1166:7;1147:18;:27::i;:::-;1067:114;:::o;830:117::-;891:4;914:26;932:7;914:13;:17;;:26;;;;:::i;:::-;907:33;;830:117;;;:::o;941:93:13:-;992:35;1014:12;:10;:12::i;:::-;992:21;:35::i;:::-;941:93::o;821:114::-;569:30;586:12;:10;:12::i;:::-;569:16;:30::i;:::-;561:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;901:27;920:7;901:18;:27::i;:::-;821:114;:::o;126:123:111:-;716:27:14;730:12;:10;:12::i;:::-;716:13;:27::i;:::-;708:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;126:123:111:o;692::13:-;756:4;779:29;800:7;779:16;:20;;:29;;;;:::i;:::-;772:36;;692:123;;;:::o;1187:87:14:-;1235:32;1254:12;:10;:12::i;:::-;1235:18;:32::i;:::-;1187:87::o;791:88:0:-;836:7;862:10;855:17;;791:88;:::o;1280:134:14:-;1341:26;1359:7;1341:13;:17;;:26;;;;:::i;:::-;1399:7;1382:25;;;;;;;;;;;;1280:134;:::o;1420:142::-;1484:29;1505:7;1484:13;:20;;:29;;;;:::i;:::-;1547:7;1528:27;;;;;;;;;;;;1420:142;:::o;779:200:8:-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;1189:151:13:-;1256:32;1280:7;1256:16;:23;;:32;;;;:::i;:::-;1325:7;1303:30;;;;;;;;;;;;1189:151;:::o;1040:143::-;1104:29;1125:7;1104:16;:20;;:29;;;;:::i;:::-;1168:7;1148:28;;;;;;;;;;;;1040:143;:::o;260:175:8:-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;678:5;655:4;:11;;:20;667:7;655:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;510:180;;:::o",
"source": "pragma solidity ^0.5.0;\n\nimport \"../access/roles/WhitelistedRole.sol\";\n\ncontract WhitelistedRoleMock is WhitelistedRole {\n function onlyWhitelistedMock() public view onlyWhitelisted {\n // solhint-disable-previous-line no-empty-blocks\n }\n}\n",

@@ -172,10 +172,10 @@ "sourcePath": "/home/frangio/oz/contracts/contracts/mocks/WhitelistedRoleMock.sol",

"WhitelistedRoleMock": [
8695
8572
]
},
"id": 8696,
"id": 8573,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 8685,
"id": 8562,
"literals": [

@@ -188,3 +188,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:112"
"src": "0:23:111"
},

@@ -194,7 +194,7 @@ {

"file": "../access/roles/WhitelistedRole.sol",
"id": 8686,
"id": 8563,
"nodeType": "ImportDirective",
"scope": 8696,
"sourceUnit": 1858,
"src": "25:45:112",
"scope": 8573,
"sourceUnit": 1837,
"src": "25:45:111",
"symbolAliases": [],

@@ -209,15 +209,15 @@ "unitAlias": ""

"contractScope": null,
"id": 8687,
"id": 8564,
"name": "WhitelistedRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1857,
"src": "104:15:112",
"referencedDeclaration": 1836,
"src": "104:15:111",
"typeDescriptions": {
"typeIdentifier": "t_contract$_WhitelistedRole_$1857",
"typeIdentifier": "t_contract$_WhitelistedRole_$1836",
"typeString": "contract WhitelistedRole"
}
},
"id": 8688,
"id": 8565,
"nodeType": "InheritanceSpecifier",
"src": "104:15:112"
"src": "104:15:111"
}

@@ -227,4 +227,4 @@ ],

26,
1744,
1857
1723,
1836
],

@@ -234,7 +234,7 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 8695,
"id": 8572,
"linearizedBaseContracts": [
8695,
1857,
1744,
8572,
1836,
1723,
26

@@ -247,9 +247,9 @@ ],

"body": {
"id": 8693,
"id": 8570,
"nodeType": "Block",
"src": "185:64:112",
"src": "185:64:111",
"statements": []
},
"documentation": null,
"id": 8694,
"id": 8571,
"implemented": true,

@@ -260,11 +260,11 @@ "kind": "function",

"arguments": null,
"id": 8691,
"id": 8568,
"modifierName": {
"argumentTypes": null,
"id": 8690,
"id": 8567,
"name": "onlyWhitelisted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1778,
"src": "169:15:112",
"referencedDeclaration": 1757,
"src": "169:15:111",
"typeDescriptions": {

@@ -276,3 +276,3 @@ "typeIdentifier": "t_modifier$__$",

"nodeType": "ModifierInvocation",
"src": "169:15:112"
"src": "169:15:111"
}

@@ -283,15 +283,15 @@ ],

"parameters": {
"id": 8689,
"id": 8566,
"nodeType": "ParameterList",
"parameters": [],
"src": "154:2:112"
"src": "154:2:111"
},
"returnParameters": {
"id": 8692,
"id": 8569,
"nodeType": "ParameterList",
"parameters": [],
"src": "185:0:112"
"src": "185:0:111"
},
"scope": 8695,
"src": "126:123:112",
"scope": 8572,
"src": "126:123:111",
"stateMutability": "view",

@@ -302,7 +302,7 @@ "superFunction": null,

],
"scope": 8696,
"src": "72:179:112"
"scope": 8573,
"src": "72:179:111"
}
],
"src": "0:252:112"
"src": "0:252:111"
},

@@ -313,10 +313,10 @@ "legacyAST": {

"WhitelistedRoleMock": [
8695
8572
]
},
"id": 8696,
"id": 8573,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 8685,
"id": 8562,
"literals": [

@@ -329,3 +329,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "0:23:112"
"src": "0:23:111"
},

@@ -335,7 +335,7 @@ {

"file": "../access/roles/WhitelistedRole.sol",
"id": 8686,
"id": 8563,
"nodeType": "ImportDirective",
"scope": 8696,
"sourceUnit": 1858,
"src": "25:45:112",
"scope": 8573,
"sourceUnit": 1837,
"src": "25:45:111",
"symbolAliases": [],

@@ -350,15 +350,15 @@ "unitAlias": ""

"contractScope": null,
"id": 8687,
"id": 8564,
"name": "WhitelistedRole",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1857,
"src": "104:15:112",
"referencedDeclaration": 1836,
"src": "104:15:111",
"typeDescriptions": {
"typeIdentifier": "t_contract$_WhitelistedRole_$1857",
"typeIdentifier": "t_contract$_WhitelistedRole_$1836",
"typeString": "contract WhitelistedRole"
}
},
"id": 8688,
"id": 8565,
"nodeType": "InheritanceSpecifier",
"src": "104:15:112"
"src": "104:15:111"
}

@@ -368,4 +368,4 @@ ],

26,
1744,
1857
1723,
1836
],

@@ -375,7 +375,7 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 8695,
"id": 8572,
"linearizedBaseContracts": [
8695,
1857,
1744,
8572,
1836,
1723,
26

@@ -388,9 +388,9 @@ ],

"body": {
"id": 8693,
"id": 8570,
"nodeType": "Block",
"src": "185:64:112",
"src": "185:64:111",
"statements": []
},
"documentation": null,
"id": 8694,
"id": 8571,
"implemented": true,

@@ -401,11 +401,11 @@ "kind": "function",

"arguments": null,
"id": 8691,
"id": 8568,
"modifierName": {
"argumentTypes": null,
"id": 8690,
"id": 8567,
"name": "onlyWhitelisted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1778,
"src": "169:15:112",
"referencedDeclaration": 1757,
"src": "169:15:111",
"typeDescriptions": {

@@ -417,3 +417,3 @@ "typeIdentifier": "t_modifier$__$",

"nodeType": "ModifierInvocation",
"src": "169:15:112"
"src": "169:15:111"
}

@@ -424,15 +424,15 @@ ],

"parameters": {
"id": 8689,
"id": 8566,
"nodeType": "ParameterList",
"parameters": [],
"src": "154:2:112"
"src": "154:2:111"
},
"returnParameters": {
"id": 8692,
"id": 8569,
"nodeType": "ParameterList",
"parameters": [],
"src": "185:0:112"
"src": "185:0:111"
},
"scope": 8695,
"src": "126:123:112",
"scope": 8572,
"src": "126:123:111",
"stateMutability": "view",

@@ -443,7 +443,7 @@ "superFunction": null,

],
"scope": 8696,
"src": "72:179:112"
"scope": 8573,
"src": "72:179:111"
}
],
"src": "0:252:112"
"src": "0:252:111"
},

@@ -456,3 +456,3 @@ "compiler": {

"schemaVersion": "3.0.11",
"updatedAt": "2019-08-16T19:12:32.797Z",
"updatedAt": "2019-08-16T19:32:31.309Z",
"devdoc": {

@@ -459,0 +459,0 @@ "methods": {}

{
"name": "@openzeppelin/contracts",
"version": "2.4.0-beta.1",
"version": "2.4.0-beta.2",
"description": "Secure Smart Contract library for Solidity",

@@ -5,0 +5,0 @@ "files": [

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc