From c46f0353d148745f5f8113f2be42cbbd4644fb5c Mon Sep 17 00:00:00 2001 From: Santiago Palladino Date: Mon, 27 Aug 2018 18:42:21 -0300 Subject: [PATCH] Update ERC721 to latest 1.11.0 from OpenZeppelin-solidity (#11) * Update ERC721 to latest 1.11.0 from OpenZeppelin-solidity * Hardcode supported interfaces instead of using lookup table. This avoids shifting storage when extending supports interface. * Update build artifacts * Fix linter errors --- build/contracts/AddressUtils.json | 2 +- build/contracts/BasicToken.json | 1018 +- build/contracts/BasicTokenMock.json | 282 +- build/contracts/BurnableToken.json | 754 +- build/contracts/BurnableTokenMock.json | 290 +- build/contracts/DetailedERC20.json | 458 +- build/contracts/DetailedERC20Mock.json | 354 +- build/contracts/DetailedMintableToken.json | 522 +- build/contracts/DetailedPremintedToken.json | 758 +- build/contracts/ECRecovery.json | 18 +- build/contracts/ECRecoveryMock.json | 350 +- build/contracts/ERC20.json | 450 +- build/contracts/ERC20Basic.json | 322 +- build/contracts/ERC20FailingMock.json | 5246 +++++----- build/contracts/ERC20SucceedingMock.json | 5246 +++++----- build/contracts/ERC721.json | 663 +- build/contracts/ERC721Basic.json | 1141 +-- build/contracts/ERC721BasicToken.json | 8435 +++++++++-------- build/contracts/ERC721BasicTokenMock.json | 427 +- build/contracts/ERC721Enumerable.json | 663 +- build/contracts/ERC721Holder.json | 300 +- build/contracts/ERC721Metadata.json | 663 +- build/contracts/ERC721Receiver.json | 260 +- build/contracts/ERC721ReceiverMock.json | 853 +- build/contracts/ERC721Token.json | 4717 +++++---- build/contracts/ERC721TokenMock.json | 755 +- build/contracts/Math.json | 738 +- build/contracts/MathMock.json | 2706 +++--- build/contracts/MerkleProof.json | 18 +- build/contracts/MerkleProofWrapper.json | 262 +- build/contracts/Migratable.json | 958 +- build/contracts/MintableERC721Token.json | 649 +- build/contracts/MintableToken.json | 1206 +-- build/contracts/Ownable.json | 654 +- build/contracts/Pausable.json | 790 +- build/contracts/PausableMock.json | 502 +- build/contracts/PausableToken.json | 1354 +-- build/contracts/PausableTokenMock.json | 354 +- build/contracts/PullPayment.json | 906 +- build/contracts/PullPaymentMock.json | 262 +- build/contracts/RBAC.json | 1150 +-- build/contracts/RBACMock.json | 1130 +-- build/contracts/RBACWithAdmin.json | 706 +- build/contracts/Roles.json | 766 +- build/contracts/SafeERC20.json | 702 +- build/contracts/SafeERC20Helper.json | 5246 +++++----- build/contracts/SafeMath.json | 946 +- build/contracts/SafeMathMock.json | 2590 ++--- build/contracts/SignatureBouncer.json | 156 +- build/contracts/SignatureBouncerMock.json | 470 +- build/contracts/SplitPayment.json | 2106 ++-- build/contracts/StandardBurnableToken.json | 582 +- .../contracts/StandardBurnableTokenMock.json | 314 +- build/contracts/StandardToken.json | 5834 ++++++------ build/contracts/StandardTokenMock.json | 298 +- build/contracts/TokenTimelock.json | 934 +- build/contracts/TokenVesting.json | 5386 +++++------ contracts/introspection/ERC165.sol | 20 + contracts/introspection/ERC165Support.sol | 32 + contracts/mocks/ERC721ReceiverMock.sol | 16 +- contracts/mocks/ERC721TokenMock.sol | 2 +- contracts/token/ERC721/ERC721.sol | 13 +- contracts/token/ERC721/ERC721Basic.sol | 32 +- contracts/token/ERC721/ERC721BasicToken.sol | 128 +- contracts/token/ERC721/ERC721Holder.sol | 2 +- contracts/token/ERC721/ERC721Receiver.sol | 28 +- contracts/token/ERC721/ERC721Token.sol | 54 +- test/helpers/makeInterfaceId.js | 21 + .../SupportsInterface.behavior.js | 54 + .../ERC721/ERC721BasicToken.behaviour.js | 170 +- test/token/ERC721/ERC721MintBurn.behaviour.js | 11 - test/token/ERC721/ERC721Token.test.js | 19 +- 72 files changed, 39017 insertions(+), 37207 deletions(-) create mode 100644 contracts/introspection/ERC165.sol create mode 100644 contracts/introspection/ERC165Support.sol create mode 100644 test/helpers/makeInterfaceId.js create mode 100644 test/introspection/SupportsInterface.behavior.js diff --git a/build/contracts/AddressUtils.json b/build/contracts/AddressUtils.json index dae74dd3a..fb44c5ce0 100644 --- a/build/contracts/AddressUtils.json +++ b/build/contracts/AddressUtils.json @@ -507,5 +507,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-08-23T17:26:04.150Z" + "updatedAt": "2018-08-27T20:45:00.202Z" } \ No newline at end of file diff --git a/build/contracts/BasicToken.json b/build/contracts/BasicToken.json index 5370e9ccb..181e74bbb 100644 --- a/build/contracts/BasicToken.json +++ b/build/contracts/BasicToken.json @@ -80,24 +80,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50610415806100206000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610087578063a9059cbb146100de575b600080fd5b34801561006857600080fd5b50610071610143565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061014d565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610195565b604051808215151515815260200191505060405180910390f35b6000600154905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101d257600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561021f57600080fd5b610270826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610303826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103cd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103c257fe5b818303905092915050565b600081830190508281101515156103e057fe5b809050929150505600a165627a7a723058204d380bef2bb1631f8277bf0d3877eae724385da89268e087151891f1194887ff0029", - "deployedBytecode": "0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610087578063a9059cbb146100de575b600080fd5b34801561006857600080fd5b50610071610143565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061014d565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610195565b604051808215151515815260200191505060405180910390f35b6000600154905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101d257600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561021f57600080fd5b610270826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610303826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103cd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103c257fe5b818303905092915050565b600081830190508281101515156103e057fe5b809050929150505600a165627a7a723058204d380bef2bb1631f8277bf0d3877eae724385da89268e087151891f1194887ff0029", - "sourceMap": "180:1053:31:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;180:1053:31;;;;;;;", - "deployedSourceMap": "180:1053:31:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:31;;;;;;;;;;;;;;;;;;;;;;;1131:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83;415:7;437:12;;430:19;;371:83;:::o;1131:99::-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;608:321::-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b50610415806100206000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610087578063a9059cbb146100de575b600080fd5b34801561006857600080fd5b50610071610143565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061014d565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610195565b604051808215151515815260200191505060405180910390f35b6000600154905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101d257600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561021f57600080fd5b610270826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610303826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103cd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103c257fe5b818303905092915050565b600081830190508281101515156103e057fe5b809050929150505600a165627a7a72305820eca4cc5aab8bfb35243f377b87fb30b57d83e50bf50121ecb006aadb240e5c7a0029", + "deployedBytecode": "0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610087578063a9059cbb146100de575b600080fd5b34801561006857600080fd5b50610071610143565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061014d565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610195565b604051808215151515815260200191505060405180910390f35b6000600154905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101d257600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561021f57600080fd5b610270826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610303826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103cd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103c257fe5b818303905092915050565b600081830190508281101515156103e057fe5b809050929150505600a165627a7a72305820eca4cc5aab8bfb35243f377b87fb30b57d83e50bf50121ecb006aadb240e5c7a0029", + "sourceMap": "180:1053:33:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;180:1053:33;;;;;;;", + "deployedSourceMap": "180:1053:33:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:33;;;;;;;;;;;;;;;;;;;;;;;1131:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83;415:7;437:12;;430:19;;371:83;:::o;1131:99::-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;608:321::-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", "source": "pragma solidity ^0.4.21;\n\n\nimport \"./ERC20Basic.sol\";\nimport \"../../math/SafeMath.sol\";\n\n\n/**\n * @title Basic token\n * @dev Basic version of StandardToken, with no allowances.\n */\ncontract BasicToken is ERC20Basic {\n using SafeMath for uint256;\n\n mapping(address => uint256) balances;\n\n uint256 totalSupply_;\n\n /**\n * @dev total number of tokens in existence\n */\n function totalSupply() public view returns (uint256) {\n return totalSupply_;\n }\n\n /**\n * @dev transfer token for a specified address\n * @param _to The address to transfer to.\n * @param _value The amount to be transferred.\n */\n function transfer(address _to, uint256 _value) public returns (bool) {\n require(_to != address(0));\n require(_value <= balances[msg.sender]);\n\n balances[msg.sender] = balances[msg.sender].sub(_value);\n balances[_to] = balances[_to].add(_value);\n emit Transfer(msg.sender, _to, _value);\n return true;\n }\n\n /**\n * @dev Gets the balance of the specified address.\n * @param _owner The address to query the the balance of.\n * @return An uint256 representing the amount owned by the passed address.\n */\n function balanceOf(address _owner) public view returns (uint256) {\n return balances[_owner];\n }\n\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BasicToken.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BasicToken.sol", "exportedSymbols": { "BasicToken": [ - 2215 + 2263 ] }, - "id": 2216, + "id": 2264, "nodeType": "SourceUnit", "nodes": [ { - "id": 2121, + "id": 2169, "literals": [ "solidity", "^", @@ -105,27 +105,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:31" + "src": "0:24:33" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20Basic.sol", "file": "./ERC20Basic.sol", - "id": 2122, + "id": 2170, "nodeType": "ImportDirective", - "scope": 2216, - "sourceUnit": 2512, - "src": "27:26:31", + "scope": 2264, + "sourceUnit": 2560, + "src": "27:26:33", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 2123, + "id": 2171, "nodeType": "ImportDirective", - "scope": 2216, - "sourceUnit": 537, - "src": "54:33:31", + "scope": 2264, + "sourceUnit": 580, + "src": "54:33:33", "symbolAliases": [], "unitAlias": "" }, @@ -135,56 +135,56 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2124, + "id": 2172, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "203:10:31", + "referencedDeclaration": 2559, + "src": "203:10:33", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 2125, + "id": 2173, "nodeType": "InheritanceSpecifier", - "src": "203:10:31" + "src": "203:10:33" } ], "contractDependencies": [ - 2511 + 2559 ], "contractKind": "contract", "documentation": "@title Basic token\n@dev Basic version of StandardToken, with no allowances.", "fullyImplemented": true, - "id": 2215, + "id": 2263, "linearizedBaseContracts": [ - 2215, - 2511 + 2263, + 2559 ], "name": "BasicToken", "nodeType": "ContractDefinition", "nodes": [ { - "id": 2128, + "id": 2176, "libraryName": { "contractScope": null, - "id": 2126, + "id": 2174, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 536, - "src": "224:8:31", + "referencedDeclaration": 579, + "src": "224:8:33", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$536", + "typeIdentifier": "t_contract$_SafeMath_$579", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "218:27:31", + "src": "218:27:33", "typeName": { - "id": 2127, + "id": 2175, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "237:7:31", + "src": "237:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -193,11 +193,11 @@ }, { "constant": false, - "id": 2132, + "id": 2180, "name": "balances", "nodeType": "VariableDeclaration", - "scope": 2215, - "src": "249:36:31", + "scope": 2263, + "src": "249:36:33", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -205,28 +205,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 2131, + "id": 2179, "keyType": { - "id": 2129, + "id": 2177, "name": "address", "nodeType": "ElementaryTypeName", - "src": "257:7:31", + "src": "257:7:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "249:27:31", + "src": "249:27:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 2130, + "id": 2178, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "268:7:31", + "src": "268:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -238,11 +238,11 @@ }, { "constant": false, - "id": 2134, + "id": 2182, "name": "totalSupply_", "nodeType": "VariableDeclaration", - "scope": 2215, - "src": "290:20:31", + "scope": 2263, + "src": "290:20:33", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -250,10 +250,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2133, + "id": 2181, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "290:7:31", + "src": "290:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -264,33 +264,33 @@ }, { "body": { - "id": 2141, + "id": 2189, "nodeType": "Block", - "src": "424:30:31", + "src": "424:30:33", "statements": [ { "expression": { "argumentTypes": null, - "id": 2139, + "id": 2187, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "437:12:31", + "referencedDeclaration": 2182, + "src": "437:12:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2138, - "id": 2140, + "functionReturnParameters": 2186, + "id": 2188, "nodeType": "Return", - "src": "430:19:31" + "src": "430:19:33" } ] }, "documentation": "@dev total number of tokens in existence", - "id": 2142, + "id": 2190, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -298,23 +298,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 2135, + "id": 2183, "nodeType": "ParameterList", "parameters": [], - "src": "391:2:31" + "src": "391:2:33" }, "payable": false, "returnParameters": { - "id": 2138, + "id": 2186, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2137, + "id": 2185, "name": "", "nodeType": "VariableDeclaration", - "scope": 2142, - "src": "415:7:31", + "scope": 2190, + "src": "415:7:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -322,10 +322,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2136, + "id": 2184, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "415:7:31", + "src": "415:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -335,19 +335,19 @@ "visibility": "internal" } ], - "src": "414:9:31" + "src": "414:9:33" }, - "scope": 2215, - "src": "371:83:31", + "scope": 2263, + "src": "371:83:33", "stateMutability": "view", - "superFunction": 2486, + "superFunction": 2534, "visibility": "public" }, { "body": { - "id": 2201, + "id": 2249, "nodeType": "Block", - "src": "677:252:31", + "src": "677:252:33", "statements": [ { "expression": { @@ -359,19 +359,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2156, + "id": 2204, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2152, + "id": 2200, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2144, - "src": "691:3:31", + "referencedDeclaration": 2192, + "src": "691:3:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -385,14 +385,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2154, + "id": 2202, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "706:1:31", + "src": "706:1:33", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -408,20 +408,20 @@ "typeString": "int_const 0" } ], - "id": 2153, + "id": 2201, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "698:7:31", + "src": "698:7:33", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 2155, + "id": 2203, "isConstant": false, "isLValue": false, "isPure": true, @@ -429,13 +429,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "698:10:31", + "src": "698:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "691:17:31", + "src": "691:17:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -449,21 +449,21 @@ "typeString": "bool" } ], - "id": 2151, + "id": 2199, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "683:7:31", + "referencedDeclaration": 4882, + "src": "683:7:33", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2157, + "id": 2205, "isConstant": false, "isLValue": false, "isPure": false, @@ -471,15 +471,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "683:26:31", + "src": "683:26:33", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2158, + "id": 2206, "nodeType": "ExpressionStatement", - "src": "683:26:31" + "src": "683:26:33" }, { "expression": { @@ -491,19 +491,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2165, + "id": 2213, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2160, + "id": 2208, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "723:6:31", + "referencedDeclaration": 2194, + "src": "723:6:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -515,34 +515,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2161, + "id": 2209, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "733:8:31", + "referencedDeclaration": 2180, + "src": "733:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2164, + "id": 2212, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2162, + "id": 2210, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "742:3:31", + "referencedDeclaration": 4879, + "src": "742:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2163, + "id": 2211, "isConstant": false, "isLValue": false, "isPure": false, @@ -550,7 +550,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "742:10:31", + "src": "742:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -561,13 +561,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "733:20:31", + "src": "733:20:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "723:30:31", + "src": "723:30:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -581,21 +581,21 @@ "typeString": "bool" } ], - "id": 2159, + "id": 2207, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "715:7:31", + "referencedDeclaration": 4882, + "src": "715:7:33", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2166, + "id": 2214, "isConstant": false, "isLValue": false, "isPure": false, @@ -603,20 +603,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "715:39:31", + "src": "715:39:33", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2167, + "id": 2215, "nodeType": "ExpressionStatement", - "src": "715:39:31" + "src": "715:39:33" }, { "expression": { "argumentTypes": null, - "id": 2179, + "id": 2227, "isConstant": false, "isLValue": false, "isPure": false, @@ -625,34 +625,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2168, + "id": 2216, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "761:8:31", + "referencedDeclaration": 2180, + "src": "761:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2171, + "id": 2219, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2169, + "id": 2217, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "770:3:31", + "referencedDeclaration": 4879, + "src": "770:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2170, + "id": 2218, "isConstant": false, "isLValue": false, "isPure": false, @@ -660,7 +660,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "770:10:31", + "src": "770:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -671,7 +671,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "761:20:31", + "src": "761:20:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -684,12 +684,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2177, + "id": 2225, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "809:6:31", + "referencedDeclaration": 2194, + "src": "809:6:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -707,34 +707,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2172, + "id": 2220, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "784:8:31", + "referencedDeclaration": 2180, + "src": "784:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2175, + "id": 2223, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2173, + "id": 2221, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "793:3:31", + "referencedDeclaration": 4879, + "src": "793:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2174, + "id": 2222, "isConstant": false, "isLValue": false, "isPure": false, @@ -742,7 +742,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "793:10:31", + "src": "793:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -753,27 +753,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "784:20:31", + "src": "784:20:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2176, + "id": 2224, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "784:24:31", + "referencedDeclaration": 554, + "src": "784:24:33", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2178, + "id": 2226, "isConstant": false, "isLValue": false, "isPure": false, @@ -781,26 +781,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "784:32:31", + "src": "784:32:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "761:55:31", + "src": "761:55:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2180, + "id": 2228, "nodeType": "ExpressionStatement", - "src": "761:55:31" + "src": "761:55:33" }, { "expression": { "argumentTypes": null, - "id": 2190, + "id": 2238, "isConstant": false, "isLValue": false, "isPure": false, @@ -809,26 +809,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2181, + "id": 2229, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "822:8:31", + "referencedDeclaration": 2180, + "src": "822:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2183, + "id": 2231, "indexExpression": { "argumentTypes": null, - "id": 2182, + "id": 2230, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2144, - "src": "831:3:31", + "referencedDeclaration": 2192, + "src": "831:3:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -839,7 +839,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "822:13:31", + "src": "822:13:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -852,12 +852,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2188, + "id": 2236, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "856:6:31", + "referencedDeclaration": 2194, + "src": "856:6:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -875,26 +875,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2184, + "id": 2232, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "838:8:31", + "referencedDeclaration": 2180, + "src": "838:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2186, + "id": 2234, "indexExpression": { "argumentTypes": null, - "id": 2185, + "id": 2233, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2144, - "src": "847:3:31", + "referencedDeclaration": 2192, + "src": "847:3:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -905,27 +905,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "838:13:31", + "src": "838:13:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2187, + "id": 2235, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "838:17:31", + "referencedDeclaration": 578, + "src": "838:17:33", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2189, + "id": 2237, "isConstant": false, "isLValue": false, "isPure": false, @@ -933,21 +933,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "838:25:31", + "src": "838:25:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "822:41:31", + "src": "822:41:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2191, + "id": 2239, "nodeType": "ExpressionStatement", - "src": "822:41:31" + "src": "822:41:33" }, { "eventCall": { @@ -957,18 +957,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2193, + "id": 2241, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "883:3:31", + "referencedDeclaration": 4879, + "src": "883:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2194, + "id": 2242, "isConstant": false, "isLValue": false, "isPure": false, @@ -976,7 +976,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "883:10:31", + "src": "883:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -984,12 +984,12 @@ }, { "argumentTypes": null, - "id": 2195, + "id": 2243, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2144, - "src": "895:3:31", + "referencedDeclaration": 2192, + "src": "895:3:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -997,12 +997,12 @@ }, { "argumentTypes": null, - "id": 2196, + "id": 2244, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "900:6:31", + "referencedDeclaration": 2194, + "src": "900:6:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1024,18 +1024,18 @@ "typeString": "uint256" } ], - "id": 2192, + "id": 2240, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2510, - "src": "874:8:31", + "referencedDeclaration": 2558, + "src": "874:8:33", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2197, + "id": 2245, "isConstant": false, "isLValue": false, "isPure": false, @@ -1043,28 +1043,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "874:33:31", + "src": "874:33:33", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2198, + "id": 2246, "nodeType": "EmitStatement", - "src": "869:38:31" + "src": "869:38:33" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 2199, + "id": 2247, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "920:4:31", + "src": "920:4:33", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1072,15 +1072,15 @@ }, "value": "true" }, - "functionReturnParameters": 2150, - "id": 2200, + "functionReturnParameters": 2198, + "id": 2248, "nodeType": "Return", - "src": "913:11:31" + "src": "913:11:33" } ] }, "documentation": "@dev transfer token for a specified address\n@param _to The address to transfer to.\n@param _value The amount to be transferred.", - "id": 2202, + "id": 2250, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1088,16 +1088,16 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 2147, + "id": 2195, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2144, + "id": 2192, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 2202, - "src": "626:11:31", + "scope": 2250, + "src": "626:11:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1105,10 +1105,10 @@ "typeString": "address" }, "typeName": { - "id": 2143, + "id": 2191, "name": "address", "nodeType": "ElementaryTypeName", - "src": "626:7:31", + "src": "626:7:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1119,11 +1119,11 @@ }, { "constant": false, - "id": 2146, + "id": 2194, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2202, - "src": "639:14:31", + "scope": 2250, + "src": "639:14:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1131,10 +1131,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2145, + "id": 2193, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "639:7:31", + "src": "639:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1144,20 +1144,20 @@ "visibility": "internal" } ], - "src": "625:29:31" + "src": "625:29:33" }, "payable": false, "returnParameters": { - "id": 2150, + "id": 2198, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2149, + "id": 2197, "name": "", "nodeType": "VariableDeclaration", - "scope": 2202, - "src": "671:4:31", + "scope": 2250, + "src": "671:4:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1165,10 +1165,10 @@ "typeString": "bool" }, "typeName": { - "id": 2148, + "id": 2196, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "671:4:31", + "src": "671:4:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1178,45 +1178,45 @@ "visibility": "internal" } ], - "src": "670:6:31" + "src": "670:6:33" }, - "scope": 2215, - "src": "608:321:31", + "scope": 2263, + "src": "608:321:33", "stateMutability": "nonpayable", - "superFunction": 2502, + "superFunction": 2550, "visibility": "public" }, { "body": { - "id": 2213, + "id": 2261, "nodeType": "Block", - "src": "1196:34:31", + "src": "1196:34:33", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2209, + "id": 2257, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "1209:8:31", + "referencedDeclaration": 2180, + "src": "1209:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2211, + "id": 2259, "indexExpression": { "argumentTypes": null, - "id": 2210, + "id": 2258, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2204, - "src": "1218:6:31", + "referencedDeclaration": 2252, + "src": "1218:6:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1227,21 +1227,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1209:16:31", + "src": "1209:16:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2208, - "id": 2212, + "functionReturnParameters": 2256, + "id": 2260, "nodeType": "Return", - "src": "1202:23:31" + "src": "1202:23:33" } ] }, "documentation": "@dev Gets the balance of the specified address.\n@param _owner The address to query the the balance of.\n@return An uint256 representing the amount owned by the passed address.", - "id": 2214, + "id": 2262, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1249,16 +1249,16 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 2205, + "id": 2253, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2204, + "id": 2252, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 2214, - "src": "1150:14:31", + "scope": 2262, + "src": "1150:14:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1266,10 +1266,10 @@ "typeString": "address" }, "typeName": { - "id": 2203, + "id": 2251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1150:7:31", + "src": "1150:7:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1279,20 +1279,20 @@ "visibility": "internal" } ], - "src": "1149:16:31" + "src": "1149:16:33" }, "payable": false, "returnParameters": { - "id": 2208, + "id": 2256, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2207, + "id": 2255, "name": "", "nodeType": "VariableDeclaration", - "scope": 2214, - "src": "1187:7:31", + "scope": 2262, + "src": "1187:7:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1300,10 +1300,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2206, + "id": 2254, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1187:7:31", + "src": "1187:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1313,33 +1313,33 @@ "visibility": "internal" } ], - "src": "1186:9:31" + "src": "1186:9:33" }, - "scope": 2215, - "src": "1131:99:31", + "scope": 2263, + "src": "1131:99:33", "stateMutability": "view", - "superFunction": 2493, + "superFunction": 2541, "visibility": "public" } ], - "scope": 2216, - "src": "180:1053:31" + "scope": 2264, + "src": "180:1053:33" } ], - "src": "0:1234:31" + "src": "0:1234:33" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BasicToken.sol", "exportedSymbols": { "BasicToken": [ - 2215 + 2263 ] }, - "id": 2216, + "id": 2264, "nodeType": "SourceUnit", "nodes": [ { - "id": 2121, + "id": 2169, "literals": [ "solidity", "^", @@ -1347,27 +1347,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:31" + "src": "0:24:33" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20Basic.sol", "file": "./ERC20Basic.sol", - "id": 2122, + "id": 2170, "nodeType": "ImportDirective", - "scope": 2216, - "sourceUnit": 2512, - "src": "27:26:31", + "scope": 2264, + "sourceUnit": 2560, + "src": "27:26:33", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 2123, + "id": 2171, "nodeType": "ImportDirective", - "scope": 2216, - "sourceUnit": 537, - "src": "54:33:31", + "scope": 2264, + "sourceUnit": 580, + "src": "54:33:33", "symbolAliases": [], "unitAlias": "" }, @@ -1377,56 +1377,56 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2124, + "id": 2172, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "203:10:31", + "referencedDeclaration": 2559, + "src": "203:10:33", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 2125, + "id": 2173, "nodeType": "InheritanceSpecifier", - "src": "203:10:31" + "src": "203:10:33" } ], "contractDependencies": [ - 2511 + 2559 ], "contractKind": "contract", "documentation": "@title Basic token\n@dev Basic version of StandardToken, with no allowances.", "fullyImplemented": true, - "id": 2215, + "id": 2263, "linearizedBaseContracts": [ - 2215, - 2511 + 2263, + 2559 ], "name": "BasicToken", "nodeType": "ContractDefinition", "nodes": [ { - "id": 2128, + "id": 2176, "libraryName": { "contractScope": null, - "id": 2126, + "id": 2174, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 536, - "src": "224:8:31", + "referencedDeclaration": 579, + "src": "224:8:33", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$536", + "typeIdentifier": "t_contract$_SafeMath_$579", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "218:27:31", + "src": "218:27:33", "typeName": { - "id": 2127, + "id": 2175, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "237:7:31", + "src": "237:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1435,11 +1435,11 @@ }, { "constant": false, - "id": 2132, + "id": 2180, "name": "balances", "nodeType": "VariableDeclaration", - "scope": 2215, - "src": "249:36:31", + "scope": 2263, + "src": "249:36:33", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1447,28 +1447,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 2131, + "id": 2179, "keyType": { - "id": 2129, + "id": 2177, "name": "address", "nodeType": "ElementaryTypeName", - "src": "257:7:31", + "src": "257:7:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "249:27:31", + "src": "249:27:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 2130, + "id": 2178, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "268:7:31", + "src": "268:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1480,11 +1480,11 @@ }, { "constant": false, - "id": 2134, + "id": 2182, "name": "totalSupply_", "nodeType": "VariableDeclaration", - "scope": 2215, - "src": "290:20:31", + "scope": 2263, + "src": "290:20:33", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1492,10 +1492,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2133, + "id": 2181, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "290:7:31", + "src": "290:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1506,33 +1506,33 @@ }, { "body": { - "id": 2141, + "id": 2189, "nodeType": "Block", - "src": "424:30:31", + "src": "424:30:33", "statements": [ { "expression": { "argumentTypes": null, - "id": 2139, + "id": 2187, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "437:12:31", + "referencedDeclaration": 2182, + "src": "437:12:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2138, - "id": 2140, + "functionReturnParameters": 2186, + "id": 2188, "nodeType": "Return", - "src": "430:19:31" + "src": "430:19:33" } ] }, "documentation": "@dev total number of tokens in existence", - "id": 2142, + "id": 2190, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1540,23 +1540,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 2135, + "id": 2183, "nodeType": "ParameterList", "parameters": [], - "src": "391:2:31" + "src": "391:2:33" }, "payable": false, "returnParameters": { - "id": 2138, + "id": 2186, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2137, + "id": 2185, "name": "", "nodeType": "VariableDeclaration", - "scope": 2142, - "src": "415:7:31", + "scope": 2190, + "src": "415:7:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1564,10 +1564,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2136, + "id": 2184, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "415:7:31", + "src": "415:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1577,19 +1577,19 @@ "visibility": "internal" } ], - "src": "414:9:31" + "src": "414:9:33" }, - "scope": 2215, - "src": "371:83:31", + "scope": 2263, + "src": "371:83:33", "stateMutability": "view", - "superFunction": 2486, + "superFunction": 2534, "visibility": "public" }, { "body": { - "id": 2201, + "id": 2249, "nodeType": "Block", - "src": "677:252:31", + "src": "677:252:33", "statements": [ { "expression": { @@ -1601,19 +1601,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2156, + "id": 2204, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2152, + "id": 2200, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2144, - "src": "691:3:31", + "referencedDeclaration": 2192, + "src": "691:3:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1627,14 +1627,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2154, + "id": 2202, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "706:1:31", + "src": "706:1:33", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1650,20 +1650,20 @@ "typeString": "int_const 0" } ], - "id": 2153, + "id": 2201, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "698:7:31", + "src": "698:7:33", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 2155, + "id": 2203, "isConstant": false, "isLValue": false, "isPure": true, @@ -1671,13 +1671,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "698:10:31", + "src": "698:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "691:17:31", + "src": "691:17:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1691,21 +1691,21 @@ "typeString": "bool" } ], - "id": 2151, + "id": 2199, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "683:7:31", + "referencedDeclaration": 4882, + "src": "683:7:33", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2157, + "id": 2205, "isConstant": false, "isLValue": false, "isPure": false, @@ -1713,15 +1713,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "683:26:31", + "src": "683:26:33", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2158, + "id": 2206, "nodeType": "ExpressionStatement", - "src": "683:26:31" + "src": "683:26:33" }, { "expression": { @@ -1733,19 +1733,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2165, + "id": 2213, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2160, + "id": 2208, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "723:6:31", + "referencedDeclaration": 2194, + "src": "723:6:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1757,34 +1757,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2161, + "id": 2209, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "733:8:31", + "referencedDeclaration": 2180, + "src": "733:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2164, + "id": 2212, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2162, + "id": 2210, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "742:3:31", + "referencedDeclaration": 4879, + "src": "742:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2163, + "id": 2211, "isConstant": false, "isLValue": false, "isPure": false, @@ -1792,7 +1792,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "742:10:31", + "src": "742:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1803,13 +1803,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "733:20:31", + "src": "733:20:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "723:30:31", + "src": "723:30:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1823,21 +1823,21 @@ "typeString": "bool" } ], - "id": 2159, + "id": 2207, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "715:7:31", + "referencedDeclaration": 4882, + "src": "715:7:33", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2166, + "id": 2214, "isConstant": false, "isLValue": false, "isPure": false, @@ -1845,20 +1845,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "715:39:31", + "src": "715:39:33", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2167, + "id": 2215, "nodeType": "ExpressionStatement", - "src": "715:39:31" + "src": "715:39:33" }, { "expression": { "argumentTypes": null, - "id": 2179, + "id": 2227, "isConstant": false, "isLValue": false, "isPure": false, @@ -1867,34 +1867,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2168, + "id": 2216, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "761:8:31", + "referencedDeclaration": 2180, + "src": "761:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2171, + "id": 2219, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2169, + "id": 2217, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "770:3:31", + "referencedDeclaration": 4879, + "src": "770:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2170, + "id": 2218, "isConstant": false, "isLValue": false, "isPure": false, @@ -1902,7 +1902,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "770:10:31", + "src": "770:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1913,7 +1913,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "761:20:31", + "src": "761:20:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1926,12 +1926,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2177, + "id": 2225, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "809:6:31", + "referencedDeclaration": 2194, + "src": "809:6:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1949,34 +1949,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2172, + "id": 2220, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "784:8:31", + "referencedDeclaration": 2180, + "src": "784:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2175, + "id": 2223, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2173, + "id": 2221, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "793:3:31", + "referencedDeclaration": 4879, + "src": "793:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2174, + "id": 2222, "isConstant": false, "isLValue": false, "isPure": false, @@ -1984,7 +1984,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "793:10:31", + "src": "793:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1995,27 +1995,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "784:20:31", + "src": "784:20:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2176, + "id": 2224, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "784:24:31", + "referencedDeclaration": 554, + "src": "784:24:33", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2178, + "id": 2226, "isConstant": false, "isLValue": false, "isPure": false, @@ -2023,26 +2023,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "784:32:31", + "src": "784:32:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "761:55:31", + "src": "761:55:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2180, + "id": 2228, "nodeType": "ExpressionStatement", - "src": "761:55:31" + "src": "761:55:33" }, { "expression": { "argumentTypes": null, - "id": 2190, + "id": 2238, "isConstant": false, "isLValue": false, "isPure": false, @@ -2051,26 +2051,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2181, + "id": 2229, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "822:8:31", + "referencedDeclaration": 2180, + "src": "822:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2183, + "id": 2231, "indexExpression": { "argumentTypes": null, - "id": 2182, + "id": 2230, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2144, - "src": "831:3:31", + "referencedDeclaration": 2192, + "src": "831:3:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2081,7 +2081,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "822:13:31", + "src": "822:13:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2094,12 +2094,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2188, + "id": 2236, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "856:6:31", + "referencedDeclaration": 2194, + "src": "856:6:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2117,26 +2117,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2184, + "id": 2232, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "838:8:31", + "referencedDeclaration": 2180, + "src": "838:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2186, + "id": 2234, "indexExpression": { "argumentTypes": null, - "id": 2185, + "id": 2233, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2144, - "src": "847:3:31", + "referencedDeclaration": 2192, + "src": "847:3:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2147,27 +2147,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "838:13:31", + "src": "838:13:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2187, + "id": 2235, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "838:17:31", + "referencedDeclaration": 578, + "src": "838:17:33", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2189, + "id": 2237, "isConstant": false, "isLValue": false, "isPure": false, @@ -2175,21 +2175,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "838:25:31", + "src": "838:25:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "822:41:31", + "src": "822:41:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2191, + "id": 2239, "nodeType": "ExpressionStatement", - "src": "822:41:31" + "src": "822:41:33" }, { "eventCall": { @@ -2199,18 +2199,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2193, + "id": 2241, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "883:3:31", + "referencedDeclaration": 4879, + "src": "883:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2194, + "id": 2242, "isConstant": false, "isLValue": false, "isPure": false, @@ -2218,7 +2218,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "883:10:31", + "src": "883:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2226,12 +2226,12 @@ }, { "argumentTypes": null, - "id": 2195, + "id": 2243, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2144, - "src": "895:3:31", + "referencedDeclaration": 2192, + "src": "895:3:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2239,12 +2239,12 @@ }, { "argumentTypes": null, - "id": 2196, + "id": 2244, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "900:6:31", + "referencedDeclaration": 2194, + "src": "900:6:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2266,18 +2266,18 @@ "typeString": "uint256" } ], - "id": 2192, + "id": 2240, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2510, - "src": "874:8:31", + "referencedDeclaration": 2558, + "src": "874:8:33", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2197, + "id": 2245, "isConstant": false, "isLValue": false, "isPure": false, @@ -2285,28 +2285,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "874:33:31", + "src": "874:33:33", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2198, + "id": 2246, "nodeType": "EmitStatement", - "src": "869:38:31" + "src": "869:38:33" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 2199, + "id": 2247, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "920:4:31", + "src": "920:4:33", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2314,15 +2314,15 @@ }, "value": "true" }, - "functionReturnParameters": 2150, - "id": 2200, + "functionReturnParameters": 2198, + "id": 2248, "nodeType": "Return", - "src": "913:11:31" + "src": "913:11:33" } ] }, "documentation": "@dev transfer token for a specified address\n@param _to The address to transfer to.\n@param _value The amount to be transferred.", - "id": 2202, + "id": 2250, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2330,16 +2330,16 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 2147, + "id": 2195, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2144, + "id": 2192, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 2202, - "src": "626:11:31", + "scope": 2250, + "src": "626:11:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2347,10 +2347,10 @@ "typeString": "address" }, "typeName": { - "id": 2143, + "id": 2191, "name": "address", "nodeType": "ElementaryTypeName", - "src": "626:7:31", + "src": "626:7:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2361,11 +2361,11 @@ }, { "constant": false, - "id": 2146, + "id": 2194, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2202, - "src": "639:14:31", + "scope": 2250, + "src": "639:14:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2373,10 +2373,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2145, + "id": 2193, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "639:7:31", + "src": "639:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2386,20 +2386,20 @@ "visibility": "internal" } ], - "src": "625:29:31" + "src": "625:29:33" }, "payable": false, "returnParameters": { - "id": 2150, + "id": 2198, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2149, + "id": 2197, "name": "", "nodeType": "VariableDeclaration", - "scope": 2202, - "src": "671:4:31", + "scope": 2250, + "src": "671:4:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2407,10 +2407,10 @@ "typeString": "bool" }, "typeName": { - "id": 2148, + "id": 2196, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "671:4:31", + "src": "671:4:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2420,45 +2420,45 @@ "visibility": "internal" } ], - "src": "670:6:31" + "src": "670:6:33" }, - "scope": 2215, - "src": "608:321:31", + "scope": 2263, + "src": "608:321:33", "stateMutability": "nonpayable", - "superFunction": 2502, + "superFunction": 2550, "visibility": "public" }, { "body": { - "id": 2213, + "id": 2261, "nodeType": "Block", - "src": "1196:34:31", + "src": "1196:34:33", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2209, + "id": 2257, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "1209:8:31", + "referencedDeclaration": 2180, + "src": "1209:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2211, + "id": 2259, "indexExpression": { "argumentTypes": null, - "id": 2210, + "id": 2258, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2204, - "src": "1218:6:31", + "referencedDeclaration": 2252, + "src": "1218:6:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2469,21 +2469,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1209:16:31", + "src": "1209:16:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2208, - "id": 2212, + "functionReturnParameters": 2256, + "id": 2260, "nodeType": "Return", - "src": "1202:23:31" + "src": "1202:23:33" } ] }, "documentation": "@dev Gets the balance of the specified address.\n@param _owner The address to query the the balance of.\n@return An uint256 representing the amount owned by the passed address.", - "id": 2214, + "id": 2262, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2491,16 +2491,16 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 2205, + "id": 2253, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2204, + "id": 2252, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 2214, - "src": "1150:14:31", + "scope": 2262, + "src": "1150:14:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2508,10 +2508,10 @@ "typeString": "address" }, "typeName": { - "id": 2203, + "id": 2251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1150:7:31", + "src": "1150:7:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2521,20 +2521,20 @@ "visibility": "internal" } ], - "src": "1149:16:31" + "src": "1149:16:33" }, "payable": false, "returnParameters": { - "id": 2208, + "id": 2256, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2207, + "id": 2255, "name": "", "nodeType": "VariableDeclaration", - "scope": 2214, - "src": "1187:7:31", + "scope": 2262, + "src": "1187:7:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2542,10 +2542,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2206, + "id": 2254, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1187:7:31", + "src": "1187:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2555,26 +2555,26 @@ "visibility": "internal" } ], - "src": "1186:9:31" + "src": "1186:9:33" }, - "scope": 2215, - "src": "1131:99:31", + "scope": 2263, + "src": "1131:99:33", "stateMutability": "view", - "superFunction": 2493, + "superFunction": 2541, "visibility": "public" } ], - "scope": 2216, - "src": "180:1053:31" + "scope": 2264, + "src": "180:1053:33" } ], - "src": "0:1234:31" + "src": "0:1234:33" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.634Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.212Z" } \ No newline at end of file diff --git a/build/contracts/BasicTokenMock.json b/build/contracts/BasicTokenMock.json index f8a868855..d117f54de 100644 --- a/build/contracts/BasicTokenMock.json +++ b/build/contracts/BasicTokenMock.json @@ -95,24 +95,24 @@ "type": "event" } ], - "bytecode": "0x608060405234801561001057600080fd5b506040516040806104ad8339810180604052810190808051906020019092919080519060200190929190505050806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001819055505050610415806100986000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610087578063a9059cbb146100de575b600080fd5b34801561006857600080fd5b50610071610143565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061014d565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610195565b604051808215151515815260200191505060405180910390f35b6000600154905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101d257600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561021f57600080fd5b610270826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610303826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103cd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103c257fe5b818303905092915050565b600081830190508281101515156103e057fe5b809050929150505600a165627a7a7230582004cd3694485d98dd74521219fbc3f7802b3636dfbd90e200659b2c00cd1f78820029", - "deployedBytecode": "0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610087578063a9059cbb146100de575b600080fd5b34801561006857600080fd5b50610071610143565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061014d565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610195565b604051808215151515815260200191505060405180910390f35b6000600154905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101d257600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561021f57600080fd5b610270826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610303826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103cd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103c257fe5b818303905092915050565b600081830190508281101515156103e057fe5b809050929150505600a165627a7a7230582004cd3694485d98dd74521219fbc3f7802b3636dfbd90e200659b2c00cd1f78820029", - "sourceMap": "100:212:7:-;;;143:166;8:9:-1;5:2;;;30:1;27;20:12;5:2;143:166:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;255:14;228:8;:24;237:14;228:24;;;;;;;;;;;;;;;:41;;;;290:14;275:12;:29;;;;143:166;;100:212;;;;;;", - "deployedSourceMap": "100:212:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:31;;;;;;;;;;;;;;;;;;;;;;;1131:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83;415:7;437:12;;430:19;;371:83;:::o;1131:99::-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;608:321::-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b506040516040806104ad8339810180604052810190808051906020019092919080519060200190929190505050806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001819055505050610415806100986000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610087578063a9059cbb146100de575b600080fd5b34801561006857600080fd5b50610071610143565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061014d565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610195565b604051808215151515815260200191505060405180910390f35b6000600154905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101d257600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561021f57600080fd5b610270826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610303826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103cd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103c257fe5b818303905092915050565b600081830190508281101515156103e057fe5b809050929150505600a165627a7a72305820d5c0c70b2fe87c8174bc417e7449423d7ff0917dfa02d90f9f697a63193eb2bf0029", + "deployedBytecode": "0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610087578063a9059cbb146100de575b600080fd5b34801561006857600080fd5b50610071610143565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061014d565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610195565b604051808215151515815260200191505060405180910390f35b6000600154905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101d257600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561021f57600080fd5b610270826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610303826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103cd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103c257fe5b818303905092915050565b600081830190508281101515156103e057fe5b809050929150505600a165627a7a72305820d5c0c70b2fe87c8174bc417e7449423d7ff0917dfa02d90f9f697a63193eb2bf0029", + "sourceMap": "100:212:9:-;;;143:166;8:9:-1;5:2;;;30:1;27;20:12;5:2;143:166:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;255:14;228:8;:24;237:14;228:24;;;;;;;;;;;;;;;:41;;;;290:14;275:12;:29;;;;143:166;;100:212;;;;;;", + "deployedSourceMap": "100:212:9:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:33;;;;;;;;;;;;;;;;;;;;;;;1131:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83;415:7;437:12;;430:19;;371:83;:::o;1131:99::-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;608:321::-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", "source": "pragma solidity ^0.4.21;\n\n\nimport \"../token/ERC20/BasicToken.sol\";\n\n\n// mock class using BasicToken\ncontract BasicTokenMock is BasicToken {\n\n function BasicTokenMock(address initialAccount, uint256 initialBalance) public {\n balances[initialAccount] = initialBalance;\n totalSupply_ = initialBalance;\n }\n\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/BasicTokenMock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/BasicTokenMock.sol", "exportedSymbols": { "BasicTokenMock": [ - 560 + 603 ] }, - "id": 561, + "id": 604, "nodeType": "SourceUnit", "nodes": [ { - "id": 538, + "id": 581, "literals": [ "solidity", "^", @@ -120,16 +120,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:7" + "src": "0:24:9" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BasicToken.sol", "file": "../token/ERC20/BasicToken.sol", - "id": 539, + "id": 582, "nodeType": "ImportDirective", - "scope": 561, - "sourceUnit": 2216, - "src": "27:39:7", + "scope": 604, + "sourceUnit": 2264, + "src": "27:39:9", "symbolAliases": [], "unitAlias": "" }, @@ -139,47 +139,47 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 540, + "id": 583, "name": "BasicToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2215, - "src": "127:10:7", + "referencedDeclaration": 2263, + "src": "127:10:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_BasicToken_$2215", + "typeIdentifier": "t_contract$_BasicToken_$2263", "typeString": "contract BasicToken" } }, - "id": 541, + "id": 584, "nodeType": "InheritanceSpecifier", - "src": "127:10:7" + "src": "127:10:9" } ], "contractDependencies": [ - 2215, - 2511 + 2263, + 2559 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 560, + "id": 603, "linearizedBaseContracts": [ - 560, - 2215, - 2511 + 603, + 2263, + 2559 ], "name": "BasicTokenMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 558, + "id": 601, "nodeType": "Block", - "src": "222:87:7", + "src": "222:87:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 552, + "id": 595, "isConstant": false, "isLValue": false, "isPure": false, @@ -188,26 +188,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 548, + "id": 591, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "228:8:7", + "referencedDeclaration": 2180, + "src": "228:8:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 550, + "id": 593, "indexExpression": { "argumentTypes": null, - "id": 549, + "id": 592, "name": "initialAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "237:14:7", + "referencedDeclaration": 586, + "src": "237:14:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -218,7 +218,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "228:24:7", + "src": "228:24:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -228,43 +228,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 551, + "id": 594, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "255:14:7", + "referencedDeclaration": 588, + "src": "255:14:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "228:41:7", + "src": "228:41:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 553, + "id": 596, "nodeType": "ExpressionStatement", - "src": "228:41:7" + "src": "228:41:9" }, { "expression": { "argumentTypes": null, - "id": 556, + "id": 599, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 554, + "id": 597, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "275:12:7", + "referencedDeclaration": 2182, + "src": "275:12:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -274,31 +274,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 555, + "id": 598, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "290:14:7", + "referencedDeclaration": 588, + "src": "290:14:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "275:29:7", + "src": "275:29:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 557, + "id": 600, "nodeType": "ExpressionStatement", - "src": "275:29:7" + "src": "275:29:9" } ] }, "documentation": null, - "id": 559, + "id": 602, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -306,16 +306,16 @@ "name": "BasicTokenMock", "nodeType": "FunctionDefinition", "parameters": { - "id": 546, + "id": 589, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 543, + "id": 586, "name": "initialAccount", "nodeType": "VariableDeclaration", - "scope": 559, - "src": "167:22:7", + "scope": 602, + "src": "167:22:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -323,10 +323,10 @@ "typeString": "address" }, "typeName": { - "id": 542, + "id": 585, "name": "address", "nodeType": "ElementaryTypeName", - "src": "167:7:7", + "src": "167:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -337,11 +337,11 @@ }, { "constant": false, - "id": 545, + "id": 588, "name": "initialBalance", "nodeType": "VariableDeclaration", - "scope": 559, - "src": "191:22:7", + "scope": 602, + "src": "191:22:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -349,10 +349,10 @@ "typeString": "uint256" }, "typeName": { - "id": 544, + "id": 587, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "191:7:7", + "src": "191:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -362,40 +362,40 @@ "visibility": "internal" } ], - "src": "166:48:7" + "src": "166:48:9" }, "payable": false, "returnParameters": { - "id": 547, + "id": 590, "nodeType": "ParameterList", "parameters": [], - "src": "222:0:7" + "src": "222:0:9" }, - "scope": 560, - "src": "143:166:7", + "scope": 603, + "src": "143:166:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 561, - "src": "100:212:7" + "scope": 604, + "src": "100:212:9" } ], - "src": "0:313:7" + "src": "0:313:9" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/BasicTokenMock.sol", "exportedSymbols": { "BasicTokenMock": [ - 560 + 603 ] }, - "id": 561, + "id": 604, "nodeType": "SourceUnit", "nodes": [ { - "id": 538, + "id": 581, "literals": [ "solidity", "^", @@ -403,16 +403,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:7" + "src": "0:24:9" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BasicToken.sol", "file": "../token/ERC20/BasicToken.sol", - "id": 539, + "id": 582, "nodeType": "ImportDirective", - "scope": 561, - "sourceUnit": 2216, - "src": "27:39:7", + "scope": 604, + "sourceUnit": 2264, + "src": "27:39:9", "symbolAliases": [], "unitAlias": "" }, @@ -422,47 +422,47 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 540, + "id": 583, "name": "BasicToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2215, - "src": "127:10:7", + "referencedDeclaration": 2263, + "src": "127:10:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_BasicToken_$2215", + "typeIdentifier": "t_contract$_BasicToken_$2263", "typeString": "contract BasicToken" } }, - "id": 541, + "id": 584, "nodeType": "InheritanceSpecifier", - "src": "127:10:7" + "src": "127:10:9" } ], "contractDependencies": [ - 2215, - 2511 + 2263, + 2559 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 560, + "id": 603, "linearizedBaseContracts": [ - 560, - 2215, - 2511 + 603, + 2263, + 2559 ], "name": "BasicTokenMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 558, + "id": 601, "nodeType": "Block", - "src": "222:87:7", + "src": "222:87:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 552, + "id": 595, "isConstant": false, "isLValue": false, "isPure": false, @@ -471,26 +471,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 548, + "id": 591, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "228:8:7", + "referencedDeclaration": 2180, + "src": "228:8:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 550, + "id": 593, "indexExpression": { "argumentTypes": null, - "id": 549, + "id": 592, "name": "initialAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "237:14:7", + "referencedDeclaration": 586, + "src": "237:14:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -501,7 +501,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "228:24:7", + "src": "228:24:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -511,43 +511,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 551, + "id": 594, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "255:14:7", + "referencedDeclaration": 588, + "src": "255:14:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "228:41:7", + "src": "228:41:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 553, + "id": 596, "nodeType": "ExpressionStatement", - "src": "228:41:7" + "src": "228:41:9" }, { "expression": { "argumentTypes": null, - "id": 556, + "id": 599, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 554, + "id": 597, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "275:12:7", + "referencedDeclaration": 2182, + "src": "275:12:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -557,31 +557,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 555, + "id": 598, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "290:14:7", + "referencedDeclaration": 588, + "src": "290:14:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "275:29:7", + "src": "275:29:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 557, + "id": 600, "nodeType": "ExpressionStatement", - "src": "275:29:7" + "src": "275:29:9" } ] }, "documentation": null, - "id": 559, + "id": 602, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -589,16 +589,16 @@ "name": "BasicTokenMock", "nodeType": "FunctionDefinition", "parameters": { - "id": 546, + "id": 589, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 543, + "id": 586, "name": "initialAccount", "nodeType": "VariableDeclaration", - "scope": 559, - "src": "167:22:7", + "scope": 602, + "src": "167:22:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -606,10 +606,10 @@ "typeString": "address" }, "typeName": { - "id": 542, + "id": 585, "name": "address", "nodeType": "ElementaryTypeName", - "src": "167:7:7", + "src": "167:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -620,11 +620,11 @@ }, { "constant": false, - "id": 545, + "id": 588, "name": "initialBalance", "nodeType": "VariableDeclaration", - "scope": 559, - "src": "191:22:7", + "scope": 602, + "src": "191:22:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -632,10 +632,10 @@ "typeString": "uint256" }, "typeName": { - "id": 544, + "id": 587, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "191:7:7", + "src": "191:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -645,33 +645,33 @@ "visibility": "internal" } ], - "src": "166:48:7" + "src": "166:48:9" }, "payable": false, "returnParameters": { - "id": 547, + "id": 590, "nodeType": "ParameterList", "parameters": [], - "src": "222:0:7" + "src": "222:0:9" }, - "scope": 560, - "src": "143:166:7", + "scope": 603, + "src": "143:166:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 561, - "src": "100:212:7" + "scope": 604, + "src": "100:212:9" } ], - "src": "0:313:7" + "src": "0:313:9" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.614Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.204Z" } \ No newline at end of file diff --git a/build/contracts/BurnableToken.json b/build/contracts/BurnableToken.json index c970082a9..7342f6680 100644 --- a/build/contracts/BurnableToken.json +++ b/build/contracts/BurnableToken.json @@ -111,24 +111,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5061060d806100206000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461006757806342966c681461009257806370a08231146100bf578063a9059cbb14610116575b600080fd5b34801561007357600080fd5b5061007c61017b565b6040518082815260200191505060405180910390f35b34801561009e57600080fd5b506100bd60048036038101908080359060200190929190505050610185565b005b3480156100cb57600080fd5b50610100600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610192565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101da565b604051808215151515815260200191505060405180910390f35b6000600154905090565b61018f33826103f9565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561021757600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561026457600080fd5b6102b5826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610348826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105c590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561044657600080fd5b610497816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104ee816001546105ac90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008282111515156105ba57fe5b818303905092915050565b600081830190508281101515156105d857fe5b809050929150505600a165627a7a72305820a1a66e231860d71942ba38cb5a08d860c0f6c14bdbb0e8620ed0f074bf2b5b370029", - "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461006757806342966c681461009257806370a08231146100bf578063a9059cbb14610116575b600080fd5b34801561007357600080fd5b5061007c61017b565b6040518082815260200191505060405180910390f35b34801561009e57600080fd5b506100bd60048036038101908080359060200190929190505050610185565b005b3480156100cb57600080fd5b50610100600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610192565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101da565b604051808215151515815260200191505060405180910390f35b6000600154905090565b61018f33826103f9565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561021757600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561026457600080fd5b6102b5826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610348826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105c590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561044657600080fd5b610497816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104ee816001546105ac90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008282111515156105ba57fe5b818303905092915050565b600081830190508281101515156105d857fe5b809050929150505600a165627a7a72305820a1a66e231860d71942ba38cb5a08d860c0f6c14bdbb0e8620ed0f074bf2b5b370029", - "sourceMap": "147:723:32:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;147:723:32;;;;;;;", - "deployedSourceMap": "147:723:32:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:31;;;;;;;;;;;;;;;;;;;;;;;353:73:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;353:73:32;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83;415:7;437:12;;430:19;;371:83;:::o;353:73:32:-;396:25;402:10;414:6;396:5;:25::i;:::-;353:73;:::o;1131:99:31:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;608:321::-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;430:438:32:-;508:8;:14;517:4;508:14;;;;;;;;;;;;;;;;498:6;:24;;490:33;;;;;;;;718:26;737:6;718:8;:14;727:4;718:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;701:8;:14;710:4;701:14;;;;;;;;;;;;;;;:43;;;;765:24;782:6;765:12;;:16;;:24;;;;:::i;:::-;750:12;:39;;;;805:4;800:18;;;811:6;800:18;;;;;;;;;;;;;;;;;;852:1;829:34;;838:4;829:34;;;856:6;829:34;;;;;;;;;;;;;;;;;;430:438;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b5061060d806100206000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461006757806342966c681461009257806370a08231146100bf578063a9059cbb14610116575b600080fd5b34801561007357600080fd5b5061007c61017b565b6040518082815260200191505060405180910390f35b34801561009e57600080fd5b506100bd60048036038101908080359060200190929190505050610185565b005b3480156100cb57600080fd5b50610100600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610192565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101da565b604051808215151515815260200191505060405180910390f35b6000600154905090565b61018f33826103f9565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561021757600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561026457600080fd5b6102b5826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610348826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105c590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561044657600080fd5b610497816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104ee816001546105ac90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008282111515156105ba57fe5b818303905092915050565b600081830190508281101515156105d857fe5b809050929150505600a165627a7a72305820957e2459e272885540dd19f2fd9b2ace3c588242fb11699586da12e3f8d4720e0029", + "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461006757806342966c681461009257806370a08231146100bf578063a9059cbb14610116575b600080fd5b34801561007357600080fd5b5061007c61017b565b6040518082815260200191505060405180910390f35b34801561009e57600080fd5b506100bd60048036038101908080359060200190929190505050610185565b005b3480156100cb57600080fd5b50610100600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610192565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101da565b604051808215151515815260200191505060405180910390f35b6000600154905090565b61018f33826103f9565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561021757600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561026457600080fd5b6102b5826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610348826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105c590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561044657600080fd5b610497816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104ee816001546105ac90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008282111515156105ba57fe5b818303905092915050565b600081830190508281101515156105d857fe5b809050929150505600a165627a7a72305820957e2459e272885540dd19f2fd9b2ace3c588242fb11699586da12e3f8d4720e0029", + "sourceMap": "147:723:34:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;147:723:34;;;;;;;", + "deployedSourceMap": "147:723:34:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:33;;;;;;;;;;;;;;;;;;;;;;;353:73:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;353:73:34;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83;415:7;437:12;;430:19;;371:83;:::o;353:73:34:-;396:25;402:10;414:6;396:5;:25::i;:::-;353:73;:::o;1131:99:33:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;608:321::-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;430:438:34:-;508:8;:14;517:4;508:14;;;;;;;;;;;;;;;;498:6;:24;;490:33;;;;;;;;718:26;737:6;718:8;:14;727:4;718:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;701:8;:14;710:4;701:14;;;;;;;;;;;;;;;:43;;;;765:24;782:6;765:12;;:16;;:24;;;;:::i;:::-;750:12;:39;;;;805:4;800:18;;;811:6;800:18;;;;;;;;;;;;;;;;;;852:1;829:34;;838:4;829:34;;;856:6;829:34;;;;;;;;;;;;;;;;;;430:438;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"./BasicToken.sol\";\n\n\n/**\n * @title Burnable Token\n * @dev Token that can be irreversibly burned (destroyed).\n */\ncontract BurnableToken is BasicToken {\n\n event Burn(address indexed burner, uint256 value);\n\n /**\n * @dev Burns a specific amount of tokens.\n * @param _value The amount of token to be burned.\n */\n function burn(uint256 _value) public {\n _burn(msg.sender, _value);\n }\n\n function _burn(address _who, uint256 _value) internal {\n require(_value <= balances[_who]);\n // no need to require value <= totalSupply, since that would imply the\n // sender's balance is greater than the totalSupply, which *should* be an assertion failure\n\n balances[_who] = balances[_who].sub(_value);\n totalSupply_ = totalSupply_.sub(_value);\n emit Burn(_who, _value);\n emit Transfer(_who, address(0), _value);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BurnableToken.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BurnableToken.sol", "exportedSymbols": { "BurnableToken": [ - 2286 + 2334 ] }, - "id": 2287, + "id": 2335, "nodeType": "SourceUnit", "nodes": [ { - "id": 2217, + "id": 2265, "literals": [ "solidity", "^", @@ -136,16 +136,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:32" + "src": "0:24:34" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BasicToken.sol", "file": "./BasicToken.sol", - "id": 2218, + "id": 2266, "nodeType": "ImportDirective", - "scope": 2287, - "sourceUnit": 2216, - "src": "26:26:32", + "scope": 2335, + "sourceUnit": 2264, + "src": "26:26:34", "symbolAliases": [], "unitAlias": "" }, @@ -155,33 +155,33 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2219, + "id": 2267, "name": "BasicToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2215, - "src": "173:10:32", + "referencedDeclaration": 2263, + "src": "173:10:34", "typeDescriptions": { - "typeIdentifier": "t_contract$_BasicToken_$2215", + "typeIdentifier": "t_contract$_BasicToken_$2263", "typeString": "contract BasicToken" } }, - "id": 2220, + "id": 2268, "nodeType": "InheritanceSpecifier", - "src": "173:10:32" + "src": "173:10:34" } ], "contractDependencies": [ - 2215, - 2511 + 2263, + 2559 ], "contractKind": "contract", "documentation": "@title Burnable Token\n@dev Token that can be irreversibly burned (destroyed).", "fullyImplemented": true, - "id": 2286, + "id": 2334, "linearizedBaseContracts": [ - 2286, - 2215, - 2511 + 2334, + 2263, + 2559 ], "name": "BurnableToken", "nodeType": "ContractDefinition", @@ -189,21 +189,21 @@ { "anonymous": false, "documentation": null, - "id": 2226, + "id": 2274, "name": "Burn", "nodeType": "EventDefinition", "parameters": { - "id": 2225, + "id": 2273, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2222, + "id": 2270, "indexed": true, "name": "burner", "nodeType": "VariableDeclaration", - "scope": 2226, - "src": "200:22:32", + "scope": 2274, + "src": "200:22:34", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -211,10 +211,10 @@ "typeString": "address" }, "typeName": { - "id": 2221, + "id": 2269, "name": "address", "nodeType": "ElementaryTypeName", - "src": "200:7:32", + "src": "200:7:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -225,12 +225,12 @@ }, { "constant": false, - "id": 2224, + "id": 2272, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2226, - "src": "224:13:32", + "scope": 2274, + "src": "224:13:34", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -238,10 +238,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2223, + "id": 2271, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "224:7:32", + "src": "224:7:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -251,15 +251,15 @@ "visibility": "internal" } ], - "src": "199:39:32" + "src": "199:39:34" }, - "src": "189:50:32" + "src": "189:50:34" }, { "body": { - "id": 2237, + "id": 2285, "nodeType": "Block", - "src": "390:36:32", + "src": "390:36:34", "statements": [ { "expression": { @@ -269,18 +269,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2232, + "id": 2280, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "402:3:32", + "referencedDeclaration": 4879, + "src": "402:3:34", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2233, + "id": 2281, "isConstant": false, "isLValue": false, "isPure": false, @@ -288,7 +288,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "402:10:32", + "src": "402:10:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -296,12 +296,12 @@ }, { "argumentTypes": null, - "id": 2234, + "id": 2282, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2228, - "src": "414:6:32", + "referencedDeclaration": 2276, + "src": "414:6:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -319,18 +319,18 @@ "typeString": "uint256" } ], - "id": 2231, + "id": 2279, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2285, - "src": "396:5:32", + "referencedDeclaration": 2333, + "src": "396:5:34", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2235, + "id": 2283, "isConstant": false, "isLValue": false, "isPure": false, @@ -338,20 +338,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "396:25:32", + "src": "396:25:34", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2236, + "id": 2284, "nodeType": "ExpressionStatement", - "src": "396:25:32" + "src": "396:25:34" } ] }, "documentation": "@dev Burns a specific amount of tokens.\n@param _value The amount of token to be burned.", - "id": 2238, + "id": 2286, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -359,16 +359,16 @@ "name": "burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 2229, + "id": 2277, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2228, + "id": 2276, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2238, - "src": "367:14:32", + "scope": 2286, + "src": "367:14:34", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -376,10 +376,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2227, + "id": 2275, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "367:7:32", + "src": "367:7:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -389,26 +389,26 @@ "visibility": "internal" } ], - "src": "366:16:32" + "src": "366:16:34" }, "payable": false, "returnParameters": { - "id": 2230, + "id": 2278, "nodeType": "ParameterList", "parameters": [], - "src": "390:0:32" + "src": "390:0:34" }, - "scope": 2286, - "src": "353:73:32", + "scope": 2334, + "src": "353:73:34", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 2284, + "id": 2332, "nodeType": "Block", - "src": "484:384:32", + "src": "484:384:34", "statements": [ { "expression": { @@ -420,19 +420,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2250, + "id": 2298, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2246, + "id": 2294, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "498:6:32", + "referencedDeclaration": 2290, + "src": "498:6:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -444,26 +444,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2247, + "id": 2295, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "508:8:32", + "referencedDeclaration": 2180, + "src": "508:8:34", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2249, + "id": 2297, "indexExpression": { "argumentTypes": null, - "id": 2248, + "id": 2296, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "517:4:32", + "referencedDeclaration": 2288, + "src": "517:4:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -474,13 +474,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "508:14:32", + "src": "508:14:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "498:24:32", + "src": "498:24:34", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -494,21 +494,21 @@ "typeString": "bool" } ], - "id": 2245, + "id": 2293, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "490:7:32", + "referencedDeclaration": 4882, + "src": "490:7:34", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2251, + "id": 2299, "isConstant": false, "isLValue": false, "isPure": false, @@ -516,20 +516,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "490:33:32", + "src": "490:33:34", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2252, + "id": 2300, "nodeType": "ExpressionStatement", - "src": "490:33:32" + "src": "490:33:34" }, { "expression": { "argumentTypes": null, - "id": 2262, + "id": 2310, "isConstant": false, "isLValue": false, "isPure": false, @@ -538,26 +538,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2253, + "id": 2301, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "701:8:32", + "referencedDeclaration": 2180, + "src": "701:8:34", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2255, + "id": 2303, "indexExpression": { "argumentTypes": null, - "id": 2254, + "id": 2302, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "710:4:32", + "referencedDeclaration": 2288, + "src": "710:4:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -568,7 +568,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "701:14:32", + "src": "701:14:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -581,12 +581,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2260, + "id": 2308, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "737:6:32", + "referencedDeclaration": 2290, + "src": "737:6:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -604,26 +604,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2256, + "id": 2304, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "718:8:32", + "referencedDeclaration": 2180, + "src": "718:8:34", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2258, + "id": 2306, "indexExpression": { "argumentTypes": null, - "id": 2257, + "id": 2305, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "727:4:32", + "referencedDeclaration": 2288, + "src": "727:4:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -634,27 +634,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "718:14:32", + "src": "718:14:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2259, + "id": 2307, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "718:18:32", + "referencedDeclaration": 554, + "src": "718:18:34", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2261, + "id": 2309, "isConstant": false, "isLValue": false, "isPure": false, @@ -662,38 +662,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "718:26:32", + "src": "718:26:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "701:43:32", + "src": "701:43:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2263, + "id": 2311, "nodeType": "ExpressionStatement", - "src": "701:43:32" + "src": "701:43:34" }, { "expression": { "argumentTypes": null, - "id": 2269, + "id": 2317, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2264, + "id": 2312, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "750:12:32", + "referencedDeclaration": 2182, + "src": "750:12:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -706,12 +706,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2267, + "id": 2315, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "782:6:32", + "referencedDeclaration": 2290, + "src": "782:6:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -727,32 +727,32 @@ ], "expression": { "argumentTypes": null, - "id": 2265, + "id": 2313, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "765:12:32", + "referencedDeclaration": 2182, + "src": "765:12:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2266, + "id": 2314, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "765:16:32", + "referencedDeclaration": 554, + "src": "765:16:34", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2268, + "id": 2316, "isConstant": false, "isLValue": false, "isPure": false, @@ -760,21 +760,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "765:24:32", + "src": "765:24:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "750:39:32", + "src": "750:39:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2270, + "id": 2318, "nodeType": "ExpressionStatement", - "src": "750:39:32" + "src": "750:39:34" }, { "eventCall": { @@ -782,12 +782,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2272, + "id": 2320, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "805:4:32", + "referencedDeclaration": 2288, + "src": "805:4:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -795,12 +795,12 @@ }, { "argumentTypes": null, - "id": 2273, + "id": 2321, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "811:6:32", + "referencedDeclaration": 2290, + "src": "811:6:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -818,18 +818,18 @@ "typeString": "uint256" } ], - "id": 2271, + "id": 2319, "name": "Burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2226, - "src": "800:4:32", + "referencedDeclaration": 2274, + "src": "800:4:34", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2274, + "id": 2322, "isConstant": false, "isLValue": false, "isPure": false, @@ -837,15 +837,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "800:18:32", + "src": "800:18:34", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2275, + "id": 2323, "nodeType": "EmitStatement", - "src": "795:23:32" + "src": "795:23:34" }, { "eventCall": { @@ -853,12 +853,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2277, + "id": 2325, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "838:4:32", + "referencedDeclaration": 2288, + "src": "838:4:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -870,14 +870,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2279, + "id": 2327, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "852:1:32", + "src": "852:1:34", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -893,20 +893,20 @@ "typeString": "int_const 0" } ], - "id": 2278, + "id": 2326, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "844:7:32", + "src": "844:7:34", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 2280, + "id": 2328, "isConstant": false, "isLValue": false, "isPure": true, @@ -914,7 +914,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "844:10:32", + "src": "844:10:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -922,12 +922,12 @@ }, { "argumentTypes": null, - "id": 2281, + "id": 2329, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "856:6:32", + "referencedDeclaration": 2290, + "src": "856:6:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -949,18 +949,18 @@ "typeString": "uint256" } ], - "id": 2276, + "id": 2324, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2510, - "src": "829:8:32", + "referencedDeclaration": 2558, + "src": "829:8:34", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2282, + "id": 2330, "isConstant": false, "isLValue": false, "isPure": false, @@ -968,20 +968,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "829:34:32", + "src": "829:34:34", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2283, + "id": 2331, "nodeType": "EmitStatement", - "src": "824:39:32" + "src": "824:39:34" } ] }, "documentation": null, - "id": 2285, + "id": 2333, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -989,16 +989,16 @@ "name": "_burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 2243, + "id": 2291, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2240, + "id": 2288, "name": "_who", "nodeType": "VariableDeclaration", - "scope": 2285, - "src": "445:12:32", + "scope": 2333, + "src": "445:12:34", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1006,10 +1006,10 @@ "typeString": "address" }, "typeName": { - "id": 2239, + "id": 2287, "name": "address", "nodeType": "ElementaryTypeName", - "src": "445:7:32", + "src": "445:7:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1020,11 +1020,11 @@ }, { "constant": false, - "id": 2242, + "id": 2290, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2285, - "src": "459:14:32", + "scope": 2333, + "src": "459:14:34", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1032,10 +1032,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2241, + "id": 2289, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "459:7:32", + "src": "459:7:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1045,40 +1045,40 @@ "visibility": "internal" } ], - "src": "444:30:32" + "src": "444:30:34" }, "payable": false, "returnParameters": { - "id": 2244, + "id": 2292, "nodeType": "ParameterList", "parameters": [], - "src": "484:0:32" + "src": "484:0:34" }, - "scope": 2286, - "src": "430:438:32", + "scope": 2334, + "src": "430:438:34", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 2287, - "src": "147:723:32" + "scope": 2335, + "src": "147:723:34" } ], - "src": "0:871:32" + "src": "0:871:34" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BurnableToken.sol", "exportedSymbols": { "BurnableToken": [ - 2286 + 2334 ] }, - "id": 2287, + "id": 2335, "nodeType": "SourceUnit", "nodes": [ { - "id": 2217, + "id": 2265, "literals": [ "solidity", "^", @@ -1086,16 +1086,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:32" + "src": "0:24:34" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BasicToken.sol", "file": "./BasicToken.sol", - "id": 2218, + "id": 2266, "nodeType": "ImportDirective", - "scope": 2287, - "sourceUnit": 2216, - "src": "26:26:32", + "scope": 2335, + "sourceUnit": 2264, + "src": "26:26:34", "symbolAliases": [], "unitAlias": "" }, @@ -1105,33 +1105,33 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2219, + "id": 2267, "name": "BasicToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2215, - "src": "173:10:32", + "referencedDeclaration": 2263, + "src": "173:10:34", "typeDescriptions": { - "typeIdentifier": "t_contract$_BasicToken_$2215", + "typeIdentifier": "t_contract$_BasicToken_$2263", "typeString": "contract BasicToken" } }, - "id": 2220, + "id": 2268, "nodeType": "InheritanceSpecifier", - "src": "173:10:32" + "src": "173:10:34" } ], "contractDependencies": [ - 2215, - 2511 + 2263, + 2559 ], "contractKind": "contract", "documentation": "@title Burnable Token\n@dev Token that can be irreversibly burned (destroyed).", "fullyImplemented": true, - "id": 2286, + "id": 2334, "linearizedBaseContracts": [ - 2286, - 2215, - 2511 + 2334, + 2263, + 2559 ], "name": "BurnableToken", "nodeType": "ContractDefinition", @@ -1139,21 +1139,21 @@ { "anonymous": false, "documentation": null, - "id": 2226, + "id": 2274, "name": "Burn", "nodeType": "EventDefinition", "parameters": { - "id": 2225, + "id": 2273, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2222, + "id": 2270, "indexed": true, "name": "burner", "nodeType": "VariableDeclaration", - "scope": 2226, - "src": "200:22:32", + "scope": 2274, + "src": "200:22:34", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1161,10 +1161,10 @@ "typeString": "address" }, "typeName": { - "id": 2221, + "id": 2269, "name": "address", "nodeType": "ElementaryTypeName", - "src": "200:7:32", + "src": "200:7:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1175,12 +1175,12 @@ }, { "constant": false, - "id": 2224, + "id": 2272, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2226, - "src": "224:13:32", + "scope": 2274, + "src": "224:13:34", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1188,10 +1188,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2223, + "id": 2271, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "224:7:32", + "src": "224:7:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1201,15 +1201,15 @@ "visibility": "internal" } ], - "src": "199:39:32" + "src": "199:39:34" }, - "src": "189:50:32" + "src": "189:50:34" }, { "body": { - "id": 2237, + "id": 2285, "nodeType": "Block", - "src": "390:36:32", + "src": "390:36:34", "statements": [ { "expression": { @@ -1219,18 +1219,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2232, + "id": 2280, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "402:3:32", + "referencedDeclaration": 4879, + "src": "402:3:34", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2233, + "id": 2281, "isConstant": false, "isLValue": false, "isPure": false, @@ -1238,7 +1238,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "402:10:32", + "src": "402:10:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1246,12 +1246,12 @@ }, { "argumentTypes": null, - "id": 2234, + "id": 2282, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2228, - "src": "414:6:32", + "referencedDeclaration": 2276, + "src": "414:6:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1269,18 +1269,18 @@ "typeString": "uint256" } ], - "id": 2231, + "id": 2279, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2285, - "src": "396:5:32", + "referencedDeclaration": 2333, + "src": "396:5:34", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2235, + "id": 2283, "isConstant": false, "isLValue": false, "isPure": false, @@ -1288,20 +1288,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "396:25:32", + "src": "396:25:34", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2236, + "id": 2284, "nodeType": "ExpressionStatement", - "src": "396:25:32" + "src": "396:25:34" } ] }, "documentation": "@dev Burns a specific amount of tokens.\n@param _value The amount of token to be burned.", - "id": 2238, + "id": 2286, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1309,16 +1309,16 @@ "name": "burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 2229, + "id": 2277, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2228, + "id": 2276, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2238, - "src": "367:14:32", + "scope": 2286, + "src": "367:14:34", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1326,10 +1326,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2227, + "id": 2275, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "367:7:32", + "src": "367:7:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1339,26 +1339,26 @@ "visibility": "internal" } ], - "src": "366:16:32" + "src": "366:16:34" }, "payable": false, "returnParameters": { - "id": 2230, + "id": 2278, "nodeType": "ParameterList", "parameters": [], - "src": "390:0:32" + "src": "390:0:34" }, - "scope": 2286, - "src": "353:73:32", + "scope": 2334, + "src": "353:73:34", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 2284, + "id": 2332, "nodeType": "Block", - "src": "484:384:32", + "src": "484:384:34", "statements": [ { "expression": { @@ -1370,19 +1370,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2250, + "id": 2298, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2246, + "id": 2294, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "498:6:32", + "referencedDeclaration": 2290, + "src": "498:6:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1394,26 +1394,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2247, + "id": 2295, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "508:8:32", + "referencedDeclaration": 2180, + "src": "508:8:34", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2249, + "id": 2297, "indexExpression": { "argumentTypes": null, - "id": 2248, + "id": 2296, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "517:4:32", + "referencedDeclaration": 2288, + "src": "517:4:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1424,13 +1424,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "508:14:32", + "src": "508:14:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "498:24:32", + "src": "498:24:34", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1444,21 +1444,21 @@ "typeString": "bool" } ], - "id": 2245, + "id": 2293, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "490:7:32", + "referencedDeclaration": 4882, + "src": "490:7:34", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2251, + "id": 2299, "isConstant": false, "isLValue": false, "isPure": false, @@ -1466,20 +1466,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "490:33:32", + "src": "490:33:34", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2252, + "id": 2300, "nodeType": "ExpressionStatement", - "src": "490:33:32" + "src": "490:33:34" }, { "expression": { "argumentTypes": null, - "id": 2262, + "id": 2310, "isConstant": false, "isLValue": false, "isPure": false, @@ -1488,26 +1488,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2253, + "id": 2301, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "701:8:32", + "referencedDeclaration": 2180, + "src": "701:8:34", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2255, + "id": 2303, "indexExpression": { "argumentTypes": null, - "id": 2254, + "id": 2302, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "710:4:32", + "referencedDeclaration": 2288, + "src": "710:4:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1518,7 +1518,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "701:14:32", + "src": "701:14:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1531,12 +1531,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2260, + "id": 2308, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "737:6:32", + "referencedDeclaration": 2290, + "src": "737:6:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1554,26 +1554,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2256, + "id": 2304, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "718:8:32", + "referencedDeclaration": 2180, + "src": "718:8:34", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2258, + "id": 2306, "indexExpression": { "argumentTypes": null, - "id": 2257, + "id": 2305, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "727:4:32", + "referencedDeclaration": 2288, + "src": "727:4:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1584,27 +1584,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "718:14:32", + "src": "718:14:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2259, + "id": 2307, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "718:18:32", + "referencedDeclaration": 554, + "src": "718:18:34", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2261, + "id": 2309, "isConstant": false, "isLValue": false, "isPure": false, @@ -1612,38 +1612,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "718:26:32", + "src": "718:26:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "701:43:32", + "src": "701:43:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2263, + "id": 2311, "nodeType": "ExpressionStatement", - "src": "701:43:32" + "src": "701:43:34" }, { "expression": { "argumentTypes": null, - "id": 2269, + "id": 2317, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2264, + "id": 2312, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "750:12:32", + "referencedDeclaration": 2182, + "src": "750:12:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1656,12 +1656,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2267, + "id": 2315, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "782:6:32", + "referencedDeclaration": 2290, + "src": "782:6:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1677,32 +1677,32 @@ ], "expression": { "argumentTypes": null, - "id": 2265, + "id": 2313, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "765:12:32", + "referencedDeclaration": 2182, + "src": "765:12:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2266, + "id": 2314, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "765:16:32", + "referencedDeclaration": 554, + "src": "765:16:34", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2268, + "id": 2316, "isConstant": false, "isLValue": false, "isPure": false, @@ -1710,21 +1710,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "765:24:32", + "src": "765:24:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "750:39:32", + "src": "750:39:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2270, + "id": 2318, "nodeType": "ExpressionStatement", - "src": "750:39:32" + "src": "750:39:34" }, { "eventCall": { @@ -1732,12 +1732,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2272, + "id": 2320, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "805:4:32", + "referencedDeclaration": 2288, + "src": "805:4:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1745,12 +1745,12 @@ }, { "argumentTypes": null, - "id": 2273, + "id": 2321, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "811:6:32", + "referencedDeclaration": 2290, + "src": "811:6:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1768,18 +1768,18 @@ "typeString": "uint256" } ], - "id": 2271, + "id": 2319, "name": "Burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2226, - "src": "800:4:32", + "referencedDeclaration": 2274, + "src": "800:4:34", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2274, + "id": 2322, "isConstant": false, "isLValue": false, "isPure": false, @@ -1787,15 +1787,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "800:18:32", + "src": "800:18:34", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2275, + "id": 2323, "nodeType": "EmitStatement", - "src": "795:23:32" + "src": "795:23:34" }, { "eventCall": { @@ -1803,12 +1803,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2277, + "id": 2325, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "838:4:32", + "referencedDeclaration": 2288, + "src": "838:4:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1820,14 +1820,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2279, + "id": 2327, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "852:1:32", + "src": "852:1:34", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1843,20 +1843,20 @@ "typeString": "int_const 0" } ], - "id": 2278, + "id": 2326, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "844:7:32", + "src": "844:7:34", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 2280, + "id": 2328, "isConstant": false, "isLValue": false, "isPure": true, @@ -1864,7 +1864,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "844:10:32", + "src": "844:10:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1872,12 +1872,12 @@ }, { "argumentTypes": null, - "id": 2281, + "id": 2329, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "856:6:32", + "referencedDeclaration": 2290, + "src": "856:6:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1899,18 +1899,18 @@ "typeString": "uint256" } ], - "id": 2276, + "id": 2324, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2510, - "src": "829:8:32", + "referencedDeclaration": 2558, + "src": "829:8:34", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2282, + "id": 2330, "isConstant": false, "isLValue": false, "isPure": false, @@ -1918,20 +1918,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "829:34:32", + "src": "829:34:34", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2283, + "id": 2331, "nodeType": "EmitStatement", - "src": "824:39:32" + "src": "824:39:34" } ] }, "documentation": null, - "id": 2285, + "id": 2333, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1939,16 +1939,16 @@ "name": "_burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 2243, + "id": 2291, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2240, + "id": 2288, "name": "_who", "nodeType": "VariableDeclaration", - "scope": 2285, - "src": "445:12:32", + "scope": 2333, + "src": "445:12:34", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1956,10 +1956,10 @@ "typeString": "address" }, "typeName": { - "id": 2239, + "id": 2287, "name": "address", "nodeType": "ElementaryTypeName", - "src": "445:7:32", + "src": "445:7:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1970,11 +1970,11 @@ }, { "constant": false, - "id": 2242, + "id": 2290, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2285, - "src": "459:14:32", + "scope": 2333, + "src": "459:14:34", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1982,10 +1982,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2241, + "id": 2289, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "459:7:32", + "src": "459:7:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1995,33 +1995,33 @@ "visibility": "internal" } ], - "src": "444:30:32" + "src": "444:30:34" }, "payable": false, "returnParameters": { - "id": 2244, + "id": 2292, "nodeType": "ParameterList", "parameters": [], - "src": "484:0:32" + "src": "484:0:34" }, - "scope": 2286, - "src": "430:438:32", + "scope": 2334, + "src": "430:438:34", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 2287, - "src": "147:723:32" + "scope": 2335, + "src": "147:723:34" } ], - "src": "0:871:32" + "src": "0:871:34" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.635Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.212Z" } \ No newline at end of file diff --git a/build/contracts/BurnableTokenMock.json b/build/contracts/BurnableTokenMock.json index 3793793a0..86c27b74e 100644 --- a/build/contracts/BurnableTokenMock.json +++ b/build/contracts/BurnableTokenMock.json @@ -126,24 +126,24 @@ "type": "event" } ], - "bytecode": "0x608060405234801561001057600080fd5b506040516040806106a58339810180604052810190808051906020019092919080519060200190929190505050806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600181905550505061060d806100986000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461006757806342966c681461009257806370a08231146100bf578063a9059cbb14610116575b600080fd5b34801561007357600080fd5b5061007c61017b565b6040518082815260200191505060405180910390f35b34801561009e57600080fd5b506100bd60048036038101908080359060200190929190505050610185565b005b3480156100cb57600080fd5b50610100600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610192565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101da565b604051808215151515815260200191505060405180910390f35b6000600154905090565b61018f33826103f9565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561021757600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561026457600080fd5b6102b5826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610348826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105c590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561044657600080fd5b610497816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104ee816001546105ac90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008282111515156105ba57fe5b818303905092915050565b600081830190508281101515156105d857fe5b809050929150505600a165627a7a72305820cccb66631035a948ef6ec208eb4979683bf765d4c2408d40c3238f94d8c6b92c0029", - "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461006757806342966c681461009257806370a08231146100bf578063a9059cbb14610116575b600080fd5b34801561007357600080fd5b5061007c61017b565b6040518082815260200191505060405180910390f35b34801561009e57600080fd5b506100bd60048036038101908080359060200190929190505050610185565b005b3480156100cb57600080fd5b50610100600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610192565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101da565b604051808215151515815260200191505060405180910390f35b6000600154905090565b61018f33826103f9565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561021757600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561026457600080fd5b6102b5826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610348826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105c590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561044657600080fd5b610497816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104ee816001546105ac90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008282111515156105ba57fe5b818303905092915050565b600081830190508281101515156105d857fe5b809050929150505600a165627a7a72305820cccb66631035a948ef6ec208eb4979683bf765d4c2408d40c3238f94d8c6b92c0029", - "sourceMap": "71:218:9:-;;;120:166;8:9:-1;5:2;;;30:1;27;20:12;5:2;120:166:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;232:14;205:8;:24;214:14;205:24;;;;;;;;;;;;;;;:41;;;;267:14;252:12;:29;;;;120:166;;71:218;;;;;;", - "deployedSourceMap": "71:218:9:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:31;;;;;;;;;;;;;;;;;;;;;;;353:73:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;353:73:32;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83;415:7;437:12;;430:19;;371:83;:::o;353:73:32:-;396:25;402:10;414:6;396:5;:25::i;:::-;353:73;:::o;1131:99:31:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;608:321::-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;430:438:32:-;508:8;:14;517:4;508:14;;;;;;;;;;;;;;;;498:6;:24;;490:33;;;;;;;;718:26;737:6;718:8;:14;727:4;718:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;701:8;:14;710:4;701:14;;;;;;;;;;;;;;;:43;;;;765:24;782:6;765:12;;:16;;:24;;;;:::i;:::-;750:12;:39;;;;805:4;800:18;;;811:6;800:18;;;;;;;;;;;;;;;;;;852:1;829:34;;838:4;829:34;;;856:6;829:34;;;;;;;;;;;;;;;;;;430:438;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b506040516040806106a58339810180604052810190808051906020019092919080519060200190929190505050806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600181905550505061060d806100986000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461006757806342966c681461009257806370a08231146100bf578063a9059cbb14610116575b600080fd5b34801561007357600080fd5b5061007c61017b565b6040518082815260200191505060405180910390f35b34801561009e57600080fd5b506100bd60048036038101908080359060200190929190505050610185565b005b3480156100cb57600080fd5b50610100600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610192565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101da565b604051808215151515815260200191505060405180910390f35b6000600154905090565b61018f33826103f9565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561021757600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561026457600080fd5b6102b5826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610348826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105c590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561044657600080fd5b610497816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104ee816001546105ac90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008282111515156105ba57fe5b818303905092915050565b600081830190508281101515156105d857fe5b809050929150505600a165627a7a72305820a7855be019e7eecfeead912287fe38df16b46661962ec0ad0d42af79fc1cecea0029", + "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461006757806342966c681461009257806370a08231146100bf578063a9059cbb14610116575b600080fd5b34801561007357600080fd5b5061007c61017b565b6040518082815260200191505060405180910390f35b34801561009e57600080fd5b506100bd60048036038101908080359060200190929190505050610185565b005b3480156100cb57600080fd5b50610100600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610192565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101da565b604051808215151515815260200191505060405180910390f35b6000600154905090565b61018f33826103f9565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561021757600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561026457600080fd5b6102b5826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610348826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105c590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561044657600080fd5b610497816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104ee816001546105ac90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008282111515156105ba57fe5b818303905092915050565b600081830190508281101515156105d857fe5b809050929150505600a165627a7a72305820a7855be019e7eecfeead912287fe38df16b46661962ec0ad0d42af79fc1cecea0029", + "sourceMap": "71:218:11:-;;;120:166;8:9:-1;5:2;;;30:1;27;20:12;5:2;120:166:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;232:14;205:8;:24;214:14;205:24;;;;;;;;;;;;;;;:41;;;;267:14;252:12;:29;;;;120:166;;71:218;;;;;;", + "deployedSourceMap": "71:218:11:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:33;;;;;;;;;;;;;;;;;;;;;;;353:73:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;353:73:34;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83;415:7;437:12;;430:19;;371:83;:::o;353:73:34:-;396:25;402:10;414:6;396:5;:25::i;:::-;353:73;:::o;1131:99:33:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;608:321::-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;430:438:34:-;508:8;:14;517:4;508:14;;;;;;;;;;;;;;;;498:6;:24;;490:33;;;;;;;;718:26;737:6;718:8;:14;727:4;718:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;701:8;:14;710:4;701:14;;;;;;;;;;;;;;;:43;;;;765:24;782:6;765:12;;:16;;:24;;;;:::i;:::-;750:12;:39;;;;805:4;800:18;;;811:6;800:18;;;;;;;;;;;;;;;;;;852:1;829:34;;838:4;829:34;;;856:6;829:34;;;;;;;;;;;;;;;;;;430:438;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"../token/ERC20/BurnableToken.sol\";\n\n\ncontract BurnableTokenMock is BurnableToken {\n\n function BurnableTokenMock(address initialAccount, uint initialBalance) public {\n balances[initialAccount] = initialBalance;\n totalSupply_ = initialBalance;\n }\n\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/BurnableTokenMock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/BurnableTokenMock.sol", "exportedSymbols": { "BurnableTokenMock": [ - 630 + 673 ] }, - "id": 631, + "id": 674, "nodeType": "SourceUnit", "nodes": [ { - "id": 608, + "id": 651, "literals": [ "solidity", "^", @@ -151,16 +151,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:9" + "src": "0:24:11" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BurnableToken.sol", "file": "../token/ERC20/BurnableToken.sol", - "id": 609, + "id": 652, "nodeType": "ImportDirective", - "scope": 631, - "sourceUnit": 2287, - "src": "26:42:9", + "scope": 674, + "sourceUnit": 2335, + "src": "26:42:11", "symbolAliases": [], "unitAlias": "" }, @@ -170,49 +170,49 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 610, + "id": 653, "name": "BurnableToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2286, - "src": "101:13:9", + "referencedDeclaration": 2334, + "src": "101:13:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_BurnableToken_$2286", + "typeIdentifier": "t_contract$_BurnableToken_$2334", "typeString": "contract BurnableToken" } }, - "id": 611, + "id": 654, "nodeType": "InheritanceSpecifier", - "src": "101:13:9" + "src": "101:13:11" } ], "contractDependencies": [ - 2215, - 2286, - 2511 + 2263, + 2334, + 2559 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 630, + "id": 673, "linearizedBaseContracts": [ - 630, - 2286, - 2215, - 2511 + 673, + 2334, + 2263, + 2559 ], "name": "BurnableTokenMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 628, + "id": 671, "nodeType": "Block", - "src": "199:87:9", + "src": "199:87:11", "statements": [ { "expression": { "argumentTypes": null, - "id": 622, + "id": 665, "isConstant": false, "isLValue": false, "isPure": false, @@ -221,26 +221,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 618, + "id": 661, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "205:8:9", + "referencedDeclaration": 2180, + "src": "205:8:11", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 620, + "id": 663, "indexExpression": { "argumentTypes": null, - "id": 619, + "id": 662, "name": "initialAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 613, - "src": "214:14:9", + "referencedDeclaration": 656, + "src": "214:14:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -251,7 +251,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "205:24:9", + "src": "205:24:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -261,43 +261,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 621, + "id": 664, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 615, - "src": "232:14:9", + "referencedDeclaration": 658, + "src": "232:14:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "205:41:9", + "src": "205:41:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 623, + "id": 666, "nodeType": "ExpressionStatement", - "src": "205:41:9" + "src": "205:41:11" }, { "expression": { "argumentTypes": null, - "id": 626, + "id": 669, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 624, + "id": 667, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "252:12:9", + "referencedDeclaration": 2182, + "src": "252:12:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -307,31 +307,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 625, + "id": 668, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 615, - "src": "267:14:9", + "referencedDeclaration": 658, + "src": "267:14:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "252:29:9", + "src": "252:29:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 627, + "id": 670, "nodeType": "ExpressionStatement", - "src": "252:29:9" + "src": "252:29:11" } ] }, "documentation": null, - "id": 629, + "id": 672, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -339,16 +339,16 @@ "name": "BurnableTokenMock", "nodeType": "FunctionDefinition", "parameters": { - "id": 616, + "id": 659, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 613, + "id": 656, "name": "initialAccount", "nodeType": "VariableDeclaration", - "scope": 629, - "src": "147:22:9", + "scope": 672, + "src": "147:22:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -356,10 +356,10 @@ "typeString": "address" }, "typeName": { - "id": 612, + "id": 655, "name": "address", "nodeType": "ElementaryTypeName", - "src": "147:7:9", + "src": "147:7:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -370,11 +370,11 @@ }, { "constant": false, - "id": 615, + "id": 658, "name": "initialBalance", "nodeType": "VariableDeclaration", - "scope": 629, - "src": "171:19:9", + "scope": 672, + "src": "171:19:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -382,10 +382,10 @@ "typeString": "uint256" }, "typeName": { - "id": 614, + "id": 657, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "171:4:9", + "src": "171:4:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -395,40 +395,40 @@ "visibility": "internal" } ], - "src": "146:45:9" + "src": "146:45:11" }, "payable": false, "returnParameters": { - "id": 617, + "id": 660, "nodeType": "ParameterList", "parameters": [], - "src": "199:0:9" + "src": "199:0:11" }, - "scope": 630, - "src": "120:166:9", + "scope": 673, + "src": "120:166:11", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 631, - "src": "71:218:9" + "scope": 674, + "src": "71:218:11" } ], - "src": "0:290:9" + "src": "0:290:11" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/BurnableTokenMock.sol", "exportedSymbols": { "BurnableTokenMock": [ - 630 + 673 ] }, - "id": 631, + "id": 674, "nodeType": "SourceUnit", "nodes": [ { - "id": 608, + "id": 651, "literals": [ "solidity", "^", @@ -436,16 +436,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:9" + "src": "0:24:11" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BurnableToken.sol", "file": "../token/ERC20/BurnableToken.sol", - "id": 609, + "id": 652, "nodeType": "ImportDirective", - "scope": 631, - "sourceUnit": 2287, - "src": "26:42:9", + "scope": 674, + "sourceUnit": 2335, + "src": "26:42:11", "symbolAliases": [], "unitAlias": "" }, @@ -455,49 +455,49 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 610, + "id": 653, "name": "BurnableToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2286, - "src": "101:13:9", + "referencedDeclaration": 2334, + "src": "101:13:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_BurnableToken_$2286", + "typeIdentifier": "t_contract$_BurnableToken_$2334", "typeString": "contract BurnableToken" } }, - "id": 611, + "id": 654, "nodeType": "InheritanceSpecifier", - "src": "101:13:9" + "src": "101:13:11" } ], "contractDependencies": [ - 2215, - 2286, - 2511 + 2263, + 2334, + 2559 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 630, + "id": 673, "linearizedBaseContracts": [ - 630, - 2286, - 2215, - 2511 + 673, + 2334, + 2263, + 2559 ], "name": "BurnableTokenMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 628, + "id": 671, "nodeType": "Block", - "src": "199:87:9", + "src": "199:87:11", "statements": [ { "expression": { "argumentTypes": null, - "id": 622, + "id": 665, "isConstant": false, "isLValue": false, "isPure": false, @@ -506,26 +506,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 618, + "id": 661, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "205:8:9", + "referencedDeclaration": 2180, + "src": "205:8:11", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 620, + "id": 663, "indexExpression": { "argumentTypes": null, - "id": 619, + "id": 662, "name": "initialAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 613, - "src": "214:14:9", + "referencedDeclaration": 656, + "src": "214:14:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -536,7 +536,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "205:24:9", + "src": "205:24:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -546,43 +546,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 621, + "id": 664, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 615, - "src": "232:14:9", + "referencedDeclaration": 658, + "src": "232:14:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "205:41:9", + "src": "205:41:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 623, + "id": 666, "nodeType": "ExpressionStatement", - "src": "205:41:9" + "src": "205:41:11" }, { "expression": { "argumentTypes": null, - "id": 626, + "id": 669, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 624, + "id": 667, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "252:12:9", + "referencedDeclaration": 2182, + "src": "252:12:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -592,31 +592,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 625, + "id": 668, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 615, - "src": "267:14:9", + "referencedDeclaration": 658, + "src": "267:14:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "252:29:9", + "src": "252:29:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 627, + "id": 670, "nodeType": "ExpressionStatement", - "src": "252:29:9" + "src": "252:29:11" } ] }, "documentation": null, - "id": 629, + "id": 672, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -624,16 +624,16 @@ "name": "BurnableTokenMock", "nodeType": "FunctionDefinition", "parameters": { - "id": 616, + "id": 659, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 613, + "id": 656, "name": "initialAccount", "nodeType": "VariableDeclaration", - "scope": 629, - "src": "147:22:9", + "scope": 672, + "src": "147:22:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -641,10 +641,10 @@ "typeString": "address" }, "typeName": { - "id": 612, + "id": 655, "name": "address", "nodeType": "ElementaryTypeName", - "src": "147:7:9", + "src": "147:7:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -655,11 +655,11 @@ }, { "constant": false, - "id": 615, + "id": 658, "name": "initialBalance", "nodeType": "VariableDeclaration", - "scope": 629, - "src": "171:19:9", + "scope": 672, + "src": "171:19:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -667,10 +667,10 @@ "typeString": "uint256" }, "typeName": { - "id": 614, + "id": 657, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "171:4:9", + "src": "171:4:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -680,33 +680,33 @@ "visibility": "internal" } ], - "src": "146:45:9" + "src": "146:45:11" }, "payable": false, "returnParameters": { - "id": 617, + "id": 660, "nodeType": "ParameterList", "parameters": [], - "src": "199:0:9" + "src": "199:0:11" }, - "scope": 630, - "src": "120:166:9", + "scope": 673, + "src": "120:166:11", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 631, - "src": "71:218:9" + "scope": 674, + "src": "71:218:11" } ], - "src": "0:290:9" + "src": "0:290:11" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.614Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.204Z" } \ No newline at end of file diff --git a/build/contracts/DetailedERC20.json b/build/contracts/DetailedERC20.json index 0c160ee41..d0dd5643d 100644 --- a/build/contracts/DetailedERC20.json +++ b/build/contracts/DetailedERC20.json @@ -289,14 +289,14 @@ "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/DetailedERC20.sol", "exportedSymbols": { "DetailedERC20": [ - 2327 + 2375 ] }, - "id": 2328, + "id": 2376, "nodeType": "SourceUnit", "nodes": [ { - "id": 2288, + "id": 2336, "literals": [ "solidity", "^", @@ -304,27 +304,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:33" + "src": "0:24:35" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20.sol", "file": "./ERC20.sol", - "id": 2289, + "id": 2337, "nodeType": "ImportDirective", - "scope": 2328, - "sourceUnit": 2480, - "src": "26:21:33", + "scope": 2376, + "sourceUnit": 2528, + "src": "26:21:35", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 2290, + "id": 2338, "nodeType": "ImportDirective", - "scope": 2328, - "sourceUnit": 4770, - "src": "48:53:33", + "scope": 2376, + "sourceUnit": 4865, + "src": "48:53:35", "symbolAliases": [], "unitAlias": "" }, @@ -334,64 +334,64 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2291, + "id": 2339, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "130:10:33", + "referencedDeclaration": 4864, + "src": "130:10:35", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 2292, + "id": 2340, "nodeType": "InheritanceSpecifier", - "src": "130:10:33" + "src": "130:10:35" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2293, + "id": 2341, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "142:5:33", + "referencedDeclaration": 2527, + "src": "142:5:35", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 2294, + "id": 2342, "nodeType": "InheritanceSpecifier", - "src": "142:5:33" + "src": "142:5:35" } ], "contractDependencies": [ - 2479, - 2511, - 4769 + 2527, + 2559, + 4864 ], "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 2327, + "id": 2375, "linearizedBaseContracts": [ - 2327, - 2479, - 2511, - 4769 + 2375, + 2527, + 2559, + 4864 ], "name": "DetailedERC20", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 2296, + "id": 2344, "name": "name", "nodeType": "VariableDeclaration", - "scope": 2327, - "src": "152:18:33", + "scope": 2375, + "src": "152:18:35", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -399,10 +399,10 @@ "typeString": "string" }, "typeName": { - "id": 2295, + "id": 2343, "name": "string", "nodeType": "ElementaryTypeName", - "src": "152:6:33", + "src": "152:6:35", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -413,11 +413,11 @@ }, { "constant": false, - "id": 2298, + "id": 2346, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 2327, - "src": "174:20:33", + "scope": 2375, + "src": "174:20:35", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -425,10 +425,10 @@ "typeString": "string" }, "typeName": { - "id": 2297, + "id": 2345, "name": "string", "nodeType": "ElementaryTypeName", - "src": "174:6:33", + "src": "174:6:35", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -439,11 +439,11 @@ }, { "constant": false, - "id": 2300, + "id": 2348, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 2327, - "src": "198:21:33", + "scope": 2375, + "src": "198:21:35", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -451,10 +451,10 @@ "typeString": "uint8" }, "typeName": { - "id": 2299, + "id": 2347, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "198:5:33", + "src": "198:5:35", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -465,26 +465,26 @@ }, { "body": { - "id": 2325, + "id": 2373, "nodeType": "Block", - "src": "338:71:33", + "src": "338:71:35", "statements": [ { "expression": { "argumentTypes": null, - "id": 2315, + "id": 2363, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2313, + "id": 2361, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2296, - "src": "344:4:33", + "referencedDeclaration": 2344, + "src": "344:4:35", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -494,43 +494,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2314, + "id": 2362, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2302, - "src": "351:5:33", + "referencedDeclaration": 2350, + "src": "351:5:35", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "344:12:33", + "src": "344:12:35", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 2316, + "id": 2364, "nodeType": "ExpressionStatement", - "src": "344:12:33" + "src": "344:12:35" }, { "expression": { "argumentTypes": null, - "id": 2319, + "id": 2367, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2317, + "id": 2365, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "362:6:33", + "referencedDeclaration": 2346, + "src": "362:6:35", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -540,43 +540,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2318, + "id": 2366, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2304, - "src": "371:7:33", + "referencedDeclaration": 2352, + "src": "371:7:35", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "362:16:33", + "src": "362:16:35", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 2320, + "id": 2368, "nodeType": "ExpressionStatement", - "src": "362:16:33" + "src": "362:16:35" }, { "expression": { "argumentTypes": null, - "id": 2323, + "id": 2371, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2321, + "id": 2369, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "384:8:33", + "referencedDeclaration": 2348, + "src": "384:8:35", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -586,31 +586,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2322, + "id": 2370, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2306, - "src": "395:9:33", + "referencedDeclaration": 2354, + "src": "395:9:35", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "384:20:33", + "src": "384:20:35", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 2324, + "id": 2372, "nodeType": "ExpressionStatement", - "src": "384:20:33" + "src": "384:20:35" } ] }, "documentation": null, - "id": 2326, + "id": 2374, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -620,14 +620,14 @@ { "argumentTypes": null, "hexValue": "44657461696c65644552433230", - "id": 2309, + "id": 2357, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "312:15:33", + "src": "312:15:35", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_25602978a0aae1052ba691c10e3ae9a0b35e67fc7aa9bb7ac8ec18c066b51eb5", @@ -638,14 +638,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 2310, + "id": 2358, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "329:7:33", + "src": "329:7:35", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -654,37 +654,37 @@ "value": "1.9.0" } ], - "id": 2311, + "id": 2359, "modifierName": { "argumentTypes": null, - "id": 2308, + "id": 2356, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "298:13:33", + "referencedDeclaration": 4811, + "src": "298:13:35", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "298:39:33" + "src": "298:39:35" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 2307, + "id": 2355, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2302, + "id": 2350, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 2326, - "src": "244:12:33", + "scope": 2374, + "src": "244:12:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -692,10 +692,10 @@ "typeString": "string" }, "typeName": { - "id": 2301, + "id": 2349, "name": "string", "nodeType": "ElementaryTypeName", - "src": "244:6:33", + "src": "244:6:35", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -706,11 +706,11 @@ }, { "constant": false, - "id": 2304, + "id": 2352, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 2326, - "src": "258:14:33", + "scope": 2374, + "src": "258:14:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -718,10 +718,10 @@ "typeString": "string" }, "typeName": { - "id": 2303, + "id": 2351, "name": "string", "nodeType": "ElementaryTypeName", - "src": "258:6:33", + "src": "258:6:35", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -732,11 +732,11 @@ }, { "constant": false, - "id": 2306, + "id": 2354, "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 2326, - "src": "274:15:33", + "scope": 2374, + "src": "274:15:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -744,10 +744,10 @@ "typeString": "uint8" }, "typeName": { - "id": 2305, + "id": 2353, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "274:5:33", + "src": "274:5:35", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -757,40 +757,40 @@ "visibility": "internal" } ], - "src": "243:47:33" + "src": "243:47:35" }, "payable": false, "returnParameters": { - "id": 2312, + "id": 2360, "nodeType": "ParameterList", "parameters": [], - "src": "338:0:33" + "src": "338:0:35" }, - "scope": 2327, - "src": "224:185:33", + "scope": 2375, + "src": "224:185:35", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 2328, - "src": "104:307:33" + "scope": 2376, + "src": "104:307:35" } ], - "src": "0:412:33" + "src": "0:412:35" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/DetailedERC20.sol", "exportedSymbols": { "DetailedERC20": [ - 2327 + 2375 ] }, - "id": 2328, + "id": 2376, "nodeType": "SourceUnit", "nodes": [ { - "id": 2288, + "id": 2336, "literals": [ "solidity", "^", @@ -798,27 +798,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:33" + "src": "0:24:35" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20.sol", "file": "./ERC20.sol", - "id": 2289, + "id": 2337, "nodeType": "ImportDirective", - "scope": 2328, - "sourceUnit": 2480, - "src": "26:21:33", + "scope": 2376, + "sourceUnit": 2528, + "src": "26:21:35", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 2290, + "id": 2338, "nodeType": "ImportDirective", - "scope": 2328, - "sourceUnit": 4770, - "src": "48:53:33", + "scope": 2376, + "sourceUnit": 4865, + "src": "48:53:35", "symbolAliases": [], "unitAlias": "" }, @@ -828,64 +828,64 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2291, + "id": 2339, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "130:10:33", + "referencedDeclaration": 4864, + "src": "130:10:35", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 2292, + "id": 2340, "nodeType": "InheritanceSpecifier", - "src": "130:10:33" + "src": "130:10:35" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2293, + "id": 2341, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "142:5:33", + "referencedDeclaration": 2527, + "src": "142:5:35", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 2294, + "id": 2342, "nodeType": "InheritanceSpecifier", - "src": "142:5:33" + "src": "142:5:35" } ], "contractDependencies": [ - 2479, - 2511, - 4769 + 2527, + 2559, + 4864 ], "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 2327, + "id": 2375, "linearizedBaseContracts": [ - 2327, - 2479, - 2511, - 4769 + 2375, + 2527, + 2559, + 4864 ], "name": "DetailedERC20", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 2296, + "id": 2344, "name": "name", "nodeType": "VariableDeclaration", - "scope": 2327, - "src": "152:18:33", + "scope": 2375, + "src": "152:18:35", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -893,10 +893,10 @@ "typeString": "string" }, "typeName": { - "id": 2295, + "id": 2343, "name": "string", "nodeType": "ElementaryTypeName", - "src": "152:6:33", + "src": "152:6:35", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -907,11 +907,11 @@ }, { "constant": false, - "id": 2298, + "id": 2346, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 2327, - "src": "174:20:33", + "scope": 2375, + "src": "174:20:35", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -919,10 +919,10 @@ "typeString": "string" }, "typeName": { - "id": 2297, + "id": 2345, "name": "string", "nodeType": "ElementaryTypeName", - "src": "174:6:33", + "src": "174:6:35", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -933,11 +933,11 @@ }, { "constant": false, - "id": 2300, + "id": 2348, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 2327, - "src": "198:21:33", + "scope": 2375, + "src": "198:21:35", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -945,10 +945,10 @@ "typeString": "uint8" }, "typeName": { - "id": 2299, + "id": 2347, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "198:5:33", + "src": "198:5:35", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -959,26 +959,26 @@ }, { "body": { - "id": 2325, + "id": 2373, "nodeType": "Block", - "src": "338:71:33", + "src": "338:71:35", "statements": [ { "expression": { "argumentTypes": null, - "id": 2315, + "id": 2363, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2313, + "id": 2361, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2296, - "src": "344:4:33", + "referencedDeclaration": 2344, + "src": "344:4:35", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -988,43 +988,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2314, + "id": 2362, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2302, - "src": "351:5:33", + "referencedDeclaration": 2350, + "src": "351:5:35", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "344:12:33", + "src": "344:12:35", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 2316, + "id": 2364, "nodeType": "ExpressionStatement", - "src": "344:12:33" + "src": "344:12:35" }, { "expression": { "argumentTypes": null, - "id": 2319, + "id": 2367, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2317, + "id": 2365, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "362:6:33", + "referencedDeclaration": 2346, + "src": "362:6:35", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -1034,43 +1034,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2318, + "id": 2366, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2304, - "src": "371:7:33", + "referencedDeclaration": 2352, + "src": "371:7:35", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "362:16:33", + "src": "362:16:35", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 2320, + "id": 2368, "nodeType": "ExpressionStatement", - "src": "362:16:33" + "src": "362:16:35" }, { "expression": { "argumentTypes": null, - "id": 2323, + "id": 2371, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2321, + "id": 2369, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "384:8:33", + "referencedDeclaration": 2348, + "src": "384:8:35", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1080,31 +1080,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2322, + "id": 2370, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2306, - "src": "395:9:33", + "referencedDeclaration": 2354, + "src": "395:9:35", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "384:20:33", + "src": "384:20:35", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 2324, + "id": 2372, "nodeType": "ExpressionStatement", - "src": "384:20:33" + "src": "384:20:35" } ] }, "documentation": null, - "id": 2326, + "id": 2374, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1114,14 +1114,14 @@ { "argumentTypes": null, "hexValue": "44657461696c65644552433230", - "id": 2309, + "id": 2357, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "312:15:33", + "src": "312:15:35", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_25602978a0aae1052ba691c10e3ae9a0b35e67fc7aa9bb7ac8ec18c066b51eb5", @@ -1132,14 +1132,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 2310, + "id": 2358, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "329:7:33", + "src": "329:7:35", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -1148,37 +1148,37 @@ "value": "1.9.0" } ], - "id": 2311, + "id": 2359, "modifierName": { "argumentTypes": null, - "id": 2308, + "id": 2356, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "298:13:33", + "referencedDeclaration": 4811, + "src": "298:13:35", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "298:39:33" + "src": "298:39:35" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 2307, + "id": 2355, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2302, + "id": 2350, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 2326, - "src": "244:12:33", + "scope": 2374, + "src": "244:12:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1186,10 +1186,10 @@ "typeString": "string" }, "typeName": { - "id": 2301, + "id": 2349, "name": "string", "nodeType": "ElementaryTypeName", - "src": "244:6:33", + "src": "244:6:35", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1200,11 +1200,11 @@ }, { "constant": false, - "id": 2304, + "id": 2352, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 2326, - "src": "258:14:33", + "scope": 2374, + "src": "258:14:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1212,10 +1212,10 @@ "typeString": "string" }, "typeName": { - "id": 2303, + "id": 2351, "name": "string", "nodeType": "ElementaryTypeName", - "src": "258:6:33", + "src": "258:6:35", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1226,11 +1226,11 @@ }, { "constant": false, - "id": 2306, + "id": 2354, "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 2326, - "src": "274:15:33", + "scope": 2374, + "src": "274:15:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1238,10 +1238,10 @@ "typeString": "uint8" }, "typeName": { - "id": 2305, + "id": 2353, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "274:5:33", + "src": "274:5:35", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1251,33 +1251,33 @@ "visibility": "internal" } ], - "src": "243:47:33" + "src": "243:47:35" }, "payable": false, "returnParameters": { - "id": 2312, + "id": 2360, "nodeType": "ParameterList", "parameters": [], - "src": "338:0:33" + "src": "338:0:35" }, - "scope": 2327, - "src": "224:185:33", + "scope": 2375, + "src": "224:185:35", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 2328, - "src": "104:307:33" + "scope": 2376, + "src": "104:307:35" } ], - "src": "0:412:33" + "src": "0:412:35" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.635Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.213Z" } \ No newline at end of file diff --git a/build/contracts/DetailedERC20Mock.json b/build/contracts/DetailedERC20Mock.json index 326ff9a7b..ee9232e33 100644 --- a/build/contracts/DetailedERC20Mock.json +++ b/build/contracts/DetailedERC20Mock.json @@ -344,24 +344,24 @@ "type": "event" } ], - "bytecode": "0x60806040523480156200001157600080fd5b5060405162001e0138038062001e018339810180604052810190808051820192919060200180518201929190602001805190602001909291905050506200006e838383620000776401000000000262000840176401000000009004565b505050620004fd565b6040805190810160405280600d81526020017f44657461696c65644552433230000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250620000fe82826200035f640100000000026401000000009004565b1515156200010b57600080fd5b8460049080519060200190620001239291906200044e565b5083600590805190602001906200013c9291906200044e565b5082600660006101000a81548160ff021916908360ff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015620001c1578082015181840152602081019050620001a4565b50505050905090810190601f168015620001ef5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156200022a5780820151818401526020810190506200020d565b50505050905090810190601f168015620002585780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515620002a357805182526020820191506020810190506020830392506200027c565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156200030e5780518252602082019150602081019050602083039250620002e7565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b600080836040518082805190602001908083835b6020831015156200039a578051825260208201915060208101905060208303925062000373565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515620004055780518252602082019150602081019050602083039250620003de565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200049157805160ff1916838001178555620004c2565b82800160010185558215620004c2579182015b82811115620004c1578251825591602001919060010190620004a4565b5b509050620004d19190620004d5565b5090565b620004fa91905b80821115620004f6576000816000905550600101620004dc565b5090565b90565b6118f4806200050d6000396000f3006080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100ca578063095ea7b31461015a5780631624f6c6146101bf57806318160ddd1461027b57806323b872dd146102a6578063313ce5671461032b578063661884631461035c57806370a08231146103c157806395d89b4114610418578063a9059cbb146104a8578063c0bac1a81461050d578063d73dd623146105d4578063dd62ed3e14610639575b600080fd5b3480156100d657600080fd5b506100df6106b0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561011f578082015181840152602081019050610104565b50505050905090810190601f16801561014c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016657600080fd5b506101a5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061074e565b604051808215151515815260200191505060405180910390f35b3480156101cb57600080fd5b50610279600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050610840565b005b34801561028757600080fd5b50610290610b08565b6040518082815260200191505060405180910390f35b3480156102b257600080fd5b50610311600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b12565b604051808215151515815260200191505060405180910390f35b34801561033757600080fd5b50610340610ed1565b604051808260ff1660ff16815260200191505060405180910390f35b34801561036857600080fd5b506103a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ee4565b604051808215151515815260200191505060405180910390f35b3480156103cd57600080fd5b50610402600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611175565b6040518082815260200191505060405180910390f35b34801561042457600080fd5b5061042d6111be565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561046d578082015181840152602081019050610452565b50505050905090810190601f16801561049a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104b457600080fd5b506104f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061125c565b604051808215151515815260200191505060405180910390f35b34801561051957600080fd5b506105ba600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611480565b604051808215151515815260200191505060405180910390f35b3480156105e057600080fd5b5061061f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061156b565b604051808215151515815260200191505060405180910390f35b34801561064557600080fd5b5061069a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611767565b6040518082815260200191505060405180910390f35b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107465780601f1061071b57610100808354040283529160200191610746565b820191906000526020600020905b81548152906001019060200180831161072957829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600d81526020017f44657461696c65644552433230000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506108b68282611480565b1515156108c257600080fd5b84600490805190602001906108d8929190611823565b5083600590805190602001906108ef929190611823565b5082600660006101000a81548160ff021916908360ff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610972578082015181840152602081019050610957565b50505050905090810190601f16801561099f5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156109d85780820151818401526020810190506109bd565b50505050905090810190601f168015610a055780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610a4e5780518252602082019150602081019050602083039250610a29565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610ab75780518252602082019150602081019050602083039250610a92565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b6000600254905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b4f57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b9d57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610c2857600080fd5b610c7a82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ee90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d0f82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610de182600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ee90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600660009054906101000a900460ff1681565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610ff5576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611089565b61100883826117ee90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112545780601f1061122957610100808354040283529160200191611254565b820191906000526020600020905b81548152906001019060200180831161123757829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561129957600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156112e757600080fd5b61133982600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ee90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113ce82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b6020831015156114b95780518252602082019150602081019050602083039250611494565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561152257805182526020820191506020810190506020830392506114fd565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b60006115fc82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180790919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008282111515156117fc57fe5b818303905092915050565b6000818301905082811015151561181a57fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061186457805160ff1916838001178555611892565b82800160010185558215611892579182015b82811115611891578251825591602001919060010190611876565b5b50905061189f91906118a3565b5090565b6118c591905b808211156118c15760008160009055506001016118a9565b5090565b905600a165627a7a723058209f1de722b65a5e8fff6bb97607ce6461cba022460434240989091e7a7c36e5c60029", - "deployedBytecode": "0x6080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100ca578063095ea7b31461015a5780631624f6c6146101bf57806318160ddd1461027b57806323b872dd146102a6578063313ce5671461032b578063661884631461035c57806370a08231146103c157806395d89b4114610418578063a9059cbb146104a8578063c0bac1a81461050d578063d73dd623146105d4578063dd62ed3e14610639575b600080fd5b3480156100d657600080fd5b506100df6106b0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561011f578082015181840152602081019050610104565b50505050905090810190601f16801561014c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016657600080fd5b506101a5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061074e565b604051808215151515815260200191505060405180910390f35b3480156101cb57600080fd5b50610279600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050610840565b005b34801561028757600080fd5b50610290610b08565b6040518082815260200191505060405180910390f35b3480156102b257600080fd5b50610311600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b12565b604051808215151515815260200191505060405180910390f35b34801561033757600080fd5b50610340610ed1565b604051808260ff1660ff16815260200191505060405180910390f35b34801561036857600080fd5b506103a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ee4565b604051808215151515815260200191505060405180910390f35b3480156103cd57600080fd5b50610402600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611175565b6040518082815260200191505060405180910390f35b34801561042457600080fd5b5061042d6111be565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561046d578082015181840152602081019050610452565b50505050905090810190601f16801561049a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104b457600080fd5b506104f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061125c565b604051808215151515815260200191505060405180910390f35b34801561051957600080fd5b506105ba600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611480565b604051808215151515815260200191505060405180910390f35b3480156105e057600080fd5b5061061f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061156b565b604051808215151515815260200191505060405180910390f35b34801561064557600080fd5b5061069a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611767565b6040518082815260200191505060405180910390f35b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107465780601f1061071b57610100808354040283529160200191610746565b820191906000526020600020905b81548152906001019060200180831161072957829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600d81526020017f44657461696c65644552433230000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506108b68282611480565b1515156108c257600080fd5b84600490805190602001906108d8929190611823565b5083600590805190602001906108ef929190611823565b5082600660006101000a81548160ff021916908360ff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610972578082015181840152602081019050610957565b50505050905090810190601f16801561099f5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156109d85780820151818401526020810190506109bd565b50505050905090810190601f168015610a055780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610a4e5780518252602082019150602081019050602083039250610a29565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610ab75780518252602082019150602081019050602083039250610a92565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b6000600254905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b4f57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b9d57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610c2857600080fd5b610c7a82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ee90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d0f82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610de182600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ee90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600660009054906101000a900460ff1681565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610ff5576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611089565b61100883826117ee90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112545780601f1061122957610100808354040283529160200191611254565b820191906000526020600020905b81548152906001019060200180831161123757829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561129957600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156112e757600080fd5b61133982600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ee90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113ce82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b6020831015156114b95780518252602082019150602081019050602083039250611494565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561152257805182526020820191506020810190506020830392506114fd565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b60006115fc82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180790919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008282111515156117fc57fe5b818303905092915050565b6000818301905082811015151561181a57fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061186457805160ff1916838001178555611892565b82800160010185558215611892579182015b82811115611891578251825591602001919060010190611876565b5b50905061189f91906118a3565b5090565b6118c591905b808211156118c15760008160009055506001016118a9565b5090565b905600a165627a7a723058209f1de722b65a5e8fff6bb97607ce6461cba022460434240989091e7a7c36e5c60029", - "sourceMap": "114:208:10:-;;;177:143;8:9:-1;5:2;;;30:1;27;20:12;5:2;177:143:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:51;289:5;296:7;305:9;264:24;;;;;:51;;;:::i;:::-;177:143;;;114:208;;224:185:33;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;;;:37;;;:::i;:::-;1082:38;1074:47;;;;;;;;351:5:33;344:4;:12;;;;;;;;;;;;:::i;:::-;;371:7;362:6;:16;;;;;;;;;;;;:::i;:::-;;395:9;384:8;;:20;;;;;;;;;;;;;;;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;224:185:33;;;;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;114:208:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "114:208:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;152:18:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;152:18:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;152:18:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;224:185:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;224:185:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:31;;;;;;;;;;;;;;;;;;;;;;;736:444:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;198:21:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;198:21:33;;;;;;;;;;;;;;;;;;;;;;;;;;;3617:403:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;174:20:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;174:20:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;174:20:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;152:18:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1803:188:42:-;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;224:185:33:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;351:5:33;344:4;:12;;;;;;;;;;;;:::i;:::-;;371:7;362:6;:16;;;;;;;;;;;;:::i;:::-;;395:9;384:8;;:20;;;;;;;;;;;;;;;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;224:185:33;;;;;:::o;371:83:31:-;415:7;437:12;;430:19;;371:83;:::o;736:444:42:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;198:21:33:-;;;;;;;;;;;;;:::o;3617:403:42:-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:31:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;174:20:33:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;608:321:31:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;2893:262:42:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;114:208:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "bytecode": "0x60806040523480156200001157600080fd5b5060405162001e0138038062001e018339810180604052810190808051820192919060200180518201929190602001805190602001909291905050506200006e838383620000776401000000000262000840176401000000009004565b505050620004fd565b6040805190810160405280600d81526020017f44657461696c65644552433230000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250620000fe82826200035f640100000000026401000000009004565b1515156200010b57600080fd5b8460049080519060200190620001239291906200044e565b5083600590805190602001906200013c9291906200044e565b5082600660006101000a81548160ff021916908360ff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015620001c1578082015181840152602081019050620001a4565b50505050905090810190601f168015620001ef5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156200022a5780820151818401526020810190506200020d565b50505050905090810190601f168015620002585780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515620002a357805182526020820191506020810190506020830392506200027c565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156200030e5780518252602082019150602081019050602083039250620002e7565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b600080836040518082805190602001908083835b6020831015156200039a578051825260208201915060208101905060208303925062000373565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515620004055780518252602082019150602081019050602083039250620003de565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200049157805160ff1916838001178555620004c2565b82800160010185558215620004c2579182015b82811115620004c1578251825591602001919060010190620004a4565b5b509050620004d19190620004d5565b5090565b620004fa91905b80821115620004f6576000816000905550600101620004dc565b5090565b90565b6118f4806200050d6000396000f3006080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100ca578063095ea7b31461015a5780631624f6c6146101bf57806318160ddd1461027b57806323b872dd146102a6578063313ce5671461032b578063661884631461035c57806370a08231146103c157806395d89b4114610418578063a9059cbb146104a8578063c0bac1a81461050d578063d73dd623146105d4578063dd62ed3e14610639575b600080fd5b3480156100d657600080fd5b506100df6106b0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561011f578082015181840152602081019050610104565b50505050905090810190601f16801561014c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016657600080fd5b506101a5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061074e565b604051808215151515815260200191505060405180910390f35b3480156101cb57600080fd5b50610279600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050610840565b005b34801561028757600080fd5b50610290610b08565b6040518082815260200191505060405180910390f35b3480156102b257600080fd5b50610311600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b12565b604051808215151515815260200191505060405180910390f35b34801561033757600080fd5b50610340610ed1565b604051808260ff1660ff16815260200191505060405180910390f35b34801561036857600080fd5b506103a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ee4565b604051808215151515815260200191505060405180910390f35b3480156103cd57600080fd5b50610402600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611175565b6040518082815260200191505060405180910390f35b34801561042457600080fd5b5061042d6111be565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561046d578082015181840152602081019050610452565b50505050905090810190601f16801561049a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104b457600080fd5b506104f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061125c565b604051808215151515815260200191505060405180910390f35b34801561051957600080fd5b506105ba600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611480565b604051808215151515815260200191505060405180910390f35b3480156105e057600080fd5b5061061f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061156b565b604051808215151515815260200191505060405180910390f35b34801561064557600080fd5b5061069a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611767565b6040518082815260200191505060405180910390f35b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107465780601f1061071b57610100808354040283529160200191610746565b820191906000526020600020905b81548152906001019060200180831161072957829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600d81526020017f44657461696c65644552433230000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506108b68282611480565b1515156108c257600080fd5b84600490805190602001906108d8929190611823565b5083600590805190602001906108ef929190611823565b5082600660006101000a81548160ff021916908360ff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610972578082015181840152602081019050610957565b50505050905090810190601f16801561099f5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156109d85780820151818401526020810190506109bd565b50505050905090810190601f168015610a055780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610a4e5780518252602082019150602081019050602083039250610a29565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610ab75780518252602082019150602081019050602083039250610a92565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b6000600254905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b4f57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b9d57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610c2857600080fd5b610c7a82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ee90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d0f82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610de182600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ee90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600660009054906101000a900460ff1681565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610ff5576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611089565b61100883826117ee90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112545780601f1061122957610100808354040283529160200191611254565b820191906000526020600020905b81548152906001019060200180831161123757829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561129957600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156112e757600080fd5b61133982600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ee90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113ce82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b6020831015156114b95780518252602082019150602081019050602083039250611494565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561152257805182526020820191506020810190506020830392506114fd565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b60006115fc82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180790919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008282111515156117fc57fe5b818303905092915050565b6000818301905082811015151561181a57fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061186457805160ff1916838001178555611892565b82800160010185558215611892579182015b82811115611891578251825591602001919060010190611876565b5b50905061189f91906118a3565b5090565b6118c591905b808211156118c15760008160009055506001016118a9565b5090565b905600a165627a7a72305820c27c3a22a7c95b46243592040787081f80912ec49e6d0757ed1ba78663fa55300029", + "deployedBytecode": "0x6080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100ca578063095ea7b31461015a5780631624f6c6146101bf57806318160ddd1461027b57806323b872dd146102a6578063313ce5671461032b578063661884631461035c57806370a08231146103c157806395d89b4114610418578063a9059cbb146104a8578063c0bac1a81461050d578063d73dd623146105d4578063dd62ed3e14610639575b600080fd5b3480156100d657600080fd5b506100df6106b0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561011f578082015181840152602081019050610104565b50505050905090810190601f16801561014c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016657600080fd5b506101a5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061074e565b604051808215151515815260200191505060405180910390f35b3480156101cb57600080fd5b50610279600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050610840565b005b34801561028757600080fd5b50610290610b08565b6040518082815260200191505060405180910390f35b3480156102b257600080fd5b50610311600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b12565b604051808215151515815260200191505060405180910390f35b34801561033757600080fd5b50610340610ed1565b604051808260ff1660ff16815260200191505060405180910390f35b34801561036857600080fd5b506103a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ee4565b604051808215151515815260200191505060405180910390f35b3480156103cd57600080fd5b50610402600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611175565b6040518082815260200191505060405180910390f35b34801561042457600080fd5b5061042d6111be565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561046d578082015181840152602081019050610452565b50505050905090810190601f16801561049a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104b457600080fd5b506104f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061125c565b604051808215151515815260200191505060405180910390f35b34801561051957600080fd5b506105ba600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611480565b604051808215151515815260200191505060405180910390f35b3480156105e057600080fd5b5061061f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061156b565b604051808215151515815260200191505060405180910390f35b34801561064557600080fd5b5061069a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611767565b6040518082815260200191505060405180910390f35b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107465780601f1061071b57610100808354040283529160200191610746565b820191906000526020600020905b81548152906001019060200180831161072957829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600d81526020017f44657461696c65644552433230000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506108b68282611480565b1515156108c257600080fd5b84600490805190602001906108d8929190611823565b5083600590805190602001906108ef929190611823565b5082600660006101000a81548160ff021916908360ff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610972578082015181840152602081019050610957565b50505050905090810190601f16801561099f5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156109d85780820151818401526020810190506109bd565b50505050905090810190601f168015610a055780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610a4e5780518252602082019150602081019050602083039250610a29565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610ab75780518252602082019150602081019050602083039250610a92565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b6000600254905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b4f57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b9d57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610c2857600080fd5b610c7a82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ee90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d0f82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610de182600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ee90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600660009054906101000a900460ff1681565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610ff5576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611089565b61100883826117ee90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112545780601f1061122957610100808354040283529160200191611254565b820191906000526020600020905b81548152906001019060200180831161123757829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561129957600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156112e757600080fd5b61133982600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ee90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113ce82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b6020831015156114b95780518252602082019150602081019050602083039250611494565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561152257805182526020820191506020810190506020830392506114fd565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b60006115fc82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180790919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008282111515156117fc57fe5b818303905092915050565b6000818301905082811015151561181a57fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061186457805160ff1916838001178555611892565b82800160010185558215611892579182015b82811115611891578251825591602001919060010190611876565b5b50905061189f91906118a3565b5090565b6118c591905b808211156118c15760008160009055506001016118a9565b5090565b905600a165627a7a72305820c27c3a22a7c95b46243592040787081f80912ec49e6d0757ed1ba78663fa55300029", + "sourceMap": "114:208:12:-;;;177:143;8:9:-1;5:2;;;30:1;27;20:12;5:2;177:143:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:51;289:5;296:7;305:9;264:24;;;;;:51;;;:::i;:::-;177:143;;;114:208;;224:185:35;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;;;:37;;;:::i;:::-;1082:38;1074:47;;;;;;;;351:5:35;344:4;:12;;;;;;;;;;;;:::i;:::-;;371:7;362:6;:16;;;;;;;;;;;;:::i;:::-;;395:9;384:8;;:20;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;224:185:35;;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;114:208:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "114:208:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;152:18:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;152:18:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;152:18:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;224:185:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;224:185:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:33;;;;;;;;;;;;;;;;;;;;;;;736:444:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;198:21:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;198:21:35;;;;;;;;;;;;;;;;;;;;;;;;;;;3617:403:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;174:20:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;174:20:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;174:20:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;152:18:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1803:188:44:-;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;224:185:35:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;351:5:35;344:4;:12;;;;;;;;;;;;:::i;:::-;;371:7;362:6;:16;;;;;;;;;;;;:::i;:::-;;395:9;384:8;;:20;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;224:185:35;;;;;:::o;371:83:33:-;415:7;437:12;;430:19;;371:83;:::o;736:444:44:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;198:21:35:-;;;;;;;;;;;;;:::o;3617:403:44:-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:33:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;174:20:35:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;608:321:33:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;2893:262:44:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;114:208:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"../token/ERC20/StandardToken.sol\";\nimport \"../token/ERC20/DetailedERC20.sol\";\n\n\ncontract DetailedERC20Mock is StandardToken, DetailedERC20 {\n function DetailedERC20Mock(string _name, string _symbol, uint8 _decimals) public {\n DetailedERC20.initialize(_name, _symbol, _decimals);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/DetailedERC20Mock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/DetailedERC20Mock.sol", "exportedSymbols": { "DetailedERC20Mock": [ - 657 + 700 ] }, - "id": 658, + "id": 701, "nodeType": "SourceUnit", "nodes": [ { - "id": 632, + "id": 675, "literals": [ "solidity", "^", @@ -369,27 +369,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:10" + "src": "0:24:12" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardToken.sol", "file": "../token/ERC20/StandardToken.sol", - "id": 633, + "id": 676, "nodeType": "ImportDirective", - "scope": 658, - "sourceUnit": 3104, - "src": "26:42:10", + "scope": 701, + "sourceUnit": 3152, + "src": "26:42:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/DetailedERC20.sol", "file": "../token/ERC20/DetailedERC20.sol", - "id": 634, + "id": 677, "nodeType": "ImportDirective", - "scope": 658, - "sourceUnit": 2328, - "src": "69:42:10", + "scope": 701, + "sourceUnit": 2376, + "src": "69:42:12", "symbolAliases": [], "unitAlias": "" }, @@ -399,68 +399,68 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 635, + "id": 678, "name": "StandardToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3103, - "src": "144:13:10", + "referencedDeclaration": 3151, + "src": "144:13:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_StandardToken_$3103", + "typeIdentifier": "t_contract$_StandardToken_$3151", "typeString": "contract StandardToken" } }, - "id": 636, + "id": 679, "nodeType": "InheritanceSpecifier", - "src": "144:13:10" + "src": "144:13:12" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 637, + "id": 680, "name": "DetailedERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2327, - "src": "159:13:10", + "referencedDeclaration": 2375, + "src": "159:13:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_DetailedERC20_$2327", + "typeIdentifier": "t_contract$_DetailedERC20_$2375", "typeString": "contract DetailedERC20" } }, - "id": 638, + "id": 681, "nodeType": "InheritanceSpecifier", - "src": "159:13:10" + "src": "159:13:12" } ], "contractDependencies": [ - 2215, - 2327, - 2479, - 2511, - 3103, - 4769 + 2263, + 2375, + 2527, + 2559, + 3151, + 4864 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 657, + "id": 700, "linearizedBaseContracts": [ - 657, - 2327, - 3103, - 2215, - 2479, - 2511, - 4769 + 700, + 2375, + 3151, + 2263, + 2527, + 2559, + 4864 ], "name": "DetailedERC20Mock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 655, + "id": 698, "nodeType": "Block", - "src": "258:62:10", + "src": "258:62:12", "statements": [ { "expression": { @@ -468,12 +468,12 @@ "arguments": [ { "argumentTypes": null, - "id": 650, + "id": 693, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 640, - "src": "289:5:10", + "referencedDeclaration": 683, + "src": "289:5:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -481,12 +481,12 @@ }, { "argumentTypes": null, - "id": 651, + "id": 694, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "296:7:10", + "referencedDeclaration": 685, + "src": "296:7:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -494,12 +494,12 @@ }, { "argumentTypes": null, - "id": 652, + "id": 695, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 644, - "src": "305:9:10", + "referencedDeclaration": 687, + "src": "305:9:12", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -523,32 +523,32 @@ ], "expression": { "argumentTypes": null, - "id": 647, + "id": 690, "name": "DetailedERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2327, - "src": "264:13:10", + "referencedDeclaration": 2375, + "src": "264:13:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DetailedERC20_$2327_$", + "typeIdentifier": "t_type$_t_contract$_DetailedERC20_$2375_$", "typeString": "type(contract DetailedERC20)" } }, - "id": 649, + "id": 692, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 2326, - "src": "264:24:10", + "referencedDeclaration": 2374, + "src": "264:24:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$__$", "typeString": "function (string memory,string memory,uint8)" } }, - "id": 653, + "id": 696, "isConstant": false, "isLValue": false, "isPure": false, @@ -556,20 +556,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "264:51:10", + "src": "264:51:12", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 654, + "id": 697, "nodeType": "ExpressionStatement", - "src": "264:51:10" + "src": "264:51:12" } ] }, "documentation": null, - "id": 656, + "id": 699, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -577,16 +577,16 @@ "name": "DetailedERC20Mock", "nodeType": "FunctionDefinition", "parameters": { - "id": 645, + "id": 688, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 640, + "id": 683, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 656, - "src": "204:12:10", + "scope": 699, + "src": "204:12:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -594,10 +594,10 @@ "typeString": "string" }, "typeName": { - "id": 639, + "id": 682, "name": "string", "nodeType": "ElementaryTypeName", - "src": "204:6:10", + "src": "204:6:12", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -608,11 +608,11 @@ }, { "constant": false, - "id": 642, + "id": 685, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 656, - "src": "218:14:10", + "scope": 699, + "src": "218:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -620,10 +620,10 @@ "typeString": "string" }, "typeName": { - "id": 641, + "id": 684, "name": "string", "nodeType": "ElementaryTypeName", - "src": "218:6:10", + "src": "218:6:12", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -634,11 +634,11 @@ }, { "constant": false, - "id": 644, + "id": 687, "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 656, - "src": "234:15:10", + "scope": 699, + "src": "234:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -646,10 +646,10 @@ "typeString": "uint8" }, "typeName": { - "id": 643, + "id": 686, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "234:5:10", + "src": "234:5:12", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -659,40 +659,40 @@ "visibility": "internal" } ], - "src": "203:47:10" + "src": "203:47:12" }, "payable": false, "returnParameters": { - "id": 646, + "id": 689, "nodeType": "ParameterList", "parameters": [], - "src": "258:0:10" + "src": "258:0:12" }, - "scope": 657, - "src": "177:143:10", + "scope": 700, + "src": "177:143:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 658, - "src": "114:208:10" + "scope": 701, + "src": "114:208:12" } ], - "src": "0:323:10" + "src": "0:323:12" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/DetailedERC20Mock.sol", "exportedSymbols": { "DetailedERC20Mock": [ - 657 + 700 ] }, - "id": 658, + "id": 701, "nodeType": "SourceUnit", "nodes": [ { - "id": 632, + "id": 675, "literals": [ "solidity", "^", @@ -700,27 +700,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:10" + "src": "0:24:12" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardToken.sol", "file": "../token/ERC20/StandardToken.sol", - "id": 633, + "id": 676, "nodeType": "ImportDirective", - "scope": 658, - "sourceUnit": 3104, - "src": "26:42:10", + "scope": 701, + "sourceUnit": 3152, + "src": "26:42:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/DetailedERC20.sol", "file": "../token/ERC20/DetailedERC20.sol", - "id": 634, + "id": 677, "nodeType": "ImportDirective", - "scope": 658, - "sourceUnit": 2328, - "src": "69:42:10", + "scope": 701, + "sourceUnit": 2376, + "src": "69:42:12", "symbolAliases": [], "unitAlias": "" }, @@ -730,68 +730,68 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 635, + "id": 678, "name": "StandardToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3103, - "src": "144:13:10", + "referencedDeclaration": 3151, + "src": "144:13:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_StandardToken_$3103", + "typeIdentifier": "t_contract$_StandardToken_$3151", "typeString": "contract StandardToken" } }, - "id": 636, + "id": 679, "nodeType": "InheritanceSpecifier", - "src": "144:13:10" + "src": "144:13:12" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 637, + "id": 680, "name": "DetailedERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2327, - "src": "159:13:10", + "referencedDeclaration": 2375, + "src": "159:13:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_DetailedERC20_$2327", + "typeIdentifier": "t_contract$_DetailedERC20_$2375", "typeString": "contract DetailedERC20" } }, - "id": 638, + "id": 681, "nodeType": "InheritanceSpecifier", - "src": "159:13:10" + "src": "159:13:12" } ], "contractDependencies": [ - 2215, - 2327, - 2479, - 2511, - 3103, - 4769 + 2263, + 2375, + 2527, + 2559, + 3151, + 4864 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 657, + "id": 700, "linearizedBaseContracts": [ - 657, - 2327, - 3103, - 2215, - 2479, - 2511, - 4769 + 700, + 2375, + 3151, + 2263, + 2527, + 2559, + 4864 ], "name": "DetailedERC20Mock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 655, + "id": 698, "nodeType": "Block", - "src": "258:62:10", + "src": "258:62:12", "statements": [ { "expression": { @@ -799,12 +799,12 @@ "arguments": [ { "argumentTypes": null, - "id": 650, + "id": 693, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 640, - "src": "289:5:10", + "referencedDeclaration": 683, + "src": "289:5:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -812,12 +812,12 @@ }, { "argumentTypes": null, - "id": 651, + "id": 694, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "296:7:10", + "referencedDeclaration": 685, + "src": "296:7:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -825,12 +825,12 @@ }, { "argumentTypes": null, - "id": 652, + "id": 695, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 644, - "src": "305:9:10", + "referencedDeclaration": 687, + "src": "305:9:12", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -854,32 +854,32 @@ ], "expression": { "argumentTypes": null, - "id": 647, + "id": 690, "name": "DetailedERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2327, - "src": "264:13:10", + "referencedDeclaration": 2375, + "src": "264:13:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DetailedERC20_$2327_$", + "typeIdentifier": "t_type$_t_contract$_DetailedERC20_$2375_$", "typeString": "type(contract DetailedERC20)" } }, - "id": 649, + "id": 692, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 2326, - "src": "264:24:10", + "referencedDeclaration": 2374, + "src": "264:24:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$__$", "typeString": "function (string memory,string memory,uint8)" } }, - "id": 653, + "id": 696, "isConstant": false, "isLValue": false, "isPure": false, @@ -887,20 +887,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "264:51:10", + "src": "264:51:12", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 654, + "id": 697, "nodeType": "ExpressionStatement", - "src": "264:51:10" + "src": "264:51:12" } ] }, "documentation": null, - "id": 656, + "id": 699, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -908,16 +908,16 @@ "name": "DetailedERC20Mock", "nodeType": "FunctionDefinition", "parameters": { - "id": 645, + "id": 688, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 640, + "id": 683, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 656, - "src": "204:12:10", + "scope": 699, + "src": "204:12:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -925,10 +925,10 @@ "typeString": "string" }, "typeName": { - "id": 639, + "id": 682, "name": "string", "nodeType": "ElementaryTypeName", - "src": "204:6:10", + "src": "204:6:12", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -939,11 +939,11 @@ }, { "constant": false, - "id": 642, + "id": 685, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 656, - "src": "218:14:10", + "scope": 699, + "src": "218:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -951,10 +951,10 @@ "typeString": "string" }, "typeName": { - "id": 641, + "id": 684, "name": "string", "nodeType": "ElementaryTypeName", - "src": "218:6:10", + "src": "218:6:12", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -965,11 +965,11 @@ }, { "constant": false, - "id": 644, + "id": 687, "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 656, - "src": "234:15:10", + "scope": 699, + "src": "234:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -977,10 +977,10 @@ "typeString": "uint8" }, "typeName": { - "id": 643, + "id": 686, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "234:5:10", + "src": "234:5:12", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -990,33 +990,33 @@ "visibility": "internal" } ], - "src": "203:47:10" + "src": "203:47:12" }, "payable": false, "returnParameters": { - "id": 646, + "id": 689, "nodeType": "ParameterList", "parameters": [], - "src": "258:0:10" + "src": "258:0:12" }, - "scope": 657, - "src": "177:143:10", + "scope": 700, + "src": "177:143:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 658, - "src": "114:208:10" + "scope": 701, + "src": "114:208:12" } ], - "src": "0:323:10" + "src": "0:323:12" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.617Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.204Z" } \ No newline at end of file diff --git a/build/contracts/DetailedMintableToken.json b/build/contracts/DetailedMintableToken.json index 8e9698688..79df71257 100644 --- a/build/contracts/DetailedMintableToken.json +++ b/build/contracts/DetailedMintableToken.json @@ -484,24 +484,24 @@ "type": "function" } ], - "bytecode": "0x60806040526000600860006101000a81548160ff02191690831515021790555034801561002b57600080fd5b506127d68061003b6000396000f300608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b1461011757806306fdde0314610146578063095ea7b3146101d65780631624f6c61461023b57806318160ddd146102f757806323b872dd14610322578063313ce567146103a757806340c10f19146103d8578063661884631461043d57806370a08231146104a25780637d64bcb4146104f95780638da5cb5b1461052857806395d89b411461057f578063a9059cbb1461060f578063c0bac1a814610674578063c4d66de81461073b578063d73dd6231461077e578063dd62ed3e146107e3578063f2fde38b1461085a578063f6d2ee861461089d575b600080fd5b34801561012357600080fd5b5061012c610979565b604051808215151515815260200191505060405180910390f35b34801561015257600080fd5b5061015b61098c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019b578082015181840152602081019050610180565b50505050905090810190601f1680156101c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e257600080fd5b50610221600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a2a565b604051808215151515815260200191505060405180910390f35b34801561024757600080fd5b506102f5600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050610b1c565b005b34801561030357600080fd5b5061030c610de4565b6040518082815260200191505060405180910390f35b34801561032e57600080fd5b5061038d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dee565b604051808215151515815260200191505060405180910390f35b3480156103b357600080fd5b506103bc6111ad565b604051808260ff1660ff16815260200191505060405180910390f35b3480156103e457600080fd5b50610423600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111c0565b604051808215151515815260200191505060405180910390f35b34801561044957600080fd5b50610488600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113a8565b604051808215151515815260200191505060405180910390f35b3480156104ae57600080fd5b506104e3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611639565b6040518082815260200191505060405180910390f35b34801561050557600080fd5b5061050e611682565b604051808215151515815260200191505060405180910390f35b34801561053457600080fd5b5061053d61174a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561058b57600080fd5b50610594611770565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105d45780820151818401526020810190506105b9565b50505050905090810190601f1680156106015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561061b57600080fd5b5061065a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061180e565b604051808215151515815260200191505060405180910390f35b34801561068057600080fd5b50610721600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611a32565b604051808215151515815260200191505060405180910390f35b34801561074757600080fd5b5061077c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b1d565b005b34801561078a57600080fd5b506107c9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611da3565b604051808215151515815260200191505060405180910390f35b3480156107ef57600080fd5b50610844600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f9f565b6040518082815260200191505060405180910390f35b34801561086657600080fd5b5061089b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612026565b005b3480156108a957600080fd5b50610977600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff16906020019092919050505061217e565b005b600860009054906101000a900460ff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a225780601f106109f757610100808354040283529160200191610a22565b820191906000526020600020905b815481529060010190602001808311610a0557829003601f168201915b505050505081565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600d81526020017f44657461696c65644552433230000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610b928282611a32565b151515610b9e57600080fd5b8460029080519060200190610bb4929190612705565b508360039080519060200190610bcb929190612705565b5082600460006101000a81548160ff021916908360ff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610c4e578082015181840152602081019050610c33565b50505050905090810190601f168015610c7b5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610cb4578082015181840152602081019050610c99565b50505050905090810190601f168015610ce15780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610d2a5780518252602082019150602081019050602083039250610d05565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610d935780518252602082019150602081019050602083039250610d6e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b6000600654905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610e2b57600080fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610e7957600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610f0457600080fd5b610f5682600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610feb82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bd82600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900460ff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561121e57600080fd5b600860009054906101000a900460ff1615151561123a57600080fd5b61124f8260065461242b90919063ffffffff16565b6006819055506112a782600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156114b9576000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061154d565b6114cc838261241290919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116e057600080fd5b600860009054906101000a900460ff161515156116fc57600080fd5b6001600860006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118065780601f106117db57610100808354040283529160200191611806565b820191906000526020600020905b8154815290600101906020018083116117e957829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561184b57600080fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561189957600080fd5b6118eb82600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061198082600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b602083101515611a6b5780518252602082019150602081019050602083039250611a46565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ad45780518252602082019150602081019050602083039250611aaf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f4d696e7461626c65546f6b656e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611b938282611a32565b151515611b9f57600080fd5b611ba883612447565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611c0f578082015181840152602081019050611bf4565b50505050905090810190601f168015611c3c5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611c75578082015181840152602081019050611c5a565b50505050905090810190601f168015611ca25780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611ceb5780518252602082019150602081019050602083039250611cc6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611d545780518252602082019150602081019050602083039250611d2f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000611e3482600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561208257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156120be57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040805190810160405280601581526020017f44657461696c65644d696e7461626c65546f6b656e00000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506121f48282611a32565b15151561220057600080fd5b61220b858585610b1c565b61221486611b1d565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561227b578082015181840152602081019050612260565b50505050905090810190601f1680156122a85780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156122e15780820151818401526020810190506122c6565b50505050905090810190601f16801561230e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156123575780518252602082019150602081019050602083039250612332565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156123c0578051825260208201915060208101905060208303925061239b565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050505050565b600082821115151561242057fe5b818303905092915050565b6000818301905082811015151561243e57fe5b80905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506124bd8282611a32565b1515156124c957600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015612571578082015181840152602081019050612556565b50505050905090810190601f16801561259e5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156125d75780820151818401526020810190506125bc565b50505050905090810190601f1680156126045780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561264d5780518252602082019150602081019050602083039250612628565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156126b65780518252602082019150602081019050602083039250612691565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061274657805160ff1916838001178555612774565b82800160010185558215612774579182015b82811115612773578251825591602001919060010190612758565b5b5090506127819190612785565b5090565b6127a791905b808211156127a357600081600090555060010161278b565b5090565b905600a165627a7a72305820261055d1fa1ec4ecd56a4a5e0dee14a3db4098da6239e87fd048ff96ce0cdc600029", - "deployedBytecode": "0x608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b1461011757806306fdde0314610146578063095ea7b3146101d65780631624f6c61461023b57806318160ddd146102f757806323b872dd14610322578063313ce567146103a757806340c10f19146103d8578063661884631461043d57806370a08231146104a25780637d64bcb4146104f95780638da5cb5b1461052857806395d89b411461057f578063a9059cbb1461060f578063c0bac1a814610674578063c4d66de81461073b578063d73dd6231461077e578063dd62ed3e146107e3578063f2fde38b1461085a578063f6d2ee861461089d575b600080fd5b34801561012357600080fd5b5061012c610979565b604051808215151515815260200191505060405180910390f35b34801561015257600080fd5b5061015b61098c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019b578082015181840152602081019050610180565b50505050905090810190601f1680156101c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e257600080fd5b50610221600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a2a565b604051808215151515815260200191505060405180910390f35b34801561024757600080fd5b506102f5600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050610b1c565b005b34801561030357600080fd5b5061030c610de4565b6040518082815260200191505060405180910390f35b34801561032e57600080fd5b5061038d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dee565b604051808215151515815260200191505060405180910390f35b3480156103b357600080fd5b506103bc6111ad565b604051808260ff1660ff16815260200191505060405180910390f35b3480156103e457600080fd5b50610423600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111c0565b604051808215151515815260200191505060405180910390f35b34801561044957600080fd5b50610488600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113a8565b604051808215151515815260200191505060405180910390f35b3480156104ae57600080fd5b506104e3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611639565b6040518082815260200191505060405180910390f35b34801561050557600080fd5b5061050e611682565b604051808215151515815260200191505060405180910390f35b34801561053457600080fd5b5061053d61174a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561058b57600080fd5b50610594611770565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105d45780820151818401526020810190506105b9565b50505050905090810190601f1680156106015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561061b57600080fd5b5061065a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061180e565b604051808215151515815260200191505060405180910390f35b34801561068057600080fd5b50610721600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611a32565b604051808215151515815260200191505060405180910390f35b34801561074757600080fd5b5061077c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b1d565b005b34801561078a57600080fd5b506107c9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611da3565b604051808215151515815260200191505060405180910390f35b3480156107ef57600080fd5b50610844600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f9f565b6040518082815260200191505060405180910390f35b34801561086657600080fd5b5061089b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612026565b005b3480156108a957600080fd5b50610977600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff16906020019092919050505061217e565b005b600860009054906101000a900460ff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a225780601f106109f757610100808354040283529160200191610a22565b820191906000526020600020905b815481529060010190602001808311610a0557829003601f168201915b505050505081565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600d81526020017f44657461696c65644552433230000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610b928282611a32565b151515610b9e57600080fd5b8460029080519060200190610bb4929190612705565b508360039080519060200190610bcb929190612705565b5082600460006101000a81548160ff021916908360ff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610c4e578082015181840152602081019050610c33565b50505050905090810190601f168015610c7b5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610cb4578082015181840152602081019050610c99565b50505050905090810190601f168015610ce15780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610d2a5780518252602082019150602081019050602083039250610d05565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610d935780518252602082019150602081019050602083039250610d6e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b6000600654905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610e2b57600080fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610e7957600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610f0457600080fd5b610f5682600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610feb82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bd82600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900460ff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561121e57600080fd5b600860009054906101000a900460ff1615151561123a57600080fd5b61124f8260065461242b90919063ffffffff16565b6006819055506112a782600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156114b9576000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061154d565b6114cc838261241290919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116e057600080fd5b600860009054906101000a900460ff161515156116fc57600080fd5b6001600860006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118065780601f106117db57610100808354040283529160200191611806565b820191906000526020600020905b8154815290600101906020018083116117e957829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561184b57600080fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561189957600080fd5b6118eb82600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061198082600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b602083101515611a6b5780518252602082019150602081019050602083039250611a46565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ad45780518252602082019150602081019050602083039250611aaf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f4d696e7461626c65546f6b656e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611b938282611a32565b151515611b9f57600080fd5b611ba883612447565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611c0f578082015181840152602081019050611bf4565b50505050905090810190601f168015611c3c5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611c75578082015181840152602081019050611c5a565b50505050905090810190601f168015611ca25780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611ceb5780518252602082019150602081019050602083039250611cc6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611d545780518252602082019150602081019050602083039250611d2f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000611e3482600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561208257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156120be57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040805190810160405280601581526020017f44657461696c65644d696e7461626c65546f6b656e00000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506121f48282611a32565b15151561220057600080fd5b61220b858585610b1c565b61221486611b1d565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561227b578082015181840152602081019050612260565b50505050905090810190601f1680156122a85780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156122e15780820151818401526020810190506122c6565b50505050905090810190601f16801561230e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156123575780518252602082019150602081019050602083039250612332565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156123c0578051825260208201915060208101905060208303925061239b565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050505050565b600082821115151561242057fe5b818303905092915050565b6000818301905082811015151561243e57fe5b80905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506124bd8282611a32565b1515156124c957600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015612571578082015181840152602081019050612556565b50505050905090810190601f16801561259e5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156125d75780820151818401526020810190506125bc565b50505050905090810190601f1680156126045780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561264d5780518252602082019150602081019050602083039250612628565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156126b65780518252602082019150602081019050602083039250612691565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061274657805160ff1916838001178555612774565b82800160010185558215612774579182015b82811115612773578251825591602001919060010190612758565b5b5090506127819190612785565b5090565b6127a791905b808211156127a357600081600090555060010161278b565b5090565b905600a165627a7a72305820261055d1fa1ec4ecd56a4a5e0dee14a3db4098da6239e87fd048ff96ce0cdc600029", - "sourceMap": "142:351:34:-;;;614:5:38;584:35;;;;;;;;;;;;;;;;;;;;142:351:34;8:9:-1;5:2;;;30:1;27;20:12;5:2;142:351:34;;;;;;;", - "deployedSourceMap": "142:351:34:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;584:35:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;584:35:38;;;;;;;;;;;;;;;;;;;;;;;;;;;152:18:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;152:18:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;152:18:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;224:185:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;224:185:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:31;;;;;;;;;;;;;;;;;;;;;;;736:444:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;198:21:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;198:21:33;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:274:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1050:274:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3617:403:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1438:140:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1438:140:38;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:25;;;;;;;;;;;;;;;;;;;;;;;;;;;174::33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;174:20:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;174:20:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;691:123:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;691:123:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;221:270:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;221:270:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;584:35:38;;;;;;;;;;;;;:::o;152:18:33:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1803:188:42:-;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;224:185:33:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;351:5:33;344:4;:12;;;;;;;;;;;;:::i;:::-;;371:7;362:6;:16;;;;;;;;;;;;:::i;:::-;;395:9;384:8;;:20;;;;;;;;;;;;;;;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;224:185:33;;;;;:::o;371:83:31:-;415:7;437:12;;430:19;;371:83;:::o;736:444:42:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;198:21:33:-;;;;;;;;;;;;;:::o;1050:274:38:-;1128:4;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;659:15:38;;;;;;;;;;;658:16;650:25;;;;;;;;1155;1172:7;1155:12;;:16;;:25;;;;:::i;:::-;1140:12;:40;;;;1202:26;1220:7;1202:8;:13;1211:3;1202:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;1186:8;:13;1195:3;1186:13;;;;;;;;;;;;;;;:42;;;;1244:3;1239:18;;;1249:7;1239:18;;;;;;;;;;;;;;;;;;1289:3;1268:34;;1285:1;1268:34;;;1294:7;1268:34;;;;;;;;;;;;;;;;;;1315:4;1308:11;;1050:274;;;;:::o;3617:403:42:-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:31:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;1438:140:38:-;1497:4;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;659:15:38;;;;;;;;;;;658:16;650:25;;;;;;;;1527:4;1509:15;;:22;;;;;;;;;;;;;;;;;;1542:14;;;;;;;;;;1569:4;1562:11;;1438:140;:::o;307:20:25:-;;;;;;;;;;;;;:::o;174::33:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;608:321:31:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;691:123:38:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;782:27:38;801:7;782:18;:27::i;:::-;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;691:123:38;;;:::o;2893:262:42:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;949:174:25:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;221:270:34:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;396:51:34;421:5;428:7;437:9;396:24;:51::i;:::-;453:33;478:7;453:24;:33::i;:::-;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;221:270:34;;;;;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;537:104:25:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:25;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:25;;;:::o;142:351:34:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "bytecode": "0x60806040526000600860006101000a81548160ff02191690831515021790555034801561002b57600080fd5b506127d68061003b6000396000f300608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b1461011757806306fdde0314610146578063095ea7b3146101d65780631624f6c61461023b57806318160ddd146102f757806323b872dd14610322578063313ce567146103a757806340c10f19146103d8578063661884631461043d57806370a08231146104a25780637d64bcb4146104f95780638da5cb5b1461052857806395d89b411461057f578063a9059cbb1461060f578063c0bac1a814610674578063c4d66de81461073b578063d73dd6231461077e578063dd62ed3e146107e3578063f2fde38b1461085a578063f6d2ee861461089d575b600080fd5b34801561012357600080fd5b5061012c610979565b604051808215151515815260200191505060405180910390f35b34801561015257600080fd5b5061015b61098c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019b578082015181840152602081019050610180565b50505050905090810190601f1680156101c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e257600080fd5b50610221600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a2a565b604051808215151515815260200191505060405180910390f35b34801561024757600080fd5b506102f5600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050610b1c565b005b34801561030357600080fd5b5061030c610de4565b6040518082815260200191505060405180910390f35b34801561032e57600080fd5b5061038d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dee565b604051808215151515815260200191505060405180910390f35b3480156103b357600080fd5b506103bc6111ad565b604051808260ff1660ff16815260200191505060405180910390f35b3480156103e457600080fd5b50610423600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111c0565b604051808215151515815260200191505060405180910390f35b34801561044957600080fd5b50610488600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113a8565b604051808215151515815260200191505060405180910390f35b3480156104ae57600080fd5b506104e3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611639565b6040518082815260200191505060405180910390f35b34801561050557600080fd5b5061050e611682565b604051808215151515815260200191505060405180910390f35b34801561053457600080fd5b5061053d61174a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561058b57600080fd5b50610594611770565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105d45780820151818401526020810190506105b9565b50505050905090810190601f1680156106015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561061b57600080fd5b5061065a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061180e565b604051808215151515815260200191505060405180910390f35b34801561068057600080fd5b50610721600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611a32565b604051808215151515815260200191505060405180910390f35b34801561074757600080fd5b5061077c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b1d565b005b34801561078a57600080fd5b506107c9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611da3565b604051808215151515815260200191505060405180910390f35b3480156107ef57600080fd5b50610844600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f9f565b6040518082815260200191505060405180910390f35b34801561086657600080fd5b5061089b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612026565b005b3480156108a957600080fd5b50610977600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff16906020019092919050505061217e565b005b600860009054906101000a900460ff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a225780601f106109f757610100808354040283529160200191610a22565b820191906000526020600020905b815481529060010190602001808311610a0557829003601f168201915b505050505081565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600d81526020017f44657461696c65644552433230000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610b928282611a32565b151515610b9e57600080fd5b8460029080519060200190610bb4929190612705565b508360039080519060200190610bcb929190612705565b5082600460006101000a81548160ff021916908360ff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610c4e578082015181840152602081019050610c33565b50505050905090810190601f168015610c7b5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610cb4578082015181840152602081019050610c99565b50505050905090810190601f168015610ce15780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610d2a5780518252602082019150602081019050602083039250610d05565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610d935780518252602082019150602081019050602083039250610d6e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b6000600654905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610e2b57600080fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610e7957600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610f0457600080fd5b610f5682600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610feb82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bd82600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900460ff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561121e57600080fd5b600860009054906101000a900460ff1615151561123a57600080fd5b61124f8260065461242b90919063ffffffff16565b6006819055506112a782600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156114b9576000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061154d565b6114cc838261241290919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116e057600080fd5b600860009054906101000a900460ff161515156116fc57600080fd5b6001600860006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118065780601f106117db57610100808354040283529160200191611806565b820191906000526020600020905b8154815290600101906020018083116117e957829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561184b57600080fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561189957600080fd5b6118eb82600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061198082600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b602083101515611a6b5780518252602082019150602081019050602083039250611a46565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ad45780518252602082019150602081019050602083039250611aaf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f4d696e7461626c65546f6b656e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611b938282611a32565b151515611b9f57600080fd5b611ba883612447565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611c0f578082015181840152602081019050611bf4565b50505050905090810190601f168015611c3c5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611c75578082015181840152602081019050611c5a565b50505050905090810190601f168015611ca25780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611ceb5780518252602082019150602081019050602083039250611cc6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611d545780518252602082019150602081019050602083039250611d2f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000611e3482600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561208257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156120be57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040805190810160405280601581526020017f44657461696c65644d696e7461626c65546f6b656e00000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506121f48282611a32565b15151561220057600080fd5b61220b858585610b1c565b61221486611b1d565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561227b578082015181840152602081019050612260565b50505050905090810190601f1680156122a85780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156122e15780820151818401526020810190506122c6565b50505050905090810190601f16801561230e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156123575780518252602082019150602081019050602083039250612332565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156123c0578051825260208201915060208101905060208303925061239b565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050505050565b600082821115151561242057fe5b818303905092915050565b6000818301905082811015151561243e57fe5b80905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506124bd8282611a32565b1515156124c957600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015612571578082015181840152602081019050612556565b50505050905090810190601f16801561259e5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156125d75780820151818401526020810190506125bc565b50505050905090810190601f1680156126045780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561264d5780518252602082019150602081019050602083039250612628565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156126b65780518252602082019150602081019050602083039250612691565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061274657805160ff1916838001178555612774565b82800160010185558215612774579182015b82811115612773578251825591602001919060010190612758565b5b5090506127819190612785565b5090565b6127a791905b808211156127a357600081600090555060010161278b565b5090565b905600a165627a7a72305820b3bd993db16eed3f94ae43a654a7c095211f396e30ddc86abfa2e9e198c77c600029", + "deployedBytecode": "0x608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b1461011757806306fdde0314610146578063095ea7b3146101d65780631624f6c61461023b57806318160ddd146102f757806323b872dd14610322578063313ce567146103a757806340c10f19146103d8578063661884631461043d57806370a08231146104a25780637d64bcb4146104f95780638da5cb5b1461052857806395d89b411461057f578063a9059cbb1461060f578063c0bac1a814610674578063c4d66de81461073b578063d73dd6231461077e578063dd62ed3e146107e3578063f2fde38b1461085a578063f6d2ee861461089d575b600080fd5b34801561012357600080fd5b5061012c610979565b604051808215151515815260200191505060405180910390f35b34801561015257600080fd5b5061015b61098c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019b578082015181840152602081019050610180565b50505050905090810190601f1680156101c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e257600080fd5b50610221600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a2a565b604051808215151515815260200191505060405180910390f35b34801561024757600080fd5b506102f5600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050610b1c565b005b34801561030357600080fd5b5061030c610de4565b6040518082815260200191505060405180910390f35b34801561032e57600080fd5b5061038d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dee565b604051808215151515815260200191505060405180910390f35b3480156103b357600080fd5b506103bc6111ad565b604051808260ff1660ff16815260200191505060405180910390f35b3480156103e457600080fd5b50610423600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111c0565b604051808215151515815260200191505060405180910390f35b34801561044957600080fd5b50610488600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113a8565b604051808215151515815260200191505060405180910390f35b3480156104ae57600080fd5b506104e3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611639565b6040518082815260200191505060405180910390f35b34801561050557600080fd5b5061050e611682565b604051808215151515815260200191505060405180910390f35b34801561053457600080fd5b5061053d61174a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561058b57600080fd5b50610594611770565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105d45780820151818401526020810190506105b9565b50505050905090810190601f1680156106015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561061b57600080fd5b5061065a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061180e565b604051808215151515815260200191505060405180910390f35b34801561068057600080fd5b50610721600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611a32565b604051808215151515815260200191505060405180910390f35b34801561074757600080fd5b5061077c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b1d565b005b34801561078a57600080fd5b506107c9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611da3565b604051808215151515815260200191505060405180910390f35b3480156107ef57600080fd5b50610844600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f9f565b6040518082815260200191505060405180910390f35b34801561086657600080fd5b5061089b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612026565b005b3480156108a957600080fd5b50610977600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff16906020019092919050505061217e565b005b600860009054906101000a900460ff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a225780601f106109f757610100808354040283529160200191610a22565b820191906000526020600020905b815481529060010190602001808311610a0557829003601f168201915b505050505081565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600d81526020017f44657461696c65644552433230000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610b928282611a32565b151515610b9e57600080fd5b8460029080519060200190610bb4929190612705565b508360039080519060200190610bcb929190612705565b5082600460006101000a81548160ff021916908360ff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610c4e578082015181840152602081019050610c33565b50505050905090810190601f168015610c7b5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610cb4578082015181840152602081019050610c99565b50505050905090810190601f168015610ce15780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610d2a5780518252602082019150602081019050602083039250610d05565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610d935780518252602082019150602081019050602083039250610d6e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b6000600654905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610e2b57600080fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610e7957600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610f0457600080fd5b610f5682600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610feb82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bd82600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900460ff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561121e57600080fd5b600860009054906101000a900460ff1615151561123a57600080fd5b61124f8260065461242b90919063ffffffff16565b6006819055506112a782600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156114b9576000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061154d565b6114cc838261241290919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116e057600080fd5b600860009054906101000a900460ff161515156116fc57600080fd5b6001600860006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118065780601f106117db57610100808354040283529160200191611806565b820191906000526020600020905b8154815290600101906020018083116117e957829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561184b57600080fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561189957600080fd5b6118eb82600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061198082600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b602083101515611a6b5780518252602082019150602081019050602083039250611a46565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ad45780518252602082019150602081019050602083039250611aaf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f4d696e7461626c65546f6b656e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611b938282611a32565b151515611b9f57600080fd5b611ba883612447565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611c0f578082015181840152602081019050611bf4565b50505050905090810190601f168015611c3c5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611c75578082015181840152602081019050611c5a565b50505050905090810190601f168015611ca25780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611ceb5780518252602082019150602081019050602083039250611cc6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611d545780518252602082019150602081019050602083039250611d2f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000611e3482600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242b90919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561208257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156120be57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040805190810160405280601581526020017f44657461696c65644d696e7461626c65546f6b656e00000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506121f48282611a32565b15151561220057600080fd5b61220b858585610b1c565b61221486611b1d565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561227b578082015181840152602081019050612260565b50505050905090810190601f1680156122a85780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156122e15780820151818401526020810190506122c6565b50505050905090810190601f16801561230e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156123575780518252602082019150602081019050602083039250612332565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156123c0578051825260208201915060208101905060208303925061239b565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050505050565b600082821115151561242057fe5b818303905092915050565b6000818301905082811015151561243e57fe5b80905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506124bd8282611a32565b1515156124c957600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015612571578082015181840152602081019050612556565b50505050905090810190601f16801561259e5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156125d75780820151818401526020810190506125bc565b50505050905090810190601f1680156126045780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561264d5780518252602082019150602081019050602083039250612628565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156126b65780518252602082019150602081019050602083039250612691565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061274657805160ff1916838001178555612774565b82800160010185558215612774579182015b82811115612773578251825591602001919060010190612758565b5b5090506127819190612785565b5090565b6127a791905b808211156127a357600081600090555060010161278b565b5090565b905600a165627a7a72305820b3bd993db16eed3f94ae43a654a7c095211f396e30ddc86abfa2e9e198c77c600029", + "sourceMap": "142:351:36:-;;;614:5:40;584:35;;;;;;;;;;;;;;;;;;;;142:351:36;8:9:-1;5:2;;;30:1;27;20:12;5:2;142:351:36;;;;;;;", + "deployedSourceMap": "142:351:36:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;584:35:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;584:35:40;;;;;;;;;;;;;;;;;;;;;;;;;;;152:18:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;152:18:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;152:18:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;224:185:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;224:185:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:33;;;;;;;;;;;;;;;;;;;;;;;736:444:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;198:21:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;198:21:35;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:274:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1050:274:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3617:403:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1438:140:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1438:140:40;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:27;;;;;;;;;;;;;;;;;;;;;;;;;;;174::35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;174:20:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;174:20:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;691:123:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;691:123:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;221:270:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;221:270:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;584:35:40;;;;;;;;;;;;;:::o;152:18:35:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1803:188:44:-;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;224:185:35:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;351:5:35;344:4;:12;;;;;;;;;;;;:::i;:::-;;371:7;362:6;:16;;;;;;;;;;;;:::i;:::-;;395:9;384:8;;:20;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;224:185:35;;;;;:::o;371:83:33:-;415:7;437:12;;430:19;;371:83;:::o;736:444:44:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;198:21:35:-;;;;;;;;;;;;;:::o;1050:274:40:-;1128:4;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;659:15:40;;;;;;;;;;;658:16;650:25;;;;;;;;1155;1172:7;1155:12;;:16;;:25;;;;:::i;:::-;1140:12;:40;;;;1202:26;1220:7;1202:8;:13;1211:3;1202:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;1186:8;:13;1195:3;1186:13;;;;;;;;;;;;;;;:42;;;;1244:3;1239:18;;;1249:7;1239:18;;;;;;;;;;;;;;;;;;1289:3;1268:34;;1285:1;1268:34;;;1294:7;1268:34;;;;;;;;;;;;;;;;;;1315:4;1308:11;;1050:274;;;;:::o;3617:403:44:-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:33:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;1438:140:40:-;1497:4;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;659:15:40;;;;;;;;;;;658:16;650:25;;;;;;;;1527:4;1509:15;;:22;;;;;;;;;;;;;;;;;;1542:14;;;;;;;;;;1569:4;1562:11;;1438:140;:::o;307:20:27:-;;;;;;;;;;;;;:::o;174::35:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;608:321:33:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;691:123:40:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;782:27:40;801:7;782:18;:27::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;691:123:40;;;:::o;2893:262:44:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;949:174:27:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;221:270:36:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;396:51:36;421:5;428:7;437:9;396:24;:51::i;:::-;453:33;478:7;453:24;:33::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;221:270:36;;;;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;537:104:27:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:27;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:27;;;:::o;142:351:36:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"zos-lib/contracts/migrations/Migratable.sol\";\nimport \"./DetailedERC20.sol\";\nimport \"./MintableToken.sol\";\n\n\ncontract DetailedMintableToken is Migratable, DetailedERC20, MintableToken {\n function initialize(\n address _sender,\n string _name,\n string _symbol,\n uint8 _decimals\n )\n isInitializer(\"DetailedMintableToken\", \"1.9.0\")\n public\n {\n DetailedERC20.initialize(_name, _symbol, _decimals);\n MintableToken.initialize(_sender);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/DetailedMintableToken.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/DetailedMintableToken.sol", "exportedSymbols": { "DetailedMintableToken": [ - 2369 + 2417 ] }, - "id": 2370, + "id": 2418, "nodeType": "SourceUnit", "nodes": [ { - "id": 2329, + "id": 2377, "literals": [ "solidity", "^", @@ -509,38 +509,38 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:34" + "src": "0:24:36" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 2330, + "id": 2378, "nodeType": "ImportDirective", - "scope": 2370, - "sourceUnit": 4770, - "src": "26:53:34", + "scope": 2418, + "sourceUnit": 4865, + "src": "26:53:36", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/DetailedERC20.sol", "file": "./DetailedERC20.sol", - "id": 2331, + "id": 2379, "nodeType": "ImportDirective", - "scope": 2370, - "sourceUnit": 2328, - "src": "80:29:34", + "scope": 2418, + "sourceUnit": 2376, + "src": "80:29:36", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/MintableToken.sol", "file": "./MintableToken.sol", - "id": 2332, + "id": 2380, "nodeType": "ImportDirective", - "scope": 2370, - "sourceUnit": 2626, - "src": "110:29:34", + "scope": 2418, + "sourceUnit": 2674, + "src": "110:29:36", "symbolAliases": [], "unitAlias": "" }, @@ -550,90 +550,90 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2333, + "id": 2381, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "176:10:34", + "referencedDeclaration": 4864, + "src": "176:10:36", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 2334, + "id": 2382, "nodeType": "InheritanceSpecifier", - "src": "176:10:34" + "src": "176:10:36" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2335, + "id": 2383, "name": "DetailedERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2327, - "src": "188:13:34", + "referencedDeclaration": 2375, + "src": "188:13:36", "typeDescriptions": { - "typeIdentifier": "t_contract$_DetailedERC20_$2327", + "typeIdentifier": "t_contract$_DetailedERC20_$2375", "typeString": "contract DetailedERC20" } }, - "id": 2336, + "id": 2384, "nodeType": "InheritanceSpecifier", - "src": "188:13:34" + "src": "188:13:36" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2337, + "id": 2385, "name": "MintableToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2625, - "src": "203:13:34", + "referencedDeclaration": 2673, + "src": "203:13:36", "typeDescriptions": { - "typeIdentifier": "t_contract$_MintableToken_$2625", + "typeIdentifier": "t_contract$_MintableToken_$2673", "typeString": "contract MintableToken" } }, - "id": 2338, + "id": 2386, "nodeType": "InheritanceSpecifier", - "src": "203:13:34" + "src": "203:13:36" } ], "contractDependencies": [ - 1580, - 2215, - 2327, - 2479, - 2511, - 2625, - 3103, - 4769 + 1628, + 2263, + 2375, + 2527, + 2559, + 2673, + 3151, + 4864 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 2369, + "id": 2417, "linearizedBaseContracts": [ - 2369, - 2625, - 3103, - 2215, - 2327, - 2479, - 2511, - 1580, - 4769 + 2417, + 2673, + 3151, + 2263, + 2375, + 2527, + 2559, + 1628, + 4864 ], "name": "DetailedMintableToken", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 2367, + "id": 2415, "nodeType": "Block", - "src": "390:101:34", + "src": "390:101:36", "statements": [ { "expression": { @@ -641,12 +641,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2356, + "id": 2404, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2342, - "src": "421:5:34", + "referencedDeclaration": 2390, + "src": "421:5:36", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -654,12 +654,12 @@ }, { "argumentTypes": null, - "id": 2357, + "id": 2405, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2344, - "src": "428:7:34", + "referencedDeclaration": 2392, + "src": "428:7:36", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -667,12 +667,12 @@ }, { "argumentTypes": null, - "id": 2358, + "id": 2406, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2346, - "src": "437:9:34", + "referencedDeclaration": 2394, + "src": "437:9:36", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -696,32 +696,32 @@ ], "expression": { "argumentTypes": null, - "id": 2353, + "id": 2401, "name": "DetailedERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2327, - "src": "396:13:34", + "referencedDeclaration": 2375, + "src": "396:13:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DetailedERC20_$2327_$", + "typeIdentifier": "t_type$_t_contract$_DetailedERC20_$2375_$", "typeString": "type(contract DetailedERC20)" } }, - "id": 2355, + "id": 2403, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 2326, - "src": "396:24:34", + "referencedDeclaration": 2374, + "src": "396:24:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$__$", "typeString": "function (string memory,string memory,uint8)" } }, - "id": 2359, + "id": 2407, "isConstant": false, "isLValue": false, "isPure": false, @@ -729,15 +729,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "396:51:34", + "src": "396:51:36", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2360, + "id": 2408, "nodeType": "ExpressionStatement", - "src": "396:51:34" + "src": "396:51:36" }, { "expression": { @@ -745,12 +745,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2364, + "id": 2412, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2340, - "src": "478:7:34", + "referencedDeclaration": 2388, + "src": "478:7:36", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -766,32 +766,32 @@ ], "expression": { "argumentTypes": null, - "id": 2361, + "id": 2409, "name": "MintableToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2625, - "src": "453:13:34", + "referencedDeclaration": 2673, + "src": "453:13:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MintableToken_$2625_$", + "typeIdentifier": "t_type$_t_contract$_MintableToken_$2673_$", "typeString": "type(contract MintableToken)" } }, - "id": 2363, + "id": 2411, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 2558, - "src": "453:24:34", + "referencedDeclaration": 2606, + "src": "453:24:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 2365, + "id": 2413, "isConstant": false, "isLValue": false, "isPure": false, @@ -799,20 +799,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "453:33:34", + "src": "453:33:36", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2366, + "id": 2414, "nodeType": "ExpressionStatement", - "src": "453:33:34" + "src": "453:33:36" } ] }, "documentation": null, - "id": 2368, + "id": 2416, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -822,14 +822,14 @@ { "argumentTypes": null, "hexValue": "44657461696c65644d696e7461626c65546f6b656e", - "id": 2349, + "id": 2397, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "343:23:34", + "src": "343:23:36", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_470cbfcdb746ee1aab13217990165214f9cfbce3d16f5b53916e0000f2f9c1f3", @@ -840,14 +840,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 2350, + "id": 2398, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "368:7:34", + "src": "368:7:36", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -856,37 +856,37 @@ "value": "1.9.0" } ], - "id": 2351, + "id": 2399, "modifierName": { "argumentTypes": null, - "id": 2348, + "id": 2396, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "329:13:34", + "referencedDeclaration": 4811, + "src": "329:13:36", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "329:47:34" + "src": "329:47:36" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 2347, + "id": 2395, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2340, + "id": 2388, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 2368, - "src": "246:15:34", + "scope": 2416, + "src": "246:15:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -894,10 +894,10 @@ "typeString": "address" }, "typeName": { - "id": 2339, + "id": 2387, "name": "address", "nodeType": "ElementaryTypeName", - "src": "246:7:34", + "src": "246:7:36", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -908,11 +908,11 @@ }, { "constant": false, - "id": 2342, + "id": 2390, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 2368, - "src": "267:12:34", + "scope": 2416, + "src": "267:12:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -920,10 +920,10 @@ "typeString": "string" }, "typeName": { - "id": 2341, + "id": 2389, "name": "string", "nodeType": "ElementaryTypeName", - "src": "267:6:34", + "src": "267:6:36", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -934,11 +934,11 @@ }, { "constant": false, - "id": 2344, + "id": 2392, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 2368, - "src": "285:14:34", + "scope": 2416, + "src": "285:14:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -946,10 +946,10 @@ "typeString": "string" }, "typeName": { - "id": 2343, + "id": 2391, "name": "string", "nodeType": "ElementaryTypeName", - "src": "285:6:34", + "src": "285:6:36", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -960,11 +960,11 @@ }, { "constant": false, - "id": 2346, + "id": 2394, "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 2368, - "src": "305:15:34", + "scope": 2416, + "src": "305:15:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -972,10 +972,10 @@ "typeString": "uint8" }, "typeName": { - "id": 2345, + "id": 2393, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "305:5:34", + "src": "305:5:36", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -985,40 +985,40 @@ "visibility": "internal" } ], - "src": "240:84:34" + "src": "240:84:36" }, "payable": false, "returnParameters": { - "id": 2352, + "id": 2400, "nodeType": "ParameterList", "parameters": [], - "src": "390:0:34" + "src": "390:0:36" }, - "scope": 2369, - "src": "221:270:34", + "scope": 2417, + "src": "221:270:36", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 2370, - "src": "142:351:34" + "scope": 2418, + "src": "142:351:36" } ], - "src": "0:494:34" + "src": "0:494:36" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/DetailedMintableToken.sol", "exportedSymbols": { "DetailedMintableToken": [ - 2369 + 2417 ] }, - "id": 2370, + "id": 2418, "nodeType": "SourceUnit", "nodes": [ { - "id": 2329, + "id": 2377, "literals": [ "solidity", "^", @@ -1026,38 +1026,38 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:34" + "src": "0:24:36" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 2330, + "id": 2378, "nodeType": "ImportDirective", - "scope": 2370, - "sourceUnit": 4770, - "src": "26:53:34", + "scope": 2418, + "sourceUnit": 4865, + "src": "26:53:36", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/DetailedERC20.sol", "file": "./DetailedERC20.sol", - "id": 2331, + "id": 2379, "nodeType": "ImportDirective", - "scope": 2370, - "sourceUnit": 2328, - "src": "80:29:34", + "scope": 2418, + "sourceUnit": 2376, + "src": "80:29:36", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/MintableToken.sol", "file": "./MintableToken.sol", - "id": 2332, + "id": 2380, "nodeType": "ImportDirective", - "scope": 2370, - "sourceUnit": 2626, - "src": "110:29:34", + "scope": 2418, + "sourceUnit": 2674, + "src": "110:29:36", "symbolAliases": [], "unitAlias": "" }, @@ -1067,90 +1067,90 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2333, + "id": 2381, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "176:10:34", + "referencedDeclaration": 4864, + "src": "176:10:36", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 2334, + "id": 2382, "nodeType": "InheritanceSpecifier", - "src": "176:10:34" + "src": "176:10:36" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2335, + "id": 2383, "name": "DetailedERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2327, - "src": "188:13:34", + "referencedDeclaration": 2375, + "src": "188:13:36", "typeDescriptions": { - "typeIdentifier": "t_contract$_DetailedERC20_$2327", + "typeIdentifier": "t_contract$_DetailedERC20_$2375", "typeString": "contract DetailedERC20" } }, - "id": 2336, + "id": 2384, "nodeType": "InheritanceSpecifier", - "src": "188:13:34" + "src": "188:13:36" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2337, + "id": 2385, "name": "MintableToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2625, - "src": "203:13:34", + "referencedDeclaration": 2673, + "src": "203:13:36", "typeDescriptions": { - "typeIdentifier": "t_contract$_MintableToken_$2625", + "typeIdentifier": "t_contract$_MintableToken_$2673", "typeString": "contract MintableToken" } }, - "id": 2338, + "id": 2386, "nodeType": "InheritanceSpecifier", - "src": "203:13:34" + "src": "203:13:36" } ], "contractDependencies": [ - 1580, - 2215, - 2327, - 2479, - 2511, - 2625, - 3103, - 4769 + 1628, + 2263, + 2375, + 2527, + 2559, + 2673, + 3151, + 4864 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 2369, + "id": 2417, "linearizedBaseContracts": [ - 2369, - 2625, - 3103, - 2215, - 2327, - 2479, - 2511, - 1580, - 4769 + 2417, + 2673, + 3151, + 2263, + 2375, + 2527, + 2559, + 1628, + 4864 ], "name": "DetailedMintableToken", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 2367, + "id": 2415, "nodeType": "Block", - "src": "390:101:34", + "src": "390:101:36", "statements": [ { "expression": { @@ -1158,12 +1158,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2356, + "id": 2404, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2342, - "src": "421:5:34", + "referencedDeclaration": 2390, + "src": "421:5:36", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1171,12 +1171,12 @@ }, { "argumentTypes": null, - "id": 2357, + "id": 2405, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2344, - "src": "428:7:34", + "referencedDeclaration": 2392, + "src": "428:7:36", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1184,12 +1184,12 @@ }, { "argumentTypes": null, - "id": 2358, + "id": 2406, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2346, - "src": "437:9:34", + "referencedDeclaration": 2394, + "src": "437:9:36", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1213,32 +1213,32 @@ ], "expression": { "argumentTypes": null, - "id": 2353, + "id": 2401, "name": "DetailedERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2327, - "src": "396:13:34", + "referencedDeclaration": 2375, + "src": "396:13:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DetailedERC20_$2327_$", + "typeIdentifier": "t_type$_t_contract$_DetailedERC20_$2375_$", "typeString": "type(contract DetailedERC20)" } }, - "id": 2355, + "id": 2403, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 2326, - "src": "396:24:34", + "referencedDeclaration": 2374, + "src": "396:24:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$__$", "typeString": "function (string memory,string memory,uint8)" } }, - "id": 2359, + "id": 2407, "isConstant": false, "isLValue": false, "isPure": false, @@ -1246,15 +1246,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "396:51:34", + "src": "396:51:36", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2360, + "id": 2408, "nodeType": "ExpressionStatement", - "src": "396:51:34" + "src": "396:51:36" }, { "expression": { @@ -1262,12 +1262,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2364, + "id": 2412, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2340, - "src": "478:7:34", + "referencedDeclaration": 2388, + "src": "478:7:36", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1283,32 +1283,32 @@ ], "expression": { "argumentTypes": null, - "id": 2361, + "id": 2409, "name": "MintableToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2625, - "src": "453:13:34", + "referencedDeclaration": 2673, + "src": "453:13:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MintableToken_$2625_$", + "typeIdentifier": "t_type$_t_contract$_MintableToken_$2673_$", "typeString": "type(contract MintableToken)" } }, - "id": 2363, + "id": 2411, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 2558, - "src": "453:24:34", + "referencedDeclaration": 2606, + "src": "453:24:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 2365, + "id": 2413, "isConstant": false, "isLValue": false, "isPure": false, @@ -1316,20 +1316,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "453:33:34", + "src": "453:33:36", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2366, + "id": 2414, "nodeType": "ExpressionStatement", - "src": "453:33:34" + "src": "453:33:36" } ] }, "documentation": null, - "id": 2368, + "id": 2416, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1339,14 +1339,14 @@ { "argumentTypes": null, "hexValue": "44657461696c65644d696e7461626c65546f6b656e", - "id": 2349, + "id": 2397, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "343:23:34", + "src": "343:23:36", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_470cbfcdb746ee1aab13217990165214f9cfbce3d16f5b53916e0000f2f9c1f3", @@ -1357,14 +1357,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 2350, + "id": 2398, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "368:7:34", + "src": "368:7:36", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -1373,37 +1373,37 @@ "value": "1.9.0" } ], - "id": 2351, + "id": 2399, "modifierName": { "argumentTypes": null, - "id": 2348, + "id": 2396, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "329:13:34", + "referencedDeclaration": 4811, + "src": "329:13:36", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "329:47:34" + "src": "329:47:36" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 2347, + "id": 2395, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2340, + "id": 2388, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 2368, - "src": "246:15:34", + "scope": 2416, + "src": "246:15:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1411,10 +1411,10 @@ "typeString": "address" }, "typeName": { - "id": 2339, + "id": 2387, "name": "address", "nodeType": "ElementaryTypeName", - "src": "246:7:34", + "src": "246:7:36", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1425,11 +1425,11 @@ }, { "constant": false, - "id": 2342, + "id": 2390, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 2368, - "src": "267:12:34", + "scope": 2416, + "src": "267:12:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1437,10 +1437,10 @@ "typeString": "string" }, "typeName": { - "id": 2341, + "id": 2389, "name": "string", "nodeType": "ElementaryTypeName", - "src": "267:6:34", + "src": "267:6:36", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1451,11 +1451,11 @@ }, { "constant": false, - "id": 2344, + "id": 2392, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 2368, - "src": "285:14:34", + "scope": 2416, + "src": "285:14:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1463,10 +1463,10 @@ "typeString": "string" }, "typeName": { - "id": 2343, + "id": 2391, "name": "string", "nodeType": "ElementaryTypeName", - "src": "285:6:34", + "src": "285:6:36", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1477,11 +1477,11 @@ }, { "constant": false, - "id": 2346, + "id": 2394, "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 2368, - "src": "305:15:34", + "scope": 2416, + "src": "305:15:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1489,10 +1489,10 @@ "typeString": "uint8" }, "typeName": { - "id": 2345, + "id": 2393, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "305:5:34", + "src": "305:5:36", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1502,33 +1502,33 @@ "visibility": "internal" } ], - "src": "240:84:34" + "src": "240:84:36" }, "payable": false, "returnParameters": { - "id": 2352, + "id": 2400, "nodeType": "ParameterList", "parameters": [], - "src": "390:0:34" + "src": "390:0:36" }, - "scope": 2369, - "src": "221:270:34", + "scope": 2417, + "src": "221:270:36", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 2370, - "src": "142:351:34" + "scope": 2418, + "src": "142:351:36" } ], - "src": "0:494:34" + "src": "0:494:36" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.638Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.213Z" } \ No newline at end of file diff --git a/build/contracts/DetailedPremintedToken.json b/build/contracts/DetailedPremintedToken.json index 7587b223f..31d00b1d6 100644 --- a/build/contracts/DetailedPremintedToken.json +++ b/build/contracts/DetailedPremintedToken.json @@ -355,24 +355,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50611d2c806100206000396000f3006080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100d5578063095ea7b3146101655780631624f6c6146101ca57806318160ddd1461028657806323b872dd146102b1578063313ce56714610336578063661884631461036757806370a08231146103cc57806395d89b4114610423578063a9059cbb146104b3578063c0bac1a814610518578063d72bdc53146105df578063d73dd623146106c5578063dd62ed3e1461072a575b600080fd5b3480156100e157600080fd5b506100ea6107a1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012a57808201518184015260208101905061010f565b50505050905090810190601f1680156101575780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017157600080fd5b506101b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083f565b604051808215151515815260200191505060405180910390f35b3480156101d657600080fd5b50610284600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050610931565b005b34801561029257600080fd5b5061029b610bf9565b6040518082815260200191505060405180910390f35b3480156102bd57600080fd5b5061031c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c03565b604051808215151515815260200191505060405180910390f35b34801561034257600080fd5b5061034b610fc2565b604051808260ff1660ff16815260200191505060405180910390f35b34801561037357600080fd5b506103b2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fd5565b604051808215151515815260200191505060405180910390f35b3480156103d857600080fd5b5061040d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611266565b6040518082815260200191505060405180910390f35b34801561042f57600080fd5b506104386112af565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561047857808201518184015260208101905061045d565b50505050905090810190601f1680156104a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104bf57600080fd5b506104fe600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061134d565b604051808215151515815260200191505060405180910390f35b34801561052457600080fd5b506105c5600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611571565b604051808215151515815260200191505060405180910390f35b3480156105eb57600080fd5b506106c3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff1690602001909291908035906020019092919050505061165c565b005b3480156106d157600080fd5b50610710600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118f2565b604051808215151515815260200191505060405180910390f35b34801561073657600080fd5b5061078b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aee565b6040518082815260200191505060405180910390f35b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108375780601f1061080c57610100808354040283529160200191610837565b820191906000526020600020905b81548152906001019060200180831161081a57829003601f168201915b505050505081565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600d81526020017f44657461696c65644552433230000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506109a78282611571565b1515156109b357600080fd5b84600190805190602001906109c9929190611c5b565b5083600290805190602001906109e0929190611c5b565b5082600360006101000a81548160ff021916908360ff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a63578082015181840152602081019050610a48565b50505050905090810190601f168015610a905780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610ac9578082015181840152602081019050610aae565b50505050905090810190601f168015610af65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610b3f5780518252602082019150602081019050602083039250610b1a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610ba85780518252602082019150602081019050602083039250610b83565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b6000600554905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610c4057600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610c8e57600080fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d1957600080fd5b610d6b82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7590919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e0082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ed282600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7590919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600360009054906101000a900460ff1681565b600080600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156110e6576000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061117a565b6110f98382611b7590919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113455780601f1061131a57610100808354040283529160200191611345565b820191906000526020600020905b81548152906001019060200180831161132857829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561138a57600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156113d857600080fd5b61142a82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7590919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114bf82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b6020831015156115aa5780518252602082019150602081019050602083039250611585565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561161357805182526020820191506020810190506020830392506115ee565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280601681526020017f44657461696c65645072656d696e746564546f6b656e000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506116d28282611571565b1515156116de57600080fd5b6116e9868686610931565b6116f38784611baa565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561175a57808201518184015260208101905061173f565b50505050905090810190601f1680156117875780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156117c05780820151818401526020810190506117a5565b50505050905090810190601f1680156117ed5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156118365780518252602082019150602081019050602083039250611811565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561189f578051825260208201915060208101905060208303925061187a565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050505050565b600061198382600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515611b8357fe5b818303905092915050565b60008183019050828110151515611ba157fe5b80905092915050565b8060056000828254019250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611c9c57805160ff1916838001178555611cca565b82800160010185558215611cca579182015b82811115611cc9578251825591602001919060010190611cae565b5b509050611cd79190611cdb565b5090565b611cfd91905b80821115611cf9576000816000905550600101611ce1565b5090565b905600a165627a7a7230582023346f329d0f7227418d70bf6304d229a5730ae311546aaa96bb91a183350b370029", - "deployedBytecode": "0x6080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100d5578063095ea7b3146101655780631624f6c6146101ca57806318160ddd1461028657806323b872dd146102b1578063313ce56714610336578063661884631461036757806370a08231146103cc57806395d89b4114610423578063a9059cbb146104b3578063c0bac1a814610518578063d72bdc53146105df578063d73dd623146106c5578063dd62ed3e1461072a575b600080fd5b3480156100e157600080fd5b506100ea6107a1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012a57808201518184015260208101905061010f565b50505050905090810190601f1680156101575780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017157600080fd5b506101b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083f565b604051808215151515815260200191505060405180910390f35b3480156101d657600080fd5b50610284600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050610931565b005b34801561029257600080fd5b5061029b610bf9565b6040518082815260200191505060405180910390f35b3480156102bd57600080fd5b5061031c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c03565b604051808215151515815260200191505060405180910390f35b34801561034257600080fd5b5061034b610fc2565b604051808260ff1660ff16815260200191505060405180910390f35b34801561037357600080fd5b506103b2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fd5565b604051808215151515815260200191505060405180910390f35b3480156103d857600080fd5b5061040d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611266565b6040518082815260200191505060405180910390f35b34801561042f57600080fd5b506104386112af565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561047857808201518184015260208101905061045d565b50505050905090810190601f1680156104a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104bf57600080fd5b506104fe600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061134d565b604051808215151515815260200191505060405180910390f35b34801561052457600080fd5b506105c5600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611571565b604051808215151515815260200191505060405180910390f35b3480156105eb57600080fd5b506106c3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff1690602001909291908035906020019092919050505061165c565b005b3480156106d157600080fd5b50610710600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118f2565b604051808215151515815260200191505060405180910390f35b34801561073657600080fd5b5061078b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aee565b6040518082815260200191505060405180910390f35b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108375780601f1061080c57610100808354040283529160200191610837565b820191906000526020600020905b81548152906001019060200180831161081a57829003601f168201915b505050505081565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600d81526020017f44657461696c65644552433230000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506109a78282611571565b1515156109b357600080fd5b84600190805190602001906109c9929190611c5b565b5083600290805190602001906109e0929190611c5b565b5082600360006101000a81548160ff021916908360ff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a63578082015181840152602081019050610a48565b50505050905090810190601f168015610a905780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610ac9578082015181840152602081019050610aae565b50505050905090810190601f168015610af65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610b3f5780518252602082019150602081019050602083039250610b1a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610ba85780518252602082019150602081019050602083039250610b83565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b6000600554905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610c4057600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610c8e57600080fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d1957600080fd5b610d6b82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7590919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e0082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ed282600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7590919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600360009054906101000a900460ff1681565b600080600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156110e6576000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061117a565b6110f98382611b7590919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113455780601f1061131a57610100808354040283529160200191611345565b820191906000526020600020905b81548152906001019060200180831161132857829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561138a57600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156113d857600080fd5b61142a82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7590919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114bf82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b6020831015156115aa5780518252602082019150602081019050602083039250611585565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561161357805182526020820191506020810190506020830392506115ee565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280601681526020017f44657461696c65645072656d696e746564546f6b656e000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506116d28282611571565b1515156116de57600080fd5b6116e9868686610931565b6116f38784611baa565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561175a57808201518184015260208101905061173f565b50505050905090810190601f1680156117875780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156117c05780820151818401526020810190506117a5565b50505050905090810190601f1680156117ed5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156118365780518252602082019150602081019050602083039250611811565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561189f578051825260208201915060208101905060208303925061187a565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050505050565b600061198382600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515611b8357fe5b818303905092915050565b60008183019050828110151515611ba157fe5b80905092915050565b8060056000828254019250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611c9c57805160ff1916838001178555611cca565b82800160010185558215611cca579182015b82811115611cc9578251825591602001919060010190611cae565b5b509050611cd79190611cdb565b5090565b611cfd91905b80821115611cf9576000816000905550600101611ce1565b5090565b905600a165627a7a7230582023346f329d0f7227418d70bf6304d229a5730ae311546aaa96bb91a183350b370029", - "sourceMap": "142:541:35:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;142:541:35;;;;;;;", - "deployedSourceMap": "142:541:35:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;152:18:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;152:18:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;152:18:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;224:185:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;224:185:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:31;;;;;;;;;;;;;;;;;;;;;;;736:444:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;198:21:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;198:21:33;;;;;;;;;;;;;;;;;;;;;;;;;;;3617:403:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;174:20:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;174:20:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;174:20:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;222:302:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;222:302:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;152:18:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1803:188:42:-;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;224:185:33:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;351:5:33;344:4;:12;;;;;;;;;;;;:::i;:::-;;371:7;362:6;:16;;;;;;;;;;;;:::i;:::-;;395:9;384:8;;:20;;;;;;;;;;;;;;;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;224:185:33;;;;;:::o;371:83:31:-;415:7;437:12;;430:19;;371:83;:::o;736:444:42:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;198:21:33:-;;;;;;;;;;;;;:::o;3617:403:42:-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:31:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;174:20:33:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;608:321:31:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;222:302:35:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;427:51:35;452:5;459:7;468:9;427:24;:51::i;:::-;485:34;494:7;503:15;485:8;:34::i;:::-;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;222:302:35;;;;;;;:::o;2893:262:42:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;528:153:35:-;606:6;590:12;;:22;;;;;;;;;;;635:6;618:8;:13;627:3;618:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;664:3;652:24;;661:1;652:24;669:6;652:24;;;;;;;;;;;;;;;;;;528:153;;:::o;142:541::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b50611d2c806100206000396000f3006080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100d5578063095ea7b3146101655780631624f6c6146101ca57806318160ddd1461028657806323b872dd146102b1578063313ce56714610336578063661884631461036757806370a08231146103cc57806395d89b4114610423578063a9059cbb146104b3578063c0bac1a814610518578063d72bdc53146105df578063d73dd623146106c5578063dd62ed3e1461072a575b600080fd5b3480156100e157600080fd5b506100ea6107a1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012a57808201518184015260208101905061010f565b50505050905090810190601f1680156101575780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017157600080fd5b506101b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083f565b604051808215151515815260200191505060405180910390f35b3480156101d657600080fd5b50610284600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050610931565b005b34801561029257600080fd5b5061029b610bf9565b6040518082815260200191505060405180910390f35b3480156102bd57600080fd5b5061031c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c03565b604051808215151515815260200191505060405180910390f35b34801561034257600080fd5b5061034b610fc2565b604051808260ff1660ff16815260200191505060405180910390f35b34801561037357600080fd5b506103b2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fd5565b604051808215151515815260200191505060405180910390f35b3480156103d857600080fd5b5061040d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611266565b6040518082815260200191505060405180910390f35b34801561042f57600080fd5b506104386112af565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561047857808201518184015260208101905061045d565b50505050905090810190601f1680156104a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104bf57600080fd5b506104fe600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061134d565b604051808215151515815260200191505060405180910390f35b34801561052457600080fd5b506105c5600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611571565b604051808215151515815260200191505060405180910390f35b3480156105eb57600080fd5b506106c3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff1690602001909291908035906020019092919050505061165c565b005b3480156106d157600080fd5b50610710600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118f2565b604051808215151515815260200191505060405180910390f35b34801561073657600080fd5b5061078b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aee565b6040518082815260200191505060405180910390f35b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108375780601f1061080c57610100808354040283529160200191610837565b820191906000526020600020905b81548152906001019060200180831161081a57829003601f168201915b505050505081565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600d81526020017f44657461696c65644552433230000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506109a78282611571565b1515156109b357600080fd5b84600190805190602001906109c9929190611c5b565b5083600290805190602001906109e0929190611c5b565b5082600360006101000a81548160ff021916908360ff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a63578082015181840152602081019050610a48565b50505050905090810190601f168015610a905780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610ac9578082015181840152602081019050610aae565b50505050905090810190601f168015610af65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610b3f5780518252602082019150602081019050602083039250610b1a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610ba85780518252602082019150602081019050602083039250610b83565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b6000600554905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610c4057600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610c8e57600080fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d1957600080fd5b610d6b82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7590919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e0082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ed282600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7590919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600360009054906101000a900460ff1681565b600080600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156110e6576000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061117a565b6110f98382611b7590919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113455780601f1061131a57610100808354040283529160200191611345565b820191906000526020600020905b81548152906001019060200180831161132857829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561138a57600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156113d857600080fd5b61142a82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7590919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114bf82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b6020831015156115aa5780518252602082019150602081019050602083039250611585565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561161357805182526020820191506020810190506020830392506115ee565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280601681526020017f44657461696c65645072656d696e746564546f6b656e000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506116d28282611571565b1515156116de57600080fd5b6116e9868686610931565b6116f38784611baa565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561175a57808201518184015260208101905061173f565b50505050905090810190601f1680156117875780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156117c05780820151818401526020810190506117a5565b50505050905090810190601f1680156117ed5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156118365780518252602082019150602081019050602083039250611811565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561189f578051825260208201915060208101905060208303925061187a565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050505050565b600061198382600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515611b8357fe5b818303905092915050565b60008183019050828110151515611ba157fe5b80905092915050565b8060056000828254019250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611c9c57805160ff1916838001178555611cca565b82800160010185558215611cca579182015b82811115611cc9578251825591602001919060010190611cae565b5b509050611cd79190611cdb565b5090565b611cfd91905b80821115611cf9576000816000905550600101611ce1565b5090565b905600a165627a7a723058207552d111b0350f532320e204c3d8e757c1b71c67261113c6da2843df9272b2640029", + "deployedBytecode": "0x6080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100d5578063095ea7b3146101655780631624f6c6146101ca57806318160ddd1461028657806323b872dd146102b1578063313ce56714610336578063661884631461036757806370a08231146103cc57806395d89b4114610423578063a9059cbb146104b3578063c0bac1a814610518578063d72bdc53146105df578063d73dd623146106c5578063dd62ed3e1461072a575b600080fd5b3480156100e157600080fd5b506100ea6107a1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012a57808201518184015260208101905061010f565b50505050905090810190601f1680156101575780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017157600080fd5b506101b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083f565b604051808215151515815260200191505060405180910390f35b3480156101d657600080fd5b50610284600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050610931565b005b34801561029257600080fd5b5061029b610bf9565b6040518082815260200191505060405180910390f35b3480156102bd57600080fd5b5061031c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c03565b604051808215151515815260200191505060405180910390f35b34801561034257600080fd5b5061034b610fc2565b604051808260ff1660ff16815260200191505060405180910390f35b34801561037357600080fd5b506103b2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fd5565b604051808215151515815260200191505060405180910390f35b3480156103d857600080fd5b5061040d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611266565b6040518082815260200191505060405180910390f35b34801561042f57600080fd5b506104386112af565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561047857808201518184015260208101905061045d565b50505050905090810190601f1680156104a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104bf57600080fd5b506104fe600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061134d565b604051808215151515815260200191505060405180910390f35b34801561052457600080fd5b506105c5600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611571565b604051808215151515815260200191505060405180910390f35b3480156105eb57600080fd5b506106c3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff1690602001909291908035906020019092919050505061165c565b005b3480156106d157600080fd5b50610710600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118f2565b604051808215151515815260200191505060405180910390f35b34801561073657600080fd5b5061078b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aee565b6040518082815260200191505060405180910390f35b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108375780601f1061080c57610100808354040283529160200191610837565b820191906000526020600020905b81548152906001019060200180831161081a57829003601f168201915b505050505081565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600d81526020017f44657461696c65644552433230000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506109a78282611571565b1515156109b357600080fd5b84600190805190602001906109c9929190611c5b565b5083600290805190602001906109e0929190611c5b565b5082600360006101000a81548160ff021916908360ff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a63578082015181840152602081019050610a48565b50505050905090810190601f168015610a905780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610ac9578082015181840152602081019050610aae565b50505050905090810190601f168015610af65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610b3f5780518252602082019150602081019050602083039250610b1a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610ba85780518252602082019150602081019050602083039250610b83565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b6000600554905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610c4057600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610c8e57600080fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d1957600080fd5b610d6b82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7590919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e0082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ed282600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7590919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600360009054906101000a900460ff1681565b600080600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156110e6576000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061117a565b6110f98382611b7590919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113455780601f1061131a57610100808354040283529160200191611345565b820191906000526020600020905b81548152906001019060200180831161132857829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561138a57600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156113d857600080fd5b61142a82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7590919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114bf82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b6020831015156115aa5780518252602082019150602081019050602083039250611585565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561161357805182526020820191506020810190506020830392506115ee565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280601681526020017f44657461696c65645072656d696e746564546f6b656e000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506116d28282611571565b1515156116de57600080fd5b6116e9868686610931565b6116f38784611baa565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561175a57808201518184015260208101905061173f565b50505050905090810190601f1680156117875780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156117c05780820151818401526020810190506117a5565b50505050905090810190601f1680156117ed5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156118365780518252602082019150602081019050602083039250611811565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561189f578051825260208201915060208101905060208303925061187a565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050505050565b600061198382600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515611b8357fe5b818303905092915050565b60008183019050828110151515611ba157fe5b80905092915050565b8060056000828254019250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611c9c57805160ff1916838001178555611cca565b82800160010185558215611cca579182015b82811115611cc9578251825591602001919060010190611cae565b5b509050611cd79190611cdb565b5090565b611cfd91905b80821115611cf9576000816000905550600101611ce1565b5090565b905600a165627a7a723058207552d111b0350f532320e204c3d8e757c1b71c67261113c6da2843df9272b2640029", + "sourceMap": "142:541:37:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;142:541:37;;;;;;;", + "deployedSourceMap": "142:541:37:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;152:18:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;152:18:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;152:18:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;224:185:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;224:185:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:33;;;;;;;;;;;;;;;;;;;;;;;736:444:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;198:21:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;198:21:35;;;;;;;;;;;;;;;;;;;;;;;;;;;3617:403:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;174:20:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;174:20:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;174:20:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;222:302:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;222:302:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;152:18:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1803:188:44:-;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;224:185:35:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;351:5:35;344:4;:12;;;;;;;;;;;;:::i;:::-;;371:7;362:6;:16;;;;;;;;;;;;:::i;:::-;;395:9;384:8;;:20;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;224:185:35;;;;;:::o;371:83:33:-;415:7;437:12;;430:19;;371:83;:::o;736:444:44:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;198:21:35:-;;;;;;;;;;;;;:::o;3617:403:44:-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:33:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;174:20:35:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;608:321:33:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;222:302:37:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;427:51:37;452:5;459:7;468:9;427:24;:51::i;:::-;485:34;494:7;503:15;485:8;:34::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;222:302:37;;;;;;;:::o;2893:262:44:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;528:153:37:-;606:6;590:12;;:22;;;;;;;;;;;635:6;618:8;:13;627:3;618:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;664:3;652:24;;661:1;652:24;669:6;652:24;;;;;;;;;;;;;;;;;;528:153;;:::o;142:541::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"zos-lib/contracts/migrations/Migratable.sol\";\nimport \"./DetailedERC20.sol\";\nimport \"./MintableToken.sol\";\n\n\ncontract DetailedPremintedToken is Migratable, DetailedERC20, StandardToken {\n function initialize(\n address _sender,\n string _name,\n string _symbol,\n uint8 _decimals,\n uint256 _initialBalance\n )\n isInitializer(\"DetailedPremintedToken\", \"1.9.0\")\n public\n {\n DetailedERC20.initialize(_name, _symbol, _decimals);\n\n _premint(_sender, _initialBalance);\n }\n\n function _premint(address _to, uint256 _value) internal {\n totalSupply_ += _value;\n balances[_to] += _value;\n emit Transfer(0, _to, _value);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/DetailedPremintedToken.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/DetailedPremintedToken.sol", "exportedSymbols": { "DetailedPremintedToken": [ - 2436 + 2484 ] }, - "id": 2437, + "id": 2485, "nodeType": "SourceUnit", "nodes": [ { - "id": 2371, + "id": 2419, "literals": [ "solidity", "^", @@ -380,38 +380,38 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:35" + "src": "0:24:37" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 2372, + "id": 2420, "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 4770, - "src": "26:53:35", + "scope": 2485, + "sourceUnit": 4865, + "src": "26:53:37", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/DetailedERC20.sol", "file": "./DetailedERC20.sol", - "id": 2373, + "id": 2421, "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 2328, - "src": "80:29:35", + "scope": 2485, + "sourceUnit": 2376, + "src": "80:29:37", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/MintableToken.sol", "file": "./MintableToken.sol", - "id": 2374, + "id": 2422, "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 2626, - "src": "110:29:35", + "scope": 2485, + "sourceUnit": 2674, + "src": "110:29:37", "symbolAliases": [], "unitAlias": "" }, @@ -421,86 +421,86 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2375, + "id": 2423, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "177:10:35", + "referencedDeclaration": 4864, + "src": "177:10:37", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 2376, + "id": 2424, "nodeType": "InheritanceSpecifier", - "src": "177:10:35" + "src": "177:10:37" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2377, + "id": 2425, "name": "DetailedERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2327, - "src": "189:13:35", + "referencedDeclaration": 2375, + "src": "189:13:37", "typeDescriptions": { - "typeIdentifier": "t_contract$_DetailedERC20_$2327", + "typeIdentifier": "t_contract$_DetailedERC20_$2375", "typeString": "contract DetailedERC20" } }, - "id": 2378, + "id": 2426, "nodeType": "InheritanceSpecifier", - "src": "189:13:35" + "src": "189:13:37" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2379, + "id": 2427, "name": "StandardToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3103, - "src": "204:13:35", + "referencedDeclaration": 3151, + "src": "204:13:37", "typeDescriptions": { - "typeIdentifier": "t_contract$_StandardToken_$3103", + "typeIdentifier": "t_contract$_StandardToken_$3151", "typeString": "contract StandardToken" } }, - "id": 2380, + "id": 2428, "nodeType": "InheritanceSpecifier", - "src": "204:13:35" + "src": "204:13:37" } ], "contractDependencies": [ - 2215, - 2327, - 2479, - 2511, - 3103, - 4769 + 2263, + 2375, + 2527, + 2559, + 3151, + 4864 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 2436, + "id": 2484, "linearizedBaseContracts": [ - 2436, - 3103, - 2215, - 2327, - 2479, - 2511, - 4769 + 2484, + 3151, + 2263, + 2375, + 2527, + 2559, + 4864 ], "name": "DetailedPremintedToken", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 2410, + "id": 2458, "nodeType": "Block", - "src": "421:103:35", + "src": "421:103:37", "statements": [ { "expression": { @@ -508,12 +508,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2400, + "id": 2448, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2384, - "src": "452:5:35", + "referencedDeclaration": 2432, + "src": "452:5:37", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -521,12 +521,12 @@ }, { "argumentTypes": null, - "id": 2401, + "id": 2449, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2386, - "src": "459:7:35", + "referencedDeclaration": 2434, + "src": "459:7:37", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -534,12 +534,12 @@ }, { "argumentTypes": null, - "id": 2402, + "id": 2450, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2388, - "src": "468:9:35", + "referencedDeclaration": 2436, + "src": "468:9:37", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -563,32 +563,32 @@ ], "expression": { "argumentTypes": null, - "id": 2397, + "id": 2445, "name": "DetailedERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2327, - "src": "427:13:35", + "referencedDeclaration": 2375, + "src": "427:13:37", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DetailedERC20_$2327_$", + "typeIdentifier": "t_type$_t_contract$_DetailedERC20_$2375_$", "typeString": "type(contract DetailedERC20)" } }, - "id": 2399, + "id": 2447, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 2326, - "src": "427:24:35", + "referencedDeclaration": 2374, + "src": "427:24:37", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$__$", "typeString": "function (string memory,string memory,uint8)" } }, - "id": 2403, + "id": 2451, "isConstant": false, "isLValue": false, "isPure": false, @@ -596,15 +596,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "427:51:35", + "src": "427:51:37", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2404, + "id": 2452, "nodeType": "ExpressionStatement", - "src": "427:51:35" + "src": "427:51:37" }, { "expression": { @@ -612,12 +612,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2406, + "id": 2454, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2382, - "src": "494:7:35", + "referencedDeclaration": 2430, + "src": "494:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -625,12 +625,12 @@ }, { "argumentTypes": null, - "id": 2407, + "id": 2455, "name": "_initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "503:15:35", + "referencedDeclaration": 2438, + "src": "503:15:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -648,18 +648,18 @@ "typeString": "uint256" } ], - "id": 2405, + "id": 2453, "name": "_premint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2435, - "src": "485:8:35", + "referencedDeclaration": 2483, + "src": "485:8:37", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2408, + "id": 2456, "isConstant": false, "isLValue": false, "isPure": false, @@ -667,20 +667,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "485:34:35", + "src": "485:34:37", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2409, + "id": 2457, "nodeType": "ExpressionStatement", - "src": "485:34:35" + "src": "485:34:37" } ] }, "documentation": null, - "id": 2411, + "id": 2459, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -690,14 +690,14 @@ { "argumentTypes": null, "hexValue": "44657461696c65645072656d696e746564546f6b656e", - "id": 2393, + "id": 2441, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "373:24:35", + "src": "373:24:37", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_212df61ab8974aa525528807e082511b0e357881dd0e860aa1d7df2de2cc4b94", @@ -708,14 +708,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 2394, + "id": 2442, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "399:7:35", + "src": "399:7:37", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -724,37 +724,37 @@ "value": "1.9.0" } ], - "id": 2395, + "id": 2443, "modifierName": { "argumentTypes": null, - "id": 2392, + "id": 2440, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "359:13:35", + "referencedDeclaration": 4811, + "src": "359:13:37", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "359:48:35" + "src": "359:48:37" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 2391, + "id": 2439, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2382, + "id": 2430, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "247:15:35", + "scope": 2459, + "src": "247:15:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -762,10 +762,10 @@ "typeString": "address" }, "typeName": { - "id": 2381, + "id": 2429, "name": "address", "nodeType": "ElementaryTypeName", - "src": "247:7:35", + "src": "247:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -776,11 +776,11 @@ }, { "constant": false, - "id": 2384, + "id": 2432, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "268:12:35", + "scope": 2459, + "src": "268:12:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -788,10 +788,10 @@ "typeString": "string" }, "typeName": { - "id": 2383, + "id": 2431, "name": "string", "nodeType": "ElementaryTypeName", - "src": "268:6:35", + "src": "268:6:37", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -802,11 +802,11 @@ }, { "constant": false, - "id": 2386, + "id": 2434, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "286:14:35", + "scope": 2459, + "src": "286:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -814,10 +814,10 @@ "typeString": "string" }, "typeName": { - "id": 2385, + "id": 2433, "name": "string", "nodeType": "ElementaryTypeName", - "src": "286:6:35", + "src": "286:6:37", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -828,11 +828,11 @@ }, { "constant": false, - "id": 2388, + "id": 2436, "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "306:15:35", + "scope": 2459, + "src": "306:15:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -840,10 +840,10 @@ "typeString": "uint8" }, "typeName": { - "id": 2387, + "id": 2435, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "306:5:35", + "src": "306:5:37", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -854,11 +854,11 @@ }, { "constant": false, - "id": 2390, + "id": 2438, "name": "_initialBalance", "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "327:23:35", + "scope": 2459, + "src": "327:23:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -866,10 +866,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2389, + "id": 2437, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "327:7:35", + "src": "327:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -879,43 +879,43 @@ "visibility": "internal" } ], - "src": "241:113:35" + "src": "241:113:37" }, "payable": false, "returnParameters": { - "id": 2396, + "id": 2444, "nodeType": "ParameterList", "parameters": [], - "src": "421:0:35" + "src": "421:0:37" }, - "scope": 2436, - "src": "222:302:35", + "scope": 2484, + "src": "222:302:37", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 2434, + "id": 2482, "nodeType": "Block", - "src": "584:97:35", + "src": "584:97:37", "statements": [ { "expression": { "argumentTypes": null, - "id": 2420, + "id": 2468, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2418, + "id": 2466, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "590:12:35", + "referencedDeclaration": 2182, + "src": "590:12:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -925,31 +925,31 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 2419, + "id": 2467, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "606:6:35", + "referencedDeclaration": 2463, + "src": "606:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "590:22:35", + "src": "590:22:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2421, + "id": 2469, "nodeType": "ExpressionStatement", - "src": "590:22:35" + "src": "590:22:37" }, { "expression": { "argumentTypes": null, - "id": 2426, + "id": 2474, "isConstant": false, "isLValue": false, "isPure": false, @@ -958,26 +958,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2422, + "id": 2470, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "618:8:35", + "referencedDeclaration": 2180, + "src": "618:8:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2424, + "id": 2472, "indexExpression": { "argumentTypes": null, - "id": 2423, + "id": 2471, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "627:3:35", + "referencedDeclaration": 2461, + "src": "627:3:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -988,7 +988,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "618:13:35", + "src": "618:13:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -998,26 +998,26 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 2425, + "id": 2473, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "635:6:35", + "referencedDeclaration": 2463, + "src": "635:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "618:23:35", + "src": "618:23:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2427, + "id": 2475, "nodeType": "ExpressionStatement", - "src": "618:23:35" + "src": "618:23:37" }, { "eventCall": { @@ -1026,14 +1026,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2429, + "id": 2477, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "661:1:35", + "src": "661:1:37", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1043,12 +1043,12 @@ }, { "argumentTypes": null, - "id": 2430, + "id": 2478, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "664:3:35", + "referencedDeclaration": 2461, + "src": "664:3:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1056,12 +1056,12 @@ }, { "argumentTypes": null, - "id": 2431, + "id": 2479, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "669:6:35", + "referencedDeclaration": 2463, + "src": "669:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1083,18 +1083,18 @@ "typeString": "uint256" } ], - "id": 2428, + "id": 2476, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2510, - "src": "652:8:35", + "referencedDeclaration": 2558, + "src": "652:8:37", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2432, + "id": 2480, "isConstant": false, "isLValue": false, "isPure": false, @@ -1102,20 +1102,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "652:24:35", + "src": "652:24:37", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2433, + "id": 2481, "nodeType": "EmitStatement", - "src": "647:29:35" + "src": "647:29:37" } ] }, "documentation": null, - "id": 2435, + "id": 2483, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1123,16 +1123,16 @@ "name": "_premint", "nodeType": "FunctionDefinition", "parameters": { - "id": 2416, + "id": 2464, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2413, + "id": 2461, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 2435, - "src": "546:11:35", + "scope": 2483, + "src": "546:11:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1140,10 +1140,10 @@ "typeString": "address" }, "typeName": { - "id": 2412, + "id": 2460, "name": "address", "nodeType": "ElementaryTypeName", - "src": "546:7:35", + "src": "546:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1154,11 +1154,11 @@ }, { "constant": false, - "id": 2415, + "id": 2463, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2435, - "src": "559:14:35", + "scope": 2483, + "src": "559:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1166,10 +1166,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2414, + "id": 2462, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "559:7:35", + "src": "559:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1179,40 +1179,40 @@ "visibility": "internal" } ], - "src": "545:29:35" + "src": "545:29:37" }, "payable": false, "returnParameters": { - "id": 2417, + "id": 2465, "nodeType": "ParameterList", "parameters": [], - "src": "584:0:35" + "src": "584:0:37" }, - "scope": 2436, - "src": "528:153:35", + "scope": 2484, + "src": "528:153:37", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 2437, - "src": "142:541:35" + "scope": 2485, + "src": "142:541:37" } ], - "src": "0:684:35" + "src": "0:684:37" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/DetailedPremintedToken.sol", "exportedSymbols": { "DetailedPremintedToken": [ - 2436 + 2484 ] }, - "id": 2437, + "id": 2485, "nodeType": "SourceUnit", "nodes": [ { - "id": 2371, + "id": 2419, "literals": [ "solidity", "^", @@ -1220,38 +1220,38 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:35" + "src": "0:24:37" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 2372, + "id": 2420, "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 4770, - "src": "26:53:35", + "scope": 2485, + "sourceUnit": 4865, + "src": "26:53:37", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/DetailedERC20.sol", "file": "./DetailedERC20.sol", - "id": 2373, + "id": 2421, "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 2328, - "src": "80:29:35", + "scope": 2485, + "sourceUnit": 2376, + "src": "80:29:37", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/MintableToken.sol", "file": "./MintableToken.sol", - "id": 2374, + "id": 2422, "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 2626, - "src": "110:29:35", + "scope": 2485, + "sourceUnit": 2674, + "src": "110:29:37", "symbolAliases": [], "unitAlias": "" }, @@ -1261,86 +1261,86 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2375, + "id": 2423, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "177:10:35", + "referencedDeclaration": 4864, + "src": "177:10:37", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 2376, + "id": 2424, "nodeType": "InheritanceSpecifier", - "src": "177:10:35" + "src": "177:10:37" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2377, + "id": 2425, "name": "DetailedERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2327, - "src": "189:13:35", + "referencedDeclaration": 2375, + "src": "189:13:37", "typeDescriptions": { - "typeIdentifier": "t_contract$_DetailedERC20_$2327", + "typeIdentifier": "t_contract$_DetailedERC20_$2375", "typeString": "contract DetailedERC20" } }, - "id": 2378, + "id": 2426, "nodeType": "InheritanceSpecifier", - "src": "189:13:35" + "src": "189:13:37" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2379, + "id": 2427, "name": "StandardToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3103, - "src": "204:13:35", + "referencedDeclaration": 3151, + "src": "204:13:37", "typeDescriptions": { - "typeIdentifier": "t_contract$_StandardToken_$3103", + "typeIdentifier": "t_contract$_StandardToken_$3151", "typeString": "contract StandardToken" } }, - "id": 2380, + "id": 2428, "nodeType": "InheritanceSpecifier", - "src": "204:13:35" + "src": "204:13:37" } ], "contractDependencies": [ - 2215, - 2327, - 2479, - 2511, - 3103, - 4769 + 2263, + 2375, + 2527, + 2559, + 3151, + 4864 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 2436, + "id": 2484, "linearizedBaseContracts": [ - 2436, - 3103, - 2215, - 2327, - 2479, - 2511, - 4769 + 2484, + 3151, + 2263, + 2375, + 2527, + 2559, + 4864 ], "name": "DetailedPremintedToken", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 2410, + "id": 2458, "nodeType": "Block", - "src": "421:103:35", + "src": "421:103:37", "statements": [ { "expression": { @@ -1348,12 +1348,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2400, + "id": 2448, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2384, - "src": "452:5:35", + "referencedDeclaration": 2432, + "src": "452:5:37", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1361,12 +1361,12 @@ }, { "argumentTypes": null, - "id": 2401, + "id": 2449, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2386, - "src": "459:7:35", + "referencedDeclaration": 2434, + "src": "459:7:37", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1374,12 +1374,12 @@ }, { "argumentTypes": null, - "id": 2402, + "id": 2450, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2388, - "src": "468:9:35", + "referencedDeclaration": 2436, + "src": "468:9:37", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1403,32 +1403,32 @@ ], "expression": { "argumentTypes": null, - "id": 2397, + "id": 2445, "name": "DetailedERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2327, - "src": "427:13:35", + "referencedDeclaration": 2375, + "src": "427:13:37", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DetailedERC20_$2327_$", + "typeIdentifier": "t_type$_t_contract$_DetailedERC20_$2375_$", "typeString": "type(contract DetailedERC20)" } }, - "id": 2399, + "id": 2447, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 2326, - "src": "427:24:35", + "referencedDeclaration": 2374, + "src": "427:24:37", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$__$", "typeString": "function (string memory,string memory,uint8)" } }, - "id": 2403, + "id": 2451, "isConstant": false, "isLValue": false, "isPure": false, @@ -1436,15 +1436,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "427:51:35", + "src": "427:51:37", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2404, + "id": 2452, "nodeType": "ExpressionStatement", - "src": "427:51:35" + "src": "427:51:37" }, { "expression": { @@ -1452,12 +1452,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2406, + "id": 2454, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2382, - "src": "494:7:35", + "referencedDeclaration": 2430, + "src": "494:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1465,12 +1465,12 @@ }, { "argumentTypes": null, - "id": 2407, + "id": 2455, "name": "_initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "503:15:35", + "referencedDeclaration": 2438, + "src": "503:15:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1488,18 +1488,18 @@ "typeString": "uint256" } ], - "id": 2405, + "id": 2453, "name": "_premint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2435, - "src": "485:8:35", + "referencedDeclaration": 2483, + "src": "485:8:37", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2408, + "id": 2456, "isConstant": false, "isLValue": false, "isPure": false, @@ -1507,20 +1507,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "485:34:35", + "src": "485:34:37", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2409, + "id": 2457, "nodeType": "ExpressionStatement", - "src": "485:34:35" + "src": "485:34:37" } ] }, "documentation": null, - "id": 2411, + "id": 2459, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1530,14 +1530,14 @@ { "argumentTypes": null, "hexValue": "44657461696c65645072656d696e746564546f6b656e", - "id": 2393, + "id": 2441, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "373:24:35", + "src": "373:24:37", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_212df61ab8974aa525528807e082511b0e357881dd0e860aa1d7df2de2cc4b94", @@ -1548,14 +1548,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 2394, + "id": 2442, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "399:7:35", + "src": "399:7:37", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -1564,37 +1564,37 @@ "value": "1.9.0" } ], - "id": 2395, + "id": 2443, "modifierName": { "argumentTypes": null, - "id": 2392, + "id": 2440, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "359:13:35", + "referencedDeclaration": 4811, + "src": "359:13:37", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "359:48:35" + "src": "359:48:37" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 2391, + "id": 2439, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2382, + "id": 2430, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "247:15:35", + "scope": 2459, + "src": "247:15:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1602,10 +1602,10 @@ "typeString": "address" }, "typeName": { - "id": 2381, + "id": 2429, "name": "address", "nodeType": "ElementaryTypeName", - "src": "247:7:35", + "src": "247:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1616,11 +1616,11 @@ }, { "constant": false, - "id": 2384, + "id": 2432, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "268:12:35", + "scope": 2459, + "src": "268:12:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1628,10 +1628,10 @@ "typeString": "string" }, "typeName": { - "id": 2383, + "id": 2431, "name": "string", "nodeType": "ElementaryTypeName", - "src": "268:6:35", + "src": "268:6:37", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1642,11 +1642,11 @@ }, { "constant": false, - "id": 2386, + "id": 2434, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "286:14:35", + "scope": 2459, + "src": "286:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1654,10 +1654,10 @@ "typeString": "string" }, "typeName": { - "id": 2385, + "id": 2433, "name": "string", "nodeType": "ElementaryTypeName", - "src": "286:6:35", + "src": "286:6:37", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1668,11 +1668,11 @@ }, { "constant": false, - "id": 2388, + "id": 2436, "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "306:15:35", + "scope": 2459, + "src": "306:15:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1680,10 +1680,10 @@ "typeString": "uint8" }, "typeName": { - "id": 2387, + "id": 2435, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "306:5:35", + "src": "306:5:37", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1694,11 +1694,11 @@ }, { "constant": false, - "id": 2390, + "id": 2438, "name": "_initialBalance", "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "327:23:35", + "scope": 2459, + "src": "327:23:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1706,10 +1706,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2389, + "id": 2437, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "327:7:35", + "src": "327:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1719,43 +1719,43 @@ "visibility": "internal" } ], - "src": "241:113:35" + "src": "241:113:37" }, "payable": false, "returnParameters": { - "id": 2396, + "id": 2444, "nodeType": "ParameterList", "parameters": [], - "src": "421:0:35" + "src": "421:0:37" }, - "scope": 2436, - "src": "222:302:35", + "scope": 2484, + "src": "222:302:37", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 2434, + "id": 2482, "nodeType": "Block", - "src": "584:97:35", + "src": "584:97:37", "statements": [ { "expression": { "argumentTypes": null, - "id": 2420, + "id": 2468, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2418, + "id": 2466, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "590:12:35", + "referencedDeclaration": 2182, + "src": "590:12:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1765,31 +1765,31 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 2419, + "id": 2467, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "606:6:35", + "referencedDeclaration": 2463, + "src": "606:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "590:22:35", + "src": "590:22:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2421, + "id": 2469, "nodeType": "ExpressionStatement", - "src": "590:22:35" + "src": "590:22:37" }, { "expression": { "argumentTypes": null, - "id": 2426, + "id": 2474, "isConstant": false, "isLValue": false, "isPure": false, @@ -1798,26 +1798,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2422, + "id": 2470, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "618:8:35", + "referencedDeclaration": 2180, + "src": "618:8:37", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2424, + "id": 2472, "indexExpression": { "argumentTypes": null, - "id": 2423, + "id": 2471, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "627:3:35", + "referencedDeclaration": 2461, + "src": "627:3:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1828,7 +1828,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "618:13:35", + "src": "618:13:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1838,26 +1838,26 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 2425, + "id": 2473, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "635:6:35", + "referencedDeclaration": 2463, + "src": "635:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "618:23:35", + "src": "618:23:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2427, + "id": 2475, "nodeType": "ExpressionStatement", - "src": "618:23:35" + "src": "618:23:37" }, { "eventCall": { @@ -1866,14 +1866,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2429, + "id": 2477, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "661:1:35", + "src": "661:1:37", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1883,12 +1883,12 @@ }, { "argumentTypes": null, - "id": 2430, + "id": 2478, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "664:3:35", + "referencedDeclaration": 2461, + "src": "664:3:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1896,12 +1896,12 @@ }, { "argumentTypes": null, - "id": 2431, + "id": 2479, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "669:6:35", + "referencedDeclaration": 2463, + "src": "669:6:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1923,18 +1923,18 @@ "typeString": "uint256" } ], - "id": 2428, + "id": 2476, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2510, - "src": "652:8:35", + "referencedDeclaration": 2558, + "src": "652:8:37", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2432, + "id": 2480, "isConstant": false, "isLValue": false, "isPure": false, @@ -1942,20 +1942,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "652:24:35", + "src": "652:24:37", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2433, + "id": 2481, "nodeType": "EmitStatement", - "src": "647:29:35" + "src": "647:29:37" } ] }, "documentation": null, - "id": 2435, + "id": 2483, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1963,16 +1963,16 @@ "name": "_premint", "nodeType": "FunctionDefinition", "parameters": { - "id": 2416, + "id": 2464, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2413, + "id": 2461, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 2435, - "src": "546:11:35", + "scope": 2483, + "src": "546:11:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1980,10 +1980,10 @@ "typeString": "address" }, "typeName": { - "id": 2412, + "id": 2460, "name": "address", "nodeType": "ElementaryTypeName", - "src": "546:7:35", + "src": "546:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1994,11 +1994,11 @@ }, { "constant": false, - "id": 2415, + "id": 2463, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2435, - "src": "559:14:35", + "scope": 2483, + "src": "559:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2006,10 +2006,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2414, + "id": 2462, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "559:7:35", + "src": "559:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2019,33 +2019,33 @@ "visibility": "internal" } ], - "src": "545:29:35" + "src": "545:29:37" }, "payable": false, "returnParameters": { - "id": 2417, + "id": 2465, "nodeType": "ParameterList", "parameters": [], - "src": "584:0:35" + "src": "584:0:37" }, - "scope": 2436, - "src": "528:153:35", + "scope": 2484, + "src": "528:153:37", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 2437, - "src": "142:541:35" + "scope": 2485, + "src": "142:541:37" } ], - "src": "0:684:35" + "src": "0:684:37" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.639Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.213Z" } \ No newline at end of file diff --git a/build/contracts/ECRecovery.json b/build/contracts/ECRecovery.json index c4bf73663..62186398e 100644 --- a/build/contracts/ECRecovery.json +++ b/build/contracts/ECRecovery.json @@ -1,8 +1,8 @@ { "contractName": "ECRecovery", "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582095f4276bbe910450a81a9f24c9666db9e203894c52a3fdbade54b3b5738e695e0029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582095f4276bbe910450a81a9f24c9666db9e203894c52a3fdbade54b3b5738e695e0029", + "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058205b790ca6c853c7e32fb7ac75e4760a40d639601e5e2dcf7ace2abff11907a7450029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058205b790ca6c853c7e32fb7ac75e4760a40d639601e5e2dcf7ace2abff11907a7450029", "sourceMap": "309:1640:1:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", "deployedSourceMap": "309:1640:1:-;;;;;;;;", "source": "pragma solidity ^0.4.21;\n\n\n/**\n * @title Eliptic curve signature operations\n *\n * @dev Based on https://gist.github.com/axic/5b33912c6f61ae6fd96d6c4a47afde6d\n *\n * TODO Remove this library once solidity supports passing a signature to ecrecover.\n * See https://github.com/ethereum/solidity/issues/864\n *\n */\n\nlibrary ECRecovery {\n\n /**\n * @dev Recover signer address from a message by using their signature\n * @param hash bytes32 message, the hash is the signed message. What is recovered is the signer address.\n * @param sig bytes signature, the signature is generated using web3.eth.sign()\n */\n function recover(bytes32 hash, bytes sig)\n internal\n pure\n returns (address)\n {\n bytes32 r;\n bytes32 s;\n uint8 v;\n\n // Check the signature length\n if (sig.length != 65) {\n return (address(0));\n }\n\n // Divide the signature in r, s and v variables\n // ecrecover takes the signature parameters, and the only way to get them\n // currently is to use assembly.\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n r := mload(add(sig, 32))\n s := mload(add(sig, 64))\n v := byte(0, mload(add(sig, 96)))\n }\n\n // Version of signature should be 27 or 28, but 0 and 1 are also possible versions\n if (v < 27) {\n v += 27;\n }\n\n // If the version is correct return the signer address\n if (v != 27 && v != 28) {\n return (address(0));\n } else {\n // solium-disable-next-line arg-overflow\n return ecrecover(hash, v, r, s);\n }\n }\n\n /**\n * toEthSignedMessageHash\n * @dev prefix a bytes32 value with \"\\x19Ethereum Signed Message:\"\n * @dev and hash the result\n */\n function toEthSignedMessageHash(bytes32 hash)\n internal\n pure\n returns (bytes32)\n {\n // 32 is the length in bytes of hash,\n // enforced by the type signature above\n return keccak256(\n \"\\x19Ethereum Signed Message:\\n32\",\n hash\n );\n }\n}\n", @@ -691,7 +691,7 @@ "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4776, + "referencedDeclaration": 4871, "src": "1504:9:1", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", @@ -975,7 +975,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4778, + "referencedDeclaration": 4873, "src": "1873:9:1", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -1775,7 +1775,7 @@ "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4776, + "referencedDeclaration": 4871, "src": "1504:9:1", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", @@ -2059,7 +2059,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4778, + "referencedDeclaration": 4873, "src": "1873:9:1", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -2177,9 +2177,9 @@ }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.612Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.202Z" } \ No newline at end of file diff --git a/build/contracts/ECRecoveryMock.json b/build/contracts/ECRecoveryMock.json index 423a38cc5..9c43d48a6 100644 --- a/build/contracts/ECRecoveryMock.json +++ b/build/contracts/ECRecoveryMock.json @@ -44,24 +44,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506102ff806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806319045a2514610051578063918a15cf14610108575b600080fd5b34801561005d57600080fd5b506100c66004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610155565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561011457600080fd5b506101376004803603810190808035600019169060200190929190505050610176565b60405180826000191660001916815260200191505060405180910390f35b600061016e82846000191661018c90919063ffffffff16565b905092915050565b60006101858260001916610284565b9050919050565b600080600080604185511415156101a6576000935061027b565b6020850151925060408501519150606085015160001a9050601b8160ff1610156101d157601b810190505b601b8160ff16141580156101e95750601c8160ff1614155b156101f7576000935061027b565b600186828585604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af115801561026e573d6000803e3d6000fd5b5050506020604051035193505b50505092915050565b60008160405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018260001916600019168152602001915050604051809103902090509190505600a165627a7a7230582008e1ce9b88d2131767a3798b1750e5a2312151a1f1a549eabfbd3cc3d8c6bdc90029", - "deployedBytecode": "0x60806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806319045a2514610051578063918a15cf14610108575b600080fd5b34801561005d57600080fd5b506100c66004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610155565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561011457600080fd5b506101376004803603810190808035600019169060200190929190505050610176565b60405180826000191660001916815260200191505060405180910390f35b600061016e82846000191661018c90919063ffffffff16565b905092915050565b60006101858260001916610284565b9050919050565b600080600080604185511415156101a6576000935061027b565b6020850151925060408501519150606085015160001a9050601b8160ff1610156101d157601b810190505b601b8160ff16141580156101e95750601c8160ff1614155b156101f7576000935061027b565b600186828585604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af115801561026e573d6000803e3d6000fd5b5050506020604051035193505b50505092915050565b60008160405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018260001916600019168152602001915050604051809103902090509190505600a165627a7a7230582008e1ce9b88d2131767a3798b1750e5a2312151a1f1a549eabfbd3cc3d8c6bdc90029", - "sourceMap": "57:325:11:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;57:325:11;;;;;;;", - "deployedSourceMap": "57:325:11:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;118:121;;8:9:-1;5:2;;;30:1;27;20:12;5:2;118:121:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;243:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;243:137:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;118:121;193:7;217:17;230:3;217:4;:12;;;;;:17;;;;:::i;:::-;210:24;;118:121;;;;:::o;243:137::-;322:7;346:29;:4;:27;;;;:29::i;:::-;339:36;;243:137;;;:::o;607:932:1:-;684:7;701:9;716;731:7;797:2;783:3;:10;:16;;779:56;;;825:1;809:19;;;;779:56;1105:2;1100:3;1096:12;1090:19;1085:24;;1136:2;1131:3;1127:12;1121:19;1116:24;;1175:2;1170:3;1166:12;1160:19;1157:1;1152:28;1147:33;;1287:2;1283:1;:6;;;1279:34;;;1304:2;1299:7;;;;1279:34;1387:2;1382:1;:7;;;;:18;;;;;1398:2;1393:1;:7;;;;1382:18;1378:157;;;1426:1;1410:19;;;;1378:157;1504:24;1514:4;1520:1;1523;1526;1504:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1504:24:1;;;;;;;;1497:31;;607:932;;;;;;;;:::o;1682:265::-;1763:7;1932:4;1873:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:76;;1682:265;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b506102ff806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806319045a2514610051578063918a15cf14610108575b600080fd5b34801561005d57600080fd5b506100c66004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610155565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561011457600080fd5b506101376004803603810190808035600019169060200190929190505050610176565b60405180826000191660001916815260200191505060405180910390f35b600061016e82846000191661018c90919063ffffffff16565b905092915050565b60006101858260001916610284565b9050919050565b600080600080604185511415156101a6576000935061027b565b6020850151925060408501519150606085015160001a9050601b8160ff1610156101d157601b810190505b601b8160ff16141580156101e95750601c8160ff1614155b156101f7576000935061027b565b600186828585604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af115801561026e573d6000803e3d6000fd5b5050506020604051035193505b50505092915050565b60008160405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018260001916600019168152602001915050604051809103902090509190505600a165627a7a72305820a2769dc8e9f4d5a3a8282cfccab7c4c57ba118fcfa7361272fd31b68b0f6cd850029", + "deployedBytecode": "0x60806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806319045a2514610051578063918a15cf14610108575b600080fd5b34801561005d57600080fd5b506100c66004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610155565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561011457600080fd5b506101376004803603810190808035600019169060200190929190505050610176565b60405180826000191660001916815260200191505060405180910390f35b600061016e82846000191661018c90919063ffffffff16565b905092915050565b60006101858260001916610284565b9050919050565b600080600080604185511415156101a6576000935061027b565b6020850151925060408501519150606085015160001a9050601b8160ff1610156101d157601b810190505b601b8160ff16141580156101e95750601c8160ff1614155b156101f7576000935061027b565b600186828585604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af115801561026e573d6000803e3d6000fd5b5050506020604051035193505b50505092915050565b60008160405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018260001916600019168152602001915050604051809103902090509190505600a165627a7a72305820a2769dc8e9f4d5a3a8282cfccab7c4c57ba118fcfa7361272fd31b68b0f6cd850029", + "sourceMap": "57:325:13:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;57:325:13;;;;;;;", + "deployedSourceMap": "57:325:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;118:121;;8:9:-1;5:2;;;30:1;27;20:12;5:2;118:121:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;243:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;243:137:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;118:121;193:7;217:17;230:3;217:4;:12;;;;;:17;;;;:::i;:::-;210:24;;118:121;;;;:::o;243:137::-;322:7;346:29;:4;:27;;;;:29::i;:::-;339:36;;243:137;;;:::o;607:932:1:-;684:7;701:9;716;731:7;797:2;783:3;:10;:16;;779:56;;;825:1;809:19;;;;779:56;1105:2;1100:3;1096:12;1090:19;1085:24;;1136:2;1131:3;1127:12;1121:19;1116:24;;1175:2;1170:3;1166:12;1160:19;1157:1;1152:28;1147:33;;1287:2;1283:1;:6;;;1279:34;;;1304:2;1299:7;;;;1279:34;1387:2;1382:1;:7;;;;:18;;;;;1398:2;1393:1;:7;;;;1382:18;1378:157;;;1426:1;1410:19;;;;1378:157;1504:24;1514:4;1520:1;1523;1526;1504:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1504:24:1;;;;;;;;1497:31;;607:932;;;;;;;;:::o;1682:265::-;1763:7;1932:4;1873:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:76;;1682:265;;;:::o", "source": "pragma solidity ^0.4.21;\n\n\nimport \"../ECRecovery.sol\";\n\n\ncontract ECRecoveryMock {\n using ECRecovery for bytes32;\n\n function recover(bytes32 hash, bytes sig)\n public\n pure\n returns (address)\n {\n return hash.recover(sig);\n }\n\n function toEthSignedMessageHash(bytes32 hash)\n public\n pure\n returns (bytes32)\n {\n return hash.toEthSignedMessageHash();\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/ECRecoveryMock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/ECRecoveryMock.sol", "exportedSymbols": { "ECRecoveryMock": [ - 691 + 734 ] }, - "id": 692, + "id": 735, "nodeType": "SourceUnit", "nodes": [ { - "id": 659, + "id": 702, "literals": [ "solidity", "^", @@ -69,16 +69,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:11" + "src": "0:24:13" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ECRecovery.sol", "file": "../ECRecovery.sol", - "id": 660, + "id": 703, "nodeType": "ImportDirective", - "scope": 692, + "scope": 735, "sourceUnit": 97, - "src": "27:27:11", + "src": "27:27:13", "symbolAliases": [], "unitAlias": "" }, @@ -88,34 +88,34 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 691, + "id": 734, "linearizedBaseContracts": [ - 691 + 734 ], "name": "ECRecoveryMock", "nodeType": "ContractDefinition", "nodes": [ { - "id": 663, + "id": 706, "libraryName": { "contractScope": null, - "id": 661, + "id": 704, "name": "ECRecovery", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 96, - "src": "91:10:11", + "src": "91:10:13", "typeDescriptions": { "typeIdentifier": "t_contract$_ECRecovery_$96", "typeString": "library ECRecovery" } }, "nodeType": "UsingForDirective", - "src": "85:29:11", + "src": "85:29:13", "typeName": { - "id": 662, + "id": 705, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "106:7:11", + "src": "106:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -124,9 +124,9 @@ }, { "body": { - "id": 677, + "id": 720, "nodeType": "Block", - "src": "204:35:11", + "src": "204:35:13", "statements": [ { "expression": { @@ -134,12 +134,12 @@ "arguments": [ { "argumentTypes": null, - "id": 674, + "id": 717, "name": "sig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 667, - "src": "230:3:11", + "referencedDeclaration": 710, + "src": "230:3:13", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -155,18 +155,18 @@ ], "expression": { "argumentTypes": null, - "id": 672, + "id": 715, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 665, - "src": "217:4:11", + "referencedDeclaration": 708, + "src": "217:4:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 673, + "id": 716, "isConstant": false, "isLValue": false, "isPure": false, @@ -174,13 +174,13 @@ "memberName": "recover", "nodeType": "MemberAccess", "referencedDeclaration": 82, - "src": "217:12:11", + "src": "217:12:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$bound_to$_t_bytes32_$", "typeString": "function (bytes32,bytes memory) pure returns (address)" } }, - "id": 675, + "id": 718, "isConstant": false, "isLValue": false, "isPure": false, @@ -188,21 +188,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "217:17:11", + "src": "217:17:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 671, - "id": 676, + "functionReturnParameters": 714, + "id": 719, "nodeType": "Return", - "src": "210:24:11" + "src": "210:24:13" } ] }, "documentation": null, - "id": 678, + "id": 721, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -210,16 +210,16 @@ "name": "recover", "nodeType": "FunctionDefinition", "parameters": { - "id": 668, + "id": 711, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 665, + "id": 708, "name": "hash", "nodeType": "VariableDeclaration", - "scope": 678, - "src": "135:12:11", + "scope": 721, + "src": "135:12:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -227,10 +227,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 664, + "id": 707, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "135:7:11", + "src": "135:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -241,11 +241,11 @@ }, { "constant": false, - "id": 667, + "id": 710, "name": "sig", "nodeType": "VariableDeclaration", - "scope": 678, - "src": "149:9:11", + "scope": 721, + "src": "149:9:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -253,10 +253,10 @@ "typeString": "bytes" }, "typeName": { - "id": 666, + "id": 709, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "149:5:11", + "src": "149:5:13", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -266,20 +266,20 @@ "visibility": "internal" } ], - "src": "134:25:11" + "src": "134:25:13" }, "payable": false, "returnParameters": { - "id": 671, + "id": 714, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 670, + "id": 713, "name": "", "nodeType": "VariableDeclaration", - "scope": 678, - "src": "193:7:11", + "scope": 721, + "src": "193:7:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -287,10 +287,10 @@ "typeString": "address" }, "typeName": { - "id": 669, + "id": 712, "name": "address", "nodeType": "ElementaryTypeName", - "src": "193:7:11", + "src": "193:7:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -300,19 +300,19 @@ "visibility": "internal" } ], - "src": "192:9:11" + "src": "192:9:13" }, - "scope": 691, - "src": "118:121:11", + "scope": 734, + "src": "118:121:13", "stateMutability": "pure", "superFunction": null, "visibility": "public" }, { "body": { - "id": 689, + "id": 732, "nodeType": "Block", - "src": "333:47:11", + "src": "333:47:13", "statements": [ { "expression": { @@ -322,18 +322,18 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 685, + "id": 728, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "346:4:11", + "referencedDeclaration": 723, + "src": "346:4:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 686, + "id": 729, "isConstant": false, "isLValue": false, "isPure": false, @@ -341,13 +341,13 @@ "memberName": "toEthSignedMessageHash", "nodeType": "MemberAccess", "referencedDeclaration": 95, - "src": "346:27:11", + "src": "346:27:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$bound_to$_t_bytes32_$", "typeString": "function (bytes32) pure returns (bytes32)" } }, - "id": 687, + "id": 730, "isConstant": false, "isLValue": false, "isPure": false, @@ -355,21 +355,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "346:29:11", + "src": "346:29:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 684, - "id": 688, + "functionReturnParameters": 727, + "id": 731, "nodeType": "Return", - "src": "339:36:11" + "src": "339:36:13" } ] }, "documentation": null, - "id": 690, + "id": 733, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -377,16 +377,16 @@ "name": "toEthSignedMessageHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 681, + "id": 724, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 680, + "id": 723, "name": "hash", "nodeType": "VariableDeclaration", - "scope": 690, - "src": "275:12:11", + "scope": 733, + "src": "275:12:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -394,10 +394,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 679, + "id": 722, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "275:7:11", + "src": "275:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -407,20 +407,20 @@ "visibility": "internal" } ], - "src": "274:14:11" + "src": "274:14:13" }, "payable": false, "returnParameters": { - "id": 684, + "id": 727, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 683, + "id": 726, "name": "", "nodeType": "VariableDeclaration", - "scope": 690, - "src": "322:7:11", + "scope": 733, + "src": "322:7:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -428,10 +428,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 682, + "id": 725, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "322:7:11", + "src": "322:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -441,33 +441,33 @@ "visibility": "internal" } ], - "src": "321:9:11" + "src": "321:9:13" }, - "scope": 691, - "src": "243:137:11", + "scope": 734, + "src": "243:137:13", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], - "scope": 692, - "src": "57:325:11" + "scope": 735, + "src": "57:325:13" } ], - "src": "0:383:11" + "src": "0:383:13" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/ECRecoveryMock.sol", "exportedSymbols": { "ECRecoveryMock": [ - 691 + 734 ] }, - "id": 692, + "id": 735, "nodeType": "SourceUnit", "nodes": [ { - "id": 659, + "id": 702, "literals": [ "solidity", "^", @@ -475,16 +475,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:11" + "src": "0:24:13" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ECRecovery.sol", "file": "../ECRecovery.sol", - "id": 660, + "id": 703, "nodeType": "ImportDirective", - "scope": 692, + "scope": 735, "sourceUnit": 97, - "src": "27:27:11", + "src": "27:27:13", "symbolAliases": [], "unitAlias": "" }, @@ -494,34 +494,34 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 691, + "id": 734, "linearizedBaseContracts": [ - 691 + 734 ], "name": "ECRecoveryMock", "nodeType": "ContractDefinition", "nodes": [ { - "id": 663, + "id": 706, "libraryName": { "contractScope": null, - "id": 661, + "id": 704, "name": "ECRecovery", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 96, - "src": "91:10:11", + "src": "91:10:13", "typeDescriptions": { "typeIdentifier": "t_contract$_ECRecovery_$96", "typeString": "library ECRecovery" } }, "nodeType": "UsingForDirective", - "src": "85:29:11", + "src": "85:29:13", "typeName": { - "id": 662, + "id": 705, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "106:7:11", + "src": "106:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -530,9 +530,9 @@ }, { "body": { - "id": 677, + "id": 720, "nodeType": "Block", - "src": "204:35:11", + "src": "204:35:13", "statements": [ { "expression": { @@ -540,12 +540,12 @@ "arguments": [ { "argumentTypes": null, - "id": 674, + "id": 717, "name": "sig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 667, - "src": "230:3:11", + "referencedDeclaration": 710, + "src": "230:3:13", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -561,18 +561,18 @@ ], "expression": { "argumentTypes": null, - "id": 672, + "id": 715, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 665, - "src": "217:4:11", + "referencedDeclaration": 708, + "src": "217:4:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 673, + "id": 716, "isConstant": false, "isLValue": false, "isPure": false, @@ -580,13 +580,13 @@ "memberName": "recover", "nodeType": "MemberAccess", "referencedDeclaration": 82, - "src": "217:12:11", + "src": "217:12:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$bound_to$_t_bytes32_$", "typeString": "function (bytes32,bytes memory) pure returns (address)" } }, - "id": 675, + "id": 718, "isConstant": false, "isLValue": false, "isPure": false, @@ -594,21 +594,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "217:17:11", + "src": "217:17:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 671, - "id": 676, + "functionReturnParameters": 714, + "id": 719, "nodeType": "Return", - "src": "210:24:11" + "src": "210:24:13" } ] }, "documentation": null, - "id": 678, + "id": 721, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -616,16 +616,16 @@ "name": "recover", "nodeType": "FunctionDefinition", "parameters": { - "id": 668, + "id": 711, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 665, + "id": 708, "name": "hash", "nodeType": "VariableDeclaration", - "scope": 678, - "src": "135:12:11", + "scope": 721, + "src": "135:12:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -633,10 +633,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 664, + "id": 707, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "135:7:11", + "src": "135:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -647,11 +647,11 @@ }, { "constant": false, - "id": 667, + "id": 710, "name": "sig", "nodeType": "VariableDeclaration", - "scope": 678, - "src": "149:9:11", + "scope": 721, + "src": "149:9:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -659,10 +659,10 @@ "typeString": "bytes" }, "typeName": { - "id": 666, + "id": 709, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "149:5:11", + "src": "149:5:13", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -672,20 +672,20 @@ "visibility": "internal" } ], - "src": "134:25:11" + "src": "134:25:13" }, "payable": false, "returnParameters": { - "id": 671, + "id": 714, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 670, + "id": 713, "name": "", "nodeType": "VariableDeclaration", - "scope": 678, - "src": "193:7:11", + "scope": 721, + "src": "193:7:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -693,10 +693,10 @@ "typeString": "address" }, "typeName": { - "id": 669, + "id": 712, "name": "address", "nodeType": "ElementaryTypeName", - "src": "193:7:11", + "src": "193:7:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -706,19 +706,19 @@ "visibility": "internal" } ], - "src": "192:9:11" + "src": "192:9:13" }, - "scope": 691, - "src": "118:121:11", + "scope": 734, + "src": "118:121:13", "stateMutability": "pure", "superFunction": null, "visibility": "public" }, { "body": { - "id": 689, + "id": 732, "nodeType": "Block", - "src": "333:47:11", + "src": "333:47:13", "statements": [ { "expression": { @@ -728,18 +728,18 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 685, + "id": 728, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "346:4:11", + "referencedDeclaration": 723, + "src": "346:4:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 686, + "id": 729, "isConstant": false, "isLValue": false, "isPure": false, @@ -747,13 +747,13 @@ "memberName": "toEthSignedMessageHash", "nodeType": "MemberAccess", "referencedDeclaration": 95, - "src": "346:27:11", + "src": "346:27:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$bound_to$_t_bytes32_$", "typeString": "function (bytes32) pure returns (bytes32)" } }, - "id": 687, + "id": 730, "isConstant": false, "isLValue": false, "isPure": false, @@ -761,21 +761,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "346:29:11", + "src": "346:29:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 684, - "id": 688, + "functionReturnParameters": 727, + "id": 731, "nodeType": "Return", - "src": "339:36:11" + "src": "339:36:13" } ] }, "documentation": null, - "id": 690, + "id": 733, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -783,16 +783,16 @@ "name": "toEthSignedMessageHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 681, + "id": 724, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 680, + "id": 723, "name": "hash", "nodeType": "VariableDeclaration", - "scope": 690, - "src": "275:12:11", + "scope": 733, + "src": "275:12:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -800,10 +800,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 679, + "id": 722, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "275:7:11", + "src": "275:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -813,20 +813,20 @@ "visibility": "internal" } ], - "src": "274:14:11" + "src": "274:14:13" }, "payable": false, "returnParameters": { - "id": 684, + "id": 727, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 683, + "id": 726, "name": "", "nodeType": "VariableDeclaration", - "scope": 690, - "src": "322:7:11", + "scope": 733, + "src": "322:7:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -834,10 +834,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 682, + "id": 725, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "322:7:11", + "src": "322:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -847,26 +847,26 @@ "visibility": "internal" } ], - "src": "321:9:11" + "src": "321:9:13" }, - "scope": 691, - "src": "243:137:11", + "scope": 734, + "src": "243:137:13", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], - "scope": 692, - "src": "57:325:11" + "scope": 735, + "src": "57:325:13" } ], - "src": "0:383:11" + "src": "0:383:13" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.617Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.204Z" } \ No newline at end of file diff --git a/build/contracts/ERC20.json b/build/contracts/ERC20.json index 8086b6dca..9b241c186 100644 --- a/build/contracts/ERC20.json +++ b/build/contracts/ERC20.json @@ -185,14 +185,14 @@ "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20.sol", "exportedSymbols": { "ERC20": [ - 2479 + 2527 ] }, - "id": 2480, + "id": 2528, "nodeType": "SourceUnit", "nodes": [ { - "id": 2438, + "id": 2486, "literals": [ "solidity", "^", @@ -200,16 +200,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:36" + "src": "0:24:38" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20Basic.sol", "file": "./ERC20Basic.sol", - "id": 2439, + "id": 2487, "nodeType": "ImportDirective", - "scope": 2480, - "sourceUnit": 2512, - "src": "26:26:36", + "scope": 2528, + "sourceUnit": 2560, + "src": "26:26:38", "symbolAliases": [], "unitAlias": "" }, @@ -219,31 +219,31 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2440, + "id": 2488, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "162:10:36", + "referencedDeclaration": 2559, + "src": "162:10:38", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 2441, + "id": 2489, "nodeType": "InheritanceSpecifier", - "src": "162:10:36" + "src": "162:10:38" } ], "contractDependencies": [ - 2511 + 2559 ], "contractKind": "contract", "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", "fullyImplemented": false, - "id": 2479, + "id": 2527, "linearizedBaseContracts": [ - 2479, - 2511 + 2527, + 2559 ], "name": "ERC20", "nodeType": "ContractDefinition", @@ -251,7 +251,7 @@ { "body": null, "documentation": null, - "id": 2450, + "id": 2498, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -259,16 +259,16 @@ "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 2446, + "id": 2494, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2443, + "id": 2491, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 2450, - "src": "196:13:36", + "scope": 2498, + "src": "196:13:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -276,10 +276,10 @@ "typeString": "address" }, "typeName": { - "id": 2442, + "id": 2490, "name": "address", "nodeType": "ElementaryTypeName", - "src": "196:7:36", + "src": "196:7:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -290,11 +290,11 @@ }, { "constant": false, - "id": 2445, + "id": 2493, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 2450, - "src": "211:15:36", + "scope": 2498, + "src": "211:15:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -302,10 +302,10 @@ "typeString": "address" }, "typeName": { - "id": 2444, + "id": 2492, "name": "address", "nodeType": "ElementaryTypeName", - "src": "211:7:36", + "src": "211:7:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -315,20 +315,20 @@ "visibility": "internal" } ], - "src": "195:32:36" + "src": "195:32:38" }, "payable": false, "returnParameters": { - "id": 2449, + "id": 2497, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2448, + "id": 2496, "name": "", "nodeType": "VariableDeclaration", - "scope": 2450, - "src": "249:7:36", + "scope": 2498, + "src": "249:7:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -336,10 +336,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2447, + "id": 2495, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "249:7:36", + "src": "249:7:38", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -349,10 +349,10 @@ "visibility": "internal" } ], - "src": "248:9:36" + "src": "248:9:38" }, - "scope": 2479, - "src": "177:81:36", + "scope": 2527, + "src": "177:81:38", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -360,7 +360,7 @@ { "body": null, "documentation": null, - "id": 2461, + "id": 2509, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -368,16 +368,16 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 2457, + "id": 2505, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2452, + "id": 2500, "name": "from", "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "283:12:36", + "scope": 2509, + "src": "283:12:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -385,10 +385,10 @@ "typeString": "address" }, "typeName": { - "id": 2451, + "id": 2499, "name": "address", "nodeType": "ElementaryTypeName", - "src": "283:7:36", + "src": "283:7:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -399,11 +399,11 @@ }, { "constant": false, - "id": 2454, + "id": 2502, "name": "to", "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "297:10:36", + "scope": 2509, + "src": "297:10:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -411,10 +411,10 @@ "typeString": "address" }, "typeName": { - "id": 2453, + "id": 2501, "name": "address", "nodeType": "ElementaryTypeName", - "src": "297:7:36", + "src": "297:7:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -425,11 +425,11 @@ }, { "constant": false, - "id": 2456, + "id": 2504, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "309:13:36", + "scope": 2509, + "src": "309:13:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -437,10 +437,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2455, + "id": 2503, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "309:7:36", + "src": "309:7:38", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -450,20 +450,20 @@ "visibility": "internal" } ], - "src": "282:41:36" + "src": "282:41:38" }, "payable": false, "returnParameters": { - "id": 2460, + "id": 2508, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2459, + "id": 2507, "name": "", "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "340:4:36", + "scope": 2509, + "src": "340:4:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -471,10 +471,10 @@ "typeString": "bool" }, "typeName": { - "id": 2458, + "id": 2506, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "340:4:36", + "src": "340:4:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -484,10 +484,10 @@ "visibility": "internal" } ], - "src": "339:6:36" + "src": "339:6:38" }, - "scope": 2479, - "src": "261:85:36", + "scope": 2527, + "src": "261:85:38", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -495,7 +495,7 @@ { "body": null, "documentation": null, - "id": 2470, + "id": 2518, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -503,16 +503,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 2466, + "id": 2514, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2463, + "id": 2511, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 2470, - "src": "366:15:36", + "scope": 2518, + "src": "366:15:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -520,10 +520,10 @@ "typeString": "address" }, "typeName": { - "id": 2462, + "id": 2510, "name": "address", "nodeType": "ElementaryTypeName", - "src": "366:7:36", + "src": "366:7:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -534,11 +534,11 @@ }, { "constant": false, - "id": 2465, + "id": 2513, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2470, - "src": "383:13:36", + "scope": 2518, + "src": "383:13:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -546,10 +546,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2464, + "id": 2512, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "383:7:36", + "src": "383:7:38", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -559,20 +559,20 @@ "visibility": "internal" } ], - "src": "365:32:36" + "src": "365:32:38" }, "payable": false, "returnParameters": { - "id": 2469, + "id": 2517, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2468, + "id": 2516, "name": "", "nodeType": "VariableDeclaration", - "scope": 2470, - "src": "414:4:36", + "scope": 2518, + "src": "414:4:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -580,10 +580,10 @@ "typeString": "bool" }, "typeName": { - "id": 2467, + "id": 2515, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "414:4:36", + "src": "414:4:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -593,10 +593,10 @@ "visibility": "internal" } ], - "src": "413:6:36" + "src": "413:6:38" }, - "scope": 2479, - "src": "349:71:36", + "scope": 2527, + "src": "349:71:38", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -604,21 +604,21 @@ { "anonymous": false, "documentation": null, - "id": 2478, + "id": 2526, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 2477, + "id": 2525, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2472, + "id": 2520, "indexed": true, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 2478, - "src": "438:21:36", + "scope": 2526, + "src": "438:21:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -626,10 +626,10 @@ "typeString": "address" }, "typeName": { - "id": 2471, + "id": 2519, "name": "address", "nodeType": "ElementaryTypeName", - "src": "438:7:36", + "src": "438:7:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -640,12 +640,12 @@ }, { "constant": false, - "id": 2474, + "id": 2522, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 2478, - "src": "461:23:36", + "scope": 2526, + "src": "461:23:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -653,10 +653,10 @@ "typeString": "address" }, "typeName": { - "id": 2473, + "id": 2521, "name": "address", "nodeType": "ElementaryTypeName", - "src": "461:7:36", + "src": "461:7:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -667,12 +667,12 @@ }, { "constant": false, - "id": 2476, + "id": 2524, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2478, - "src": "486:13:36", + "scope": 2526, + "src": "486:13:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -680,10 +680,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2475, + "id": 2523, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "486:7:36", + "src": "486:7:38", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -693,29 +693,29 @@ "visibility": "internal" } ], - "src": "437:63:36" + "src": "437:63:38" }, - "src": "423:78:36" + "src": "423:78:38" } ], - "scope": 2480, - "src": "144:359:36" + "scope": 2528, + "src": "144:359:38" } ], - "src": "0:504:36" + "src": "0:504:38" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20.sol", "exportedSymbols": { "ERC20": [ - 2479 + 2527 ] }, - "id": 2480, + "id": 2528, "nodeType": "SourceUnit", "nodes": [ { - "id": 2438, + "id": 2486, "literals": [ "solidity", "^", @@ -723,16 +723,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:36" + "src": "0:24:38" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20Basic.sol", "file": "./ERC20Basic.sol", - "id": 2439, + "id": 2487, "nodeType": "ImportDirective", - "scope": 2480, - "sourceUnit": 2512, - "src": "26:26:36", + "scope": 2528, + "sourceUnit": 2560, + "src": "26:26:38", "symbolAliases": [], "unitAlias": "" }, @@ -742,31 +742,31 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2440, + "id": 2488, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "162:10:36", + "referencedDeclaration": 2559, + "src": "162:10:38", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 2441, + "id": 2489, "nodeType": "InheritanceSpecifier", - "src": "162:10:36" + "src": "162:10:38" } ], "contractDependencies": [ - 2511 + 2559 ], "contractKind": "contract", "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", "fullyImplemented": false, - "id": 2479, + "id": 2527, "linearizedBaseContracts": [ - 2479, - 2511 + 2527, + 2559 ], "name": "ERC20", "nodeType": "ContractDefinition", @@ -774,7 +774,7 @@ { "body": null, "documentation": null, - "id": 2450, + "id": 2498, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -782,16 +782,16 @@ "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 2446, + "id": 2494, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2443, + "id": 2491, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 2450, - "src": "196:13:36", + "scope": 2498, + "src": "196:13:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -799,10 +799,10 @@ "typeString": "address" }, "typeName": { - "id": 2442, + "id": 2490, "name": "address", "nodeType": "ElementaryTypeName", - "src": "196:7:36", + "src": "196:7:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -813,11 +813,11 @@ }, { "constant": false, - "id": 2445, + "id": 2493, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 2450, - "src": "211:15:36", + "scope": 2498, + "src": "211:15:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -825,10 +825,10 @@ "typeString": "address" }, "typeName": { - "id": 2444, + "id": 2492, "name": "address", "nodeType": "ElementaryTypeName", - "src": "211:7:36", + "src": "211:7:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -838,20 +838,20 @@ "visibility": "internal" } ], - "src": "195:32:36" + "src": "195:32:38" }, "payable": false, "returnParameters": { - "id": 2449, + "id": 2497, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2448, + "id": 2496, "name": "", "nodeType": "VariableDeclaration", - "scope": 2450, - "src": "249:7:36", + "scope": 2498, + "src": "249:7:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -859,10 +859,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2447, + "id": 2495, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "249:7:36", + "src": "249:7:38", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -872,10 +872,10 @@ "visibility": "internal" } ], - "src": "248:9:36" + "src": "248:9:38" }, - "scope": 2479, - "src": "177:81:36", + "scope": 2527, + "src": "177:81:38", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -883,7 +883,7 @@ { "body": null, "documentation": null, - "id": 2461, + "id": 2509, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -891,16 +891,16 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 2457, + "id": 2505, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2452, + "id": 2500, "name": "from", "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "283:12:36", + "scope": 2509, + "src": "283:12:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -908,10 +908,10 @@ "typeString": "address" }, "typeName": { - "id": 2451, + "id": 2499, "name": "address", "nodeType": "ElementaryTypeName", - "src": "283:7:36", + "src": "283:7:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -922,11 +922,11 @@ }, { "constant": false, - "id": 2454, + "id": 2502, "name": "to", "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "297:10:36", + "scope": 2509, + "src": "297:10:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -934,10 +934,10 @@ "typeString": "address" }, "typeName": { - "id": 2453, + "id": 2501, "name": "address", "nodeType": "ElementaryTypeName", - "src": "297:7:36", + "src": "297:7:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -948,11 +948,11 @@ }, { "constant": false, - "id": 2456, + "id": 2504, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "309:13:36", + "scope": 2509, + "src": "309:13:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -960,10 +960,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2455, + "id": 2503, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "309:7:36", + "src": "309:7:38", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -973,20 +973,20 @@ "visibility": "internal" } ], - "src": "282:41:36" + "src": "282:41:38" }, "payable": false, "returnParameters": { - "id": 2460, + "id": 2508, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2459, + "id": 2507, "name": "", "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "340:4:36", + "scope": 2509, + "src": "340:4:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -994,10 +994,10 @@ "typeString": "bool" }, "typeName": { - "id": 2458, + "id": 2506, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "340:4:36", + "src": "340:4:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1007,10 +1007,10 @@ "visibility": "internal" } ], - "src": "339:6:36" + "src": "339:6:38" }, - "scope": 2479, - "src": "261:85:36", + "scope": 2527, + "src": "261:85:38", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -1018,7 +1018,7 @@ { "body": null, "documentation": null, - "id": 2470, + "id": 2518, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -1026,16 +1026,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 2466, + "id": 2514, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2463, + "id": 2511, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 2470, - "src": "366:15:36", + "scope": 2518, + "src": "366:15:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1043,10 +1043,10 @@ "typeString": "address" }, "typeName": { - "id": 2462, + "id": 2510, "name": "address", "nodeType": "ElementaryTypeName", - "src": "366:7:36", + "src": "366:7:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1057,11 +1057,11 @@ }, { "constant": false, - "id": 2465, + "id": 2513, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2470, - "src": "383:13:36", + "scope": 2518, + "src": "383:13:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1069,10 +1069,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2464, + "id": 2512, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "383:7:36", + "src": "383:7:38", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1082,20 +1082,20 @@ "visibility": "internal" } ], - "src": "365:32:36" + "src": "365:32:38" }, "payable": false, "returnParameters": { - "id": 2469, + "id": 2517, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2468, + "id": 2516, "name": "", "nodeType": "VariableDeclaration", - "scope": 2470, - "src": "414:4:36", + "scope": 2518, + "src": "414:4:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1103,10 +1103,10 @@ "typeString": "bool" }, "typeName": { - "id": 2467, + "id": 2515, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "414:4:36", + "src": "414:4:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1116,10 +1116,10 @@ "visibility": "internal" } ], - "src": "413:6:36" + "src": "413:6:38" }, - "scope": 2479, - "src": "349:71:36", + "scope": 2527, + "src": "349:71:38", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -1127,21 +1127,21 @@ { "anonymous": false, "documentation": null, - "id": 2478, + "id": 2526, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 2477, + "id": 2525, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2472, + "id": 2520, "indexed": true, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 2478, - "src": "438:21:36", + "scope": 2526, + "src": "438:21:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1149,10 +1149,10 @@ "typeString": "address" }, "typeName": { - "id": 2471, + "id": 2519, "name": "address", "nodeType": "ElementaryTypeName", - "src": "438:7:36", + "src": "438:7:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1163,12 +1163,12 @@ }, { "constant": false, - "id": 2474, + "id": 2522, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 2478, - "src": "461:23:36", + "scope": 2526, + "src": "461:23:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1176,10 +1176,10 @@ "typeString": "address" }, "typeName": { - "id": 2473, + "id": 2521, "name": "address", "nodeType": "ElementaryTypeName", - "src": "461:7:36", + "src": "461:7:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1190,12 +1190,12 @@ }, { "constant": false, - "id": 2476, + "id": 2524, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2478, - "src": "486:13:36", + "scope": 2526, + "src": "486:13:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1203,10 +1203,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2475, + "id": 2523, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "486:7:36", + "src": "486:7:38", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1216,22 +1216,22 @@ "visibility": "internal" } ], - "src": "437:63:36" + "src": "437:63:38" }, - "src": "423:78:36" + "src": "423:78:38" } ], - "scope": 2480, - "src": "144:359:36" + "scope": 2528, + "src": "144:359:38" } ], - "src": "0:504:36" + "src": "0:504:38" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.639Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.213Z" } \ No newline at end of file diff --git a/build/contracts/ERC20Basic.json b/build/contracts/ERC20Basic.json index 6ea0097b9..c9d23c08d 100644 --- a/build/contracts/ERC20Basic.json +++ b/build/contracts/ERC20Basic.json @@ -90,14 +90,14 @@ "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20Basic.sol", "exportedSymbols": { "ERC20Basic": [ - 2511 + 2559 ] }, - "id": 2512, + "id": 2560, "nodeType": "SourceUnit", "nodes": [ { - "id": 2481, + "id": 2529, "literals": [ "solidity", "^", @@ -105,7 +105,7 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:37" + "src": "0:24:39" }, { "baseContracts": [], @@ -113,9 +113,9 @@ "contractKind": "contract", "documentation": "@title ERC20Basic\n@dev Simpler version of ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/179", "fullyImplemented": false, - "id": 2511, + "id": 2559, "linearizedBaseContracts": [ - 2511 + 2559 ], "name": "ERC20Basic", "nodeType": "ContractDefinition", @@ -123,7 +123,7 @@ { "body": null, "documentation": null, - "id": 2486, + "id": 2534, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -131,23 +131,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 2482, + "id": 2530, "nodeType": "ParameterList", "parameters": [], - "src": "199:2:37" + "src": "199:2:39" }, "payable": false, "returnParameters": { - "id": 2485, + "id": 2533, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2484, + "id": 2532, "name": "", "nodeType": "VariableDeclaration", - "scope": 2486, - "src": "223:7:37", + "scope": 2534, + "src": "223:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -155,10 +155,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2483, + "id": 2531, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "223:7:37", + "src": "223:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -168,10 +168,10 @@ "visibility": "internal" } ], - "src": "222:9:37" + "src": "222:9:39" }, - "scope": 2511, - "src": "179:53:37", + "scope": 2559, + "src": "179:53:39", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -179,7 +179,7 @@ { "body": null, "documentation": null, - "id": 2493, + "id": 2541, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -187,16 +187,16 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 2489, + "id": 2537, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2488, + "id": 2536, "name": "who", "nodeType": "VariableDeclaration", - "scope": 2493, - "src": "254:11:37", + "scope": 2541, + "src": "254:11:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -204,10 +204,10 @@ "typeString": "address" }, "typeName": { - "id": 2487, + "id": 2535, "name": "address", "nodeType": "ElementaryTypeName", - "src": "254:7:37", + "src": "254:7:39", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -217,20 +217,20 @@ "visibility": "internal" } ], - "src": "253:13:37" + "src": "253:13:39" }, "payable": false, "returnParameters": { - "id": 2492, + "id": 2540, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2491, + "id": 2539, "name": "", "nodeType": "VariableDeclaration", - "scope": 2493, - "src": "288:7:37", + "scope": 2541, + "src": "288:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -238,10 +238,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2490, + "id": 2538, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "288:7:37", + "src": "288:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -251,10 +251,10 @@ "visibility": "internal" } ], - "src": "287:9:37" + "src": "287:9:39" }, - "scope": 2511, - "src": "235:62:37", + "scope": 2559, + "src": "235:62:39", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -262,7 +262,7 @@ { "body": null, "documentation": null, - "id": 2502, + "id": 2550, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -270,16 +270,16 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 2498, + "id": 2546, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2495, + "id": 2543, "name": "to", "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "318:10:37", + "scope": 2550, + "src": "318:10:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -287,10 +287,10 @@ "typeString": "address" }, "typeName": { - "id": 2494, + "id": 2542, "name": "address", "nodeType": "ElementaryTypeName", - "src": "318:7:37", + "src": "318:7:39", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -301,11 +301,11 @@ }, { "constant": false, - "id": 2497, + "id": 2545, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "330:13:37", + "scope": 2550, + "src": "330:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -313,10 +313,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2496, + "id": 2544, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "330:7:37", + "src": "330:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -326,20 +326,20 @@ "visibility": "internal" } ], - "src": "317:27:37" + "src": "317:27:39" }, "payable": false, "returnParameters": { - "id": 2501, + "id": 2549, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2500, + "id": 2548, "name": "", "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "361:4:37", + "scope": 2550, + "src": "361:4:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -347,10 +347,10 @@ "typeString": "bool" }, "typeName": { - "id": 2499, + "id": 2547, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "361:4:37", + "src": "361:4:39", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -360,10 +360,10 @@ "visibility": "internal" } ], - "src": "360:6:37" + "src": "360:6:39" }, - "scope": 2511, - "src": "300:67:37", + "scope": 2559, + "src": "300:67:39", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -371,21 +371,21 @@ { "anonymous": false, "documentation": null, - "id": 2510, + "id": 2558, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 2509, + "id": 2557, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2504, + "id": 2552, "indexed": true, "name": "from", "nodeType": "VariableDeclaration", - "scope": 2510, - "src": "385:20:37", + "scope": 2558, + "src": "385:20:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -393,10 +393,10 @@ "typeString": "address" }, "typeName": { - "id": 2503, + "id": 2551, "name": "address", "nodeType": "ElementaryTypeName", - "src": "385:7:37", + "src": "385:7:39", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -407,12 +407,12 @@ }, { "constant": false, - "id": 2506, + "id": 2554, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 2510, - "src": "407:18:37", + "scope": 2558, + "src": "407:18:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -420,10 +420,10 @@ "typeString": "address" }, "typeName": { - "id": 2505, + "id": 2553, "name": "address", "nodeType": "ElementaryTypeName", - "src": "407:7:37", + "src": "407:7:39", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -434,12 +434,12 @@ }, { "constant": false, - "id": 2508, + "id": 2556, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2510, - "src": "427:13:37", + "scope": 2558, + "src": "427:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -447,10 +447,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2507, + "id": 2555, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "427:7:37", + "src": "427:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -460,29 +460,29 @@ "visibility": "internal" } ], - "src": "384:57:37" + "src": "384:57:39" }, - "src": "370:72:37" + "src": "370:72:39" } ], - "scope": 2512, - "src": "155:289:37" + "scope": 2560, + "src": "155:289:39" } ], - "src": "0:445:37" + "src": "0:445:39" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20Basic.sol", "exportedSymbols": { "ERC20Basic": [ - 2511 + 2559 ] }, - "id": 2512, + "id": 2560, "nodeType": "SourceUnit", "nodes": [ { - "id": 2481, + "id": 2529, "literals": [ "solidity", "^", @@ -490,7 +490,7 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:37" + "src": "0:24:39" }, { "baseContracts": [], @@ -498,9 +498,9 @@ "contractKind": "contract", "documentation": "@title ERC20Basic\n@dev Simpler version of ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/179", "fullyImplemented": false, - "id": 2511, + "id": 2559, "linearizedBaseContracts": [ - 2511 + 2559 ], "name": "ERC20Basic", "nodeType": "ContractDefinition", @@ -508,7 +508,7 @@ { "body": null, "documentation": null, - "id": 2486, + "id": 2534, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -516,23 +516,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 2482, + "id": 2530, "nodeType": "ParameterList", "parameters": [], - "src": "199:2:37" + "src": "199:2:39" }, "payable": false, "returnParameters": { - "id": 2485, + "id": 2533, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2484, + "id": 2532, "name": "", "nodeType": "VariableDeclaration", - "scope": 2486, - "src": "223:7:37", + "scope": 2534, + "src": "223:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -540,10 +540,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2483, + "id": 2531, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "223:7:37", + "src": "223:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -553,10 +553,10 @@ "visibility": "internal" } ], - "src": "222:9:37" + "src": "222:9:39" }, - "scope": 2511, - "src": "179:53:37", + "scope": 2559, + "src": "179:53:39", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -564,7 +564,7 @@ { "body": null, "documentation": null, - "id": 2493, + "id": 2541, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -572,16 +572,16 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 2489, + "id": 2537, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2488, + "id": 2536, "name": "who", "nodeType": "VariableDeclaration", - "scope": 2493, - "src": "254:11:37", + "scope": 2541, + "src": "254:11:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -589,10 +589,10 @@ "typeString": "address" }, "typeName": { - "id": 2487, + "id": 2535, "name": "address", "nodeType": "ElementaryTypeName", - "src": "254:7:37", + "src": "254:7:39", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -602,20 +602,20 @@ "visibility": "internal" } ], - "src": "253:13:37" + "src": "253:13:39" }, "payable": false, "returnParameters": { - "id": 2492, + "id": 2540, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2491, + "id": 2539, "name": "", "nodeType": "VariableDeclaration", - "scope": 2493, - "src": "288:7:37", + "scope": 2541, + "src": "288:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -623,10 +623,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2490, + "id": 2538, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "288:7:37", + "src": "288:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -636,10 +636,10 @@ "visibility": "internal" } ], - "src": "287:9:37" + "src": "287:9:39" }, - "scope": 2511, - "src": "235:62:37", + "scope": 2559, + "src": "235:62:39", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -647,7 +647,7 @@ { "body": null, "documentation": null, - "id": 2502, + "id": 2550, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -655,16 +655,16 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 2498, + "id": 2546, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2495, + "id": 2543, "name": "to", "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "318:10:37", + "scope": 2550, + "src": "318:10:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -672,10 +672,10 @@ "typeString": "address" }, "typeName": { - "id": 2494, + "id": 2542, "name": "address", "nodeType": "ElementaryTypeName", - "src": "318:7:37", + "src": "318:7:39", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -686,11 +686,11 @@ }, { "constant": false, - "id": 2497, + "id": 2545, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "330:13:37", + "scope": 2550, + "src": "330:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -698,10 +698,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2496, + "id": 2544, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "330:7:37", + "src": "330:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -711,20 +711,20 @@ "visibility": "internal" } ], - "src": "317:27:37" + "src": "317:27:39" }, "payable": false, "returnParameters": { - "id": 2501, + "id": 2549, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2500, + "id": 2548, "name": "", "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "361:4:37", + "scope": 2550, + "src": "361:4:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -732,10 +732,10 @@ "typeString": "bool" }, "typeName": { - "id": 2499, + "id": 2547, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "361:4:37", + "src": "361:4:39", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -745,10 +745,10 @@ "visibility": "internal" } ], - "src": "360:6:37" + "src": "360:6:39" }, - "scope": 2511, - "src": "300:67:37", + "scope": 2559, + "src": "300:67:39", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -756,21 +756,21 @@ { "anonymous": false, "documentation": null, - "id": 2510, + "id": 2558, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 2509, + "id": 2557, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2504, + "id": 2552, "indexed": true, "name": "from", "nodeType": "VariableDeclaration", - "scope": 2510, - "src": "385:20:37", + "scope": 2558, + "src": "385:20:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -778,10 +778,10 @@ "typeString": "address" }, "typeName": { - "id": 2503, + "id": 2551, "name": "address", "nodeType": "ElementaryTypeName", - "src": "385:7:37", + "src": "385:7:39", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -792,12 +792,12 @@ }, { "constant": false, - "id": 2506, + "id": 2554, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 2510, - "src": "407:18:37", + "scope": 2558, + "src": "407:18:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -805,10 +805,10 @@ "typeString": "address" }, "typeName": { - "id": 2505, + "id": 2553, "name": "address", "nodeType": "ElementaryTypeName", - "src": "407:7:37", + "src": "407:7:39", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -819,12 +819,12 @@ }, { "constant": false, - "id": 2508, + "id": 2556, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2510, - "src": "427:13:37", + "scope": 2558, + "src": "427:13:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -832,10 +832,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2507, + "id": 2555, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "427:7:37", + "src": "427:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -845,22 +845,22 @@ "visibility": "internal" } ], - "src": "384:57:37" + "src": "384:57:39" }, - "src": "370:72:37" + "src": "370:72:39" } ], - "scope": 2512, - "src": "155:289:37" + "scope": 2560, + "src": "155:289:39" } ], - "src": "0:445:37" + "src": "0:445:39" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.638Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.214Z" } \ No newline at end of file diff --git a/build/contracts/ERC20FailingMock.json b/build/contracts/ERC20FailingMock.json index 411d1f3ee..9a25bb60f 100644 --- a/build/contracts/ERC20FailingMock.json +++ b/build/contracts/ERC20FailingMock.json @@ -175,30 +175,30 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50610330806100206000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461007d57806318160ddd146100e257806323b872dd1461010d57806370a0823114610192578063a9059cbb146101e9578063dd62ed3e1461024e575b600080fd5b34801561008957600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102c5565b604051808215151515815260200191505060405180910390f35b3480156100ee57600080fd5b506100f76102d0565b6040518082815260200191505060405180910390f35b34801561011957600080fd5b50610178600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102d8565b604051808215151515815260200191505060405180910390f35b34801561019e57600080fd5b506101d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102e4565b6040518082815260200191505060405180910390f35b3480156101f557600080fd5b50610234600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102ee565b604051808215151515815260200191505060405180910390f35b34801561025a57600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102f9565b6040518082815260200191505060405180910390f35b600080905092915050565b600080905090565b60008090509392505050565b6000809050919050565b600080905092915050565b6000809050929150505600a165627a7a723058200e50dde8c270286026f851f49e7a3a6ccfefb028f81dc9ce58dcd921a63a19090029", - "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461007d57806318160ddd146100e257806323b872dd1461010d57806370a0823114610192578063a9059cbb146101e9578063dd62ed3e1461024e575b600080fd5b34801561008957600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102c5565b604051808215151515815260200191505060405180910390f35b3480156100ee57600080fd5b506100f76102d0565b6040518082815260200191505060405180910390f35b34801561011957600080fd5b50610178600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102d8565b604051808215151515815260200191505060405180910390f35b34801561019e57600080fd5b506101d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102e4565b6040518082815260200191505060405180910390f35b3480156101f557600080fd5b50610234600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102ee565b604051808215151515815260200191505060405180910390f35b34801561025a57600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102f9565b6040518082815260200191505060405180910390f35b600080905092915050565b600080905090565b60008090509392505050565b6000809050919050565b600080905092915050565b6000809050929150505600a165627a7a723058200e50dde8c270286026f851f49e7a3a6ccfefb028f81dc9ce58dcd921a63a19090029", - "sourceMap": "102:551:21:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;102:551:21;;;;;;;", - "deployedSourceMap": "102:551:21:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;400:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;400:80:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;141:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;141:72:21;;;;;;;;;;;;;;;;;;;;;;;302:94;;8:9:-1;5:2;;;30:1;27;20:12;5:2;302:94:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;484:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;484:77:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;217:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;217:81:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;565:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;565:86:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;400:80;451:4;470:5;463:12;;400:80;;;;:::o;141:72::-;185:7;207:1;200:8;;141:72;:::o;302:94::-;367:4;386:5;379:12;;302:94;;;;;:::o;484:77::-;533:7;555:1;548:8;;484:77;;;:::o;217:81::-;269:4;288:5;281:12;;217:81;;;;:::o;565:86::-;623:7;645:1;638:8;;565:86;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b50610330806100206000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461007d57806318160ddd146100e257806323b872dd1461010d57806370a0823114610192578063a9059cbb146101e9578063dd62ed3e1461024e575b600080fd5b34801561008957600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102c5565b604051808215151515815260200191505060405180910390f35b3480156100ee57600080fd5b506100f76102d0565b6040518082815260200191505060405180910390f35b34801561011957600080fd5b50610178600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102d8565b604051808215151515815260200191505060405180910390f35b34801561019e57600080fd5b506101d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102e4565b6040518082815260200191505060405180910390f35b3480156101f557600080fd5b50610234600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102ee565b604051808215151515815260200191505060405180910390f35b34801561025a57600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102f9565b6040518082815260200191505060405180910390f35b600080905092915050565b600080905090565b60008090509392505050565b6000809050919050565b600080905092915050565b6000809050929150505600a165627a7a7230582044127080c704f59cb7fc999aa47236c7c4eb6fcf676bf64edd13baed06c2bb6c0029", + "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461007d57806318160ddd146100e257806323b872dd1461010d57806370a0823114610192578063a9059cbb146101e9578063dd62ed3e1461024e575b600080fd5b34801561008957600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102c5565b604051808215151515815260200191505060405180910390f35b3480156100ee57600080fd5b506100f76102d0565b6040518082815260200191505060405180910390f35b34801561011957600080fd5b50610178600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102d8565b604051808215151515815260200191505060405180910390f35b34801561019e57600080fd5b506101d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102e4565b6040518082815260200191505060405180910390f35b3480156101f557600080fd5b50610234600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102ee565b604051808215151515815260200191505060405180910390f35b34801561025a57600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102f9565b6040518082815260200191505060405180910390f35b600080905092915050565b600080905090565b60008090509392505050565b6000809050919050565b600080905092915050565b6000809050929150505600a165627a7a7230582044127080c704f59cb7fc999aa47236c7c4eb6fcf676bf64edd13baed06c2bb6c0029", + "sourceMap": "102:551:23:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;102:551:23;;;;;;;", + "deployedSourceMap": "102:551:23:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;400:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;400:80:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;141:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;141:72:23;;;;;;;;;;;;;;;;;;;;;;;302:94;;8:9:-1;5:2;;;30:1;27;20:12;5:2;302:94:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;484:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;484:77:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;217:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;217:81:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;565:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;565:86:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;400:80;451:4;470:5;463:12;;400:80;;;;:::o;141:72::-;185:7;207:1;200:8;;141:72;:::o;302:94::-;367:4;386:5;379:12;;302:94;;;;;:::o;484:77::-;533:7;555:1;548:8;;484:77;;;:::o;217:81::-;269:4;288:5;281:12;;217:81;;;;:::o;565:86::-;623:7;645:1;638:8;;565:86;;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"../token/ERC20/ERC20.sol\";\nimport \"../token/ERC20/SafeERC20.sol\";\n\n\ncontract ERC20FailingMock is ERC20 {\n function totalSupply() public view returns (uint256) {\n return 0;\n }\n\n function transfer(address, uint256) public returns (bool) {\n return false;\n }\n\n function transferFrom(address, address, uint256) public returns (bool) {\n return false;\n }\n\n function approve(address, uint256) public returns (bool) {\n return false;\n }\n\n function balanceOf(address) public view returns (uint256) {\n return 0;\n }\n\n function allowance(address, address) public view returns (uint256) {\n return 0;\n }\n}\n\n\ncontract ERC20SucceedingMock is ERC20 {\n function totalSupply() public view returns (uint256) {\n return 0;\n }\n \n function transfer(address, uint256) public returns (bool) {\n return true;\n }\n\n function transferFrom(address, address, uint256) public returns (bool) {\n return true;\n }\n\n function approve(address, uint256) public returns (bool) {\n return true;\n }\n\n function balanceOf(address) public view returns (uint256) {\n return 0;\n }\n\n function allowance(address, address) public view returns (uint256) {\n return 0;\n }\n}\n\n\ncontract SafeERC20Helper {\n using SafeERC20 for ERC20;\n\n ERC20 failing;\n ERC20 succeeding;\n\n function SafeERC20Helper() public {\n failing = new ERC20FailingMock();\n succeeding = new ERC20SucceedingMock();\n }\n\n function doFailingTransfer() public {\n failing.safeTransfer(0, 0);\n }\n\n function doFailingTransferFrom() public {\n failing.safeTransferFrom(0, 0, 0);\n }\n\n function doFailingApprove() public {\n failing.safeApprove(0, 0);\n }\n\n function doSucceedingTransfer() public {\n succeeding.safeTransfer(0, 0);\n }\n\n function doSucceedingTransferFrom() public {\n succeeding.safeTransferFrom(0, 0, 0);\n }\n\n function doSucceedingApprove() public {\n succeeding.safeApprove(0, 0);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/SafeERC20Helper.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/SafeERC20Helper.sol", "exportedSymbols": { "ERC20FailingMock": [ - 1237 + 1285 ], "ERC20SucceedingMock": [ - 1308 + 1356 ], "SafeERC20Helper": [ - 1400 + 1448 ] }, - "id": 1401, + "id": 1449, "nodeType": "SourceUnit", "nodes": [ { - "id": 1164, + "id": 1212, "literals": [ "solidity", "^", @@ -206,27 +206,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:21" + "src": "0:24:23" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20.sol", "file": "../token/ERC20/ERC20.sol", - "id": 1165, + "id": 1213, "nodeType": "ImportDirective", - "scope": 1401, - "sourceUnit": 2480, - "src": "26:34:21", + "scope": 1449, + "sourceUnit": 2528, + "src": "26:34:23", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/SafeERC20.sol", "file": "../token/ERC20/SafeERC20.sol", - "id": 1166, + "id": 1214, "nodeType": "ImportDirective", - "scope": 1401, - "sourceUnit": 2808, - "src": "61:38:21", + "scope": 1449, + "sourceUnit": 2856, + "src": "61:38:23", "symbolAliases": [], "unitAlias": "" }, @@ -236,571 +236,42 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1167, + "id": 1215, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "131:5:21", + "referencedDeclaration": 2527, + "src": "131:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1168, + "id": 1216, "nodeType": "InheritanceSpecifier", - "src": "131:5:21" + "src": "131:5:23" } ], "contractDependencies": [ - 2479, - 2511 + 2527, + 2559 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1237, + "id": 1285, "linearizedBaseContracts": [ - 1237, - 2479, - 2511 + 1285, + 2527, + 2559 ], "name": "ERC20FailingMock", "nodeType": "ContractDefinition", "nodes": [ - { - "body": { - "id": 1175, - "nodeType": "Block", - "src": "194:19:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "207:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 1172, - "id": 1174, - "nodeType": "Return", - "src": "200:8:21" - } - ] - }, - "documentation": null, - "id": 1176, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1169, - "nodeType": "ParameterList", - "parameters": [], - "src": "161:2:21" - }, - "payable": false, - "returnParameters": { - "id": 1172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1171, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1176, - "src": "185:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1170, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "185:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "184:9:21" - }, - "scope": 1237, - "src": "141:72:21", - "stateMutability": "view", - "superFunction": 2486, - "visibility": "public" - }, - { - "body": { - "id": 1187, - "nodeType": "Block", - "src": "275:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "288:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1184, - "id": 1186, - "nodeType": "Return", - "src": "281:12:21" - } - ] - }, - "documentation": null, - "id": 1188, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1178, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "235:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1177, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "235:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1180, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "244:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "234:18:21" - }, - "payable": false, - "returnParameters": { - "id": 1184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1183, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "269:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1182, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "269:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "268:6:21" - }, - "scope": 1237, - "src": "217:81:21", - "stateMutability": "nonpayable", - "superFunction": 2502, - "visibility": "public" - }, - { - "body": { - "id": 1201, - "nodeType": "Block", - "src": "373:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "386:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1198, - "id": 1200, - "nodeType": "Return", - "src": "379:12:21" - } - ] - }, - "documentation": null, - "id": 1202, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1190, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "324:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "324:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1192, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "333:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "333:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1194, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "342:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "342:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "323:27:21" - }, - "payable": false, - "returnParameters": { - "id": 1198, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1197, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "367:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1196, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "367:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "366:6:21" - }, - "scope": 1237, - "src": "302:94:21", - "stateMutability": "nonpayable", - "superFunction": 2461, - "visibility": "public" - }, - { - "body": { - "id": 1213, - "nodeType": "Block", - "src": "457:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "470:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1210, - "id": 1212, - "nodeType": "Return", - "src": "463:12:21" - } - ] - }, - "documentation": null, - "id": 1214, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1204, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "417:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "417:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1206, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "426:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "426:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "416:18:21" - }, - "payable": false, - "returnParameters": { - "id": 1210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1209, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "451:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1208, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "451:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "450:6:21" - }, - "scope": 1237, - "src": "400:80:21", - "stateMutability": "nonpayable", - "superFunction": 2470, - "visibility": "public" - }, { "body": { "id": 1223, "nodeType": "Block", - "src": "542:19:21", + "src": "194:19:23", "statements": [ { "expression": { @@ -813,7 +284,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "555:1:21", + "src": "207:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -824,7 +295,7 @@ "functionReturnParameters": 1220, "id": 1222, "nodeType": "Return", - "src": "548:8:21" + "src": "200:8:23" } ] }, @@ -834,40 +305,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "balanceOf", + "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { "id": 1217, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1216, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1224, - "src": "503:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1215, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "502:9:21" + "parameters": [], + "src": "161:2:23" }, "payable": false, "returnParameters": { @@ -880,7 +324,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "533:7:21", + "src": "185:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -891,7 +335,7 @@ "id": 1218, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "533:7:21", + "src": "185:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -901,43 +345,43 @@ "visibility": "internal" } ], - "src": "532:9:21" + "src": "184:9:23" }, - "scope": 1237, - "src": "484:77:21", + "scope": 1285, + "src": "141:72:23", "stateMutability": "view", - "superFunction": 2493, + "superFunction": 2534, "visibility": "public" }, { "body": { "id": 1235, "nodeType": "Block", - "src": "632:19:21", + "src": "275:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", + "hexValue": "66616c7365", "id": 1233, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "645:1:21", + "src": "288:5:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "false" }, "functionReturnParameters": 1232, "id": 1234, "nodeType": "Return", - "src": "638:8:21" + "src": "281:12:23" } ] }, @@ -945,9 +389,9 @@ "id": 1236, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "allowance", + "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { "id": 1229, @@ -959,7 +403,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "584:7:21", + "src": "235:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -970,7 +414,7 @@ "id": 1225, "name": "address", "nodeType": "ElementaryTypeName", - "src": "584:7:21", + "src": "235:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -985,28 +429,28 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "593:7:21", + "src": "244:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { "id": 1227, - "name": "address", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "593:7:21", + "src": "244:7:23", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "583:18:21" + "src": "234:18:23" }, "payable": false, "returnParameters": { @@ -1019,134 +463,138 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "623:7:21", + "src": "269:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { "id": 1230, - "name": "uint256", + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "623:7:21", + "src": "269:4:23", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "value": null, "visibility": "internal" } ], - "src": "622:9:21" + "src": "268:6:23" }, - "scope": 1237, - "src": "565:86:21", - "stateMutability": "view", - "superFunction": 2450, + "scope": 1285, + "src": "217:81:23", + "stateMutability": "nonpayable", + "superFunction": 2550, "visibility": "public" - } - ], - "scope": 1401, - "src": "102:551:21" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1238, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "688:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", - "typeString": "contract ERC20" - } - }, - "id": 1239, - "nodeType": "InheritanceSpecifier", - "src": "688:5:21" - } - ], - "contractDependencies": [ - 2479, - 2511 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1308, - "linearizedBaseContracts": [ - 1308, - 2479, - 2511 - ], - "name": "ERC20SucceedingMock", - "nodeType": "ContractDefinition", - "nodes": [ + }, { "body": { - "id": 1246, + "id": 1249, "nodeType": "Block", - "src": "751:19:21", + "src": "373:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", - "id": 1244, + "hexValue": "66616c7365", + "id": 1247, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "764:1:21", + "src": "386:5:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "false" }, - "functionReturnParameters": 1243, - "id": 1245, + "functionReturnParameters": 1246, + "id": 1248, "nodeType": "Return", - "src": "757:8:21" + "src": "379:12:23" } ] }, "documentation": null, - "id": 1247, + "id": 1250, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "totalSupply", + "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1240, - "nodeType": "ParameterList", - "parameters": [], - "src": "718:2:21" - }, - "payable": false, - "returnParameters": { "id": 1243, "nodeType": "ParameterList", "parameters": [ + { + "constant": false, + "id": 1238, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "324:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1237, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "324:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1240, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "333:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1239, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "333:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, { "constant": false, "id": 1242, "name": "", "nodeType": "VariableDeclaration", - "scope": 1247, - "src": "742:7:21", + "scope": 1250, + "src": "342:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1157,7 +605,7 @@ "id": 1241, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "742:7:21", + "src": "342:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1167,125 +615,20 @@ "visibility": "internal" } ], - "src": "741:9:21" - }, - "scope": 1308, - "src": "698:72:21", - "stateMutability": "view", - "superFunction": 2486, - "visibility": "public" - }, - { - "body": { - "id": 1258, - "nodeType": "Block", - "src": "834:22:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "847:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1255, - "id": 1257, - "nodeType": "Return", - "src": "840:11:21" - } - ] - }, - "documentation": null, - "id": 1259, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1252, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1249, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "794:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "794:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1251, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "803:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1250, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "793:18:21" + "src": "323:27:23" }, "payable": false, "returnParameters": { - "id": 1255, + "id": 1246, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1254, + "id": 1245, "name": "", "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "828:4:21", + "scope": 1250, + "src": "367:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1293,10 +636,10 @@ "typeString": "bool" }, "typeName": { - "id": 1253, + "id": 1244, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "828:4:21", + "src": "367:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1306,213 +649,48 @@ "visibility": "internal" } ], - "src": "827:6:21" + "src": "366:6:23" }, - "scope": 1308, - "src": "776:80:21", + "scope": 1285, + "src": "302:94:23", "stateMutability": "nonpayable", - "superFunction": 2502, + "superFunction": 2509, "visibility": "public" }, { "body": { - "id": 1272, + "id": 1261, "nodeType": "Block", - "src": "931:22:21", + "src": "457:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "74727565", - "id": 1270, + "hexValue": "66616c7365", + "id": 1259, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "944:4:21", + "src": "470:5:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, - "value": "true" + "value": "false" }, - "functionReturnParameters": 1269, - "id": 1271, + "functionReturnParameters": 1258, + "id": 1260, "nodeType": "Return", - "src": "937:11:21" + "src": "463:12:23" } ] }, "documentation": null, - "id": 1273, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1261, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "882:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "882:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1263, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "891:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1262, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1265, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "900:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1264, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "881:27:21" - }, - "payable": false, - "returnParameters": { - "id": 1269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1268, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "925:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1267, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "925:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "924:6:21" - }, - "scope": 1308, - "src": "860:93:21", - "stateMutability": "nonpayable", - "superFunction": 2461, - "visibility": "public" - }, - { - "body": { - "id": 1284, - "nodeType": "Block", - "src": "1014:22:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1027:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1281, - "id": 1283, - "nodeType": "Return", - "src": "1020:11:21" - } - ] - }, - "documentation": null, - "id": 1285, + "id": 1262, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1520,16 +698,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 1278, + "id": 1255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1275, + "id": 1252, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "974:7:21", + "scope": 1262, + "src": "417:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1537,10 +715,10 @@ "typeString": "address" }, "typeName": { - "id": 1274, + "id": 1251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "974:7:21", + "src": "417:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1551,11 +729,11 @@ }, { "constant": false, - "id": 1277, + "id": 1254, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "983:7:21", + "scope": 1262, + "src": "426:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1563,10 +741,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1276, + "id": 1253, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "983:7:21", + "src": "426:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1576,20 +754,20 @@ "visibility": "internal" } ], - "src": "973:18:21" + "src": "416:18:23" }, "payable": false, "returnParameters": { - "id": 1281, + "id": 1258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1280, + "id": 1257, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "1008:4:21", + "scope": 1262, + "src": "451:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1597,10 +775,10 @@ "typeString": "bool" }, "typeName": { - "id": 1279, + "id": 1256, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1008:4:21", + "src": "451:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1610,19 +788,312 @@ "visibility": "internal" } ], - "src": "1007:6:21" + "src": "450:6:23" }, - "scope": 1308, - "src": "957:79:21", + "scope": 1285, + "src": "400:80:23", "stateMutability": "nonpayable", - "superFunction": 2470, + "superFunction": 2518, "visibility": "public" }, + { + "body": { + "id": 1271, + "nodeType": "Block", + "src": "542:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "555:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1268, + "id": 1270, + "nodeType": "Return", + "src": "548:8:23" + } + ] + }, + "documentation": null, + "id": 1272, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1264, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1272, + "src": "503:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "503:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "502:9:23" + }, + "payable": false, + "returnParameters": { + "id": 1268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1267, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1272, + "src": "533:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "533:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "532:9:23" + }, + "scope": 1285, + "src": "484:77:23", + "stateMutability": "view", + "superFunction": 2541, + "visibility": "public" + }, + { + "body": { + "id": 1283, + "nodeType": "Block", + "src": "632:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "645:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1280, + "id": 1282, + "nodeType": "Return", + "src": "638:8:23" + } + ] + }, + "documentation": null, + "id": 1284, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1277, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1274, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "584:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1273, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "584:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1276, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "593:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1275, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "593:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "583:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1280, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1279, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "623:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1278, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "623:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "622:9:23" + }, + "scope": 1285, + "src": "565:86:23", + "stateMutability": "view", + "superFunction": 2498, + "visibility": "public" + } + ], + "scope": 1449, + "src": "102:551:23" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1286, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2527, + "src": "688:5:23", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2527", + "typeString": "contract ERC20" + } + }, + "id": 1287, + "nodeType": "InheritanceSpecifier", + "src": "688:5:23" + } + ], + "contractDependencies": [ + 2527, + 2559 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1356, + "linearizedBaseContracts": [ + 1356, + 2527, + 2559 + ], + "name": "ERC20SucceedingMock", + "nodeType": "ContractDefinition", + "nodes": [ { "body": { "id": 1294, "nodeType": "Block", - "src": "1098:19:21", + "src": "751:19:23", "statements": [ { "expression": { @@ -1635,7 +1106,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1111:1:21", + "src": "764:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1646,7 +1117,7 @@ "functionReturnParameters": 1291, "id": 1293, "nodeType": "Return", - "src": "1104:8:21" + "src": "757:8:23" } ] }, @@ -1656,40 +1127,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "balanceOf", + "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { "id": 1288, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1287, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1295, - "src": "1059:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1286, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1059:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1058:9:21" + "parameters": [], + "src": "718:2:23" }, "payable": false, "returnParameters": { @@ -1702,7 +1146,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1295, - "src": "1089:7:21", + "src": "742:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1713,7 +1157,7 @@ "id": 1289, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1089:7:21", + "src": "742:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1723,43 +1167,43 @@ "visibility": "internal" } ], - "src": "1088:9:21" + "src": "741:9:23" }, - "scope": 1308, - "src": "1040:77:21", + "scope": 1356, + "src": "698:72:23", "stateMutability": "view", - "superFunction": 2493, + "superFunction": 2534, "visibility": "public" }, { "body": { "id": 1306, "nodeType": "Block", - "src": "1188:19:21", + "src": "834:22:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", + "hexValue": "74727565", "id": 1304, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1201:1:21", + "src": "847:4:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "true" }, "functionReturnParameters": 1303, "id": 1305, "nodeType": "Return", - "src": "1194:8:21" + "src": "840:11:23" } ] }, @@ -1767,9 +1211,9 @@ "id": 1307, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "allowance", + "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { "id": 1300, @@ -1781,7 +1225,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1140:7:21", + "src": "794:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1792,7 +1236,7 @@ "id": 1296, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1140:7:21", + "src": "794:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1807,28 +1251,28 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1149:7:21", + "src": "803:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { "id": 1298, - "name": "address", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1149:7:21", + "src": "803:7:23", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "1139:18:21" + "src": "793:18:23" }, "payable": false, "returnParameters": { @@ -1841,7 +1285,138 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1179:7:21", + "src": "828:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1301, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "828:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "827:6:23" + }, + "scope": 1356, + "src": "776:80:23", + "stateMutability": "nonpayable", + "superFunction": 2550, + "visibility": "public" + }, + { + "body": { + "id": 1320, + "nodeType": "Block", + "src": "931:22:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "944:4:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1317, + "id": 1319, + "nodeType": "Return", + "src": "937:11:23" + } + ] + }, + "documentation": null, + "id": 1321, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1309, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "882:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1308, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "882:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1311, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "891:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1310, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "891:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1313, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "900:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1849,10 +1424,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1301, + "id": 1312, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1179:7:21", + "src": "900:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1862,85 +1437,510 @@ "visibility": "internal" } ], - "src": "1178:9:21" + "src": "881:27:23" }, - "scope": 1308, - "src": "1121:86:21", + "payable": false, + "returnParameters": { + "id": 1317, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1316, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "925:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1315, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "925:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "924:6:23" + }, + "scope": 1356, + "src": "860:93:23", + "stateMutability": "nonpayable", + "superFunction": 2509, + "visibility": "public" + }, + { + "body": { + "id": 1332, + "nodeType": "Block", + "src": "1014:22:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1027:4:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1329, + "id": 1331, + "nodeType": "Return", + "src": "1020:11:23" + } + ] + }, + "documentation": null, + "id": 1333, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1323, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "974:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1322, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "974:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1325, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "983:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "983:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "973:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1329, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1328, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "1008:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1327, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1008:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1007:6:23" + }, + "scope": 1356, + "src": "957:79:23", + "stateMutability": "nonpayable", + "superFunction": 2518, + "visibility": "public" + }, + { + "body": { + "id": 1342, + "nodeType": "Block", + "src": "1098:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1111:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1339, + "id": 1341, + "nodeType": "Return", + "src": "1104:8:23" + } + ] + }, + "documentation": null, + "id": 1343, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1335, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1343, + "src": "1059:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1059:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1058:9:23" + }, + "payable": false, + "returnParameters": { + "id": 1339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1338, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1343, + "src": "1089:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1337, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1089:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1088:9:23" + }, + "scope": 1356, + "src": "1040:77:23", "stateMutability": "view", - "superFunction": 2450, + "superFunction": 2541, + "visibility": "public" + }, + { + "body": { + "id": 1354, + "nodeType": "Block", + "src": "1188:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1201:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1351, + "id": 1353, + "nodeType": "Return", + "src": "1194:8:23" + } + ] + }, + "documentation": null, + "id": 1355, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1348, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1345, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1140:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1344, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1140:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1347, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1149:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1346, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1149:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1139:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1351, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1350, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1179:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1349, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1179:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1178:9:23" + }, + "scope": 1356, + "src": "1121:86:23", + "stateMutability": "view", + "superFunction": 2498, "visibility": "public" } ], - "scope": 1401, - "src": "656:553:21" + "scope": 1449, + "src": "656:553:23" }, { "baseContracts": [], "contractDependencies": [ - 1237, - 1308 + 1285, + 1356 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1400, + "id": 1448, "linearizedBaseContracts": [ - 1400 + 1448 ], "name": "SafeERC20Helper", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1311, + "id": 1359, "libraryName": { "contractScope": null, - "id": 1309, + "id": 1357, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2807, - "src": "1247:9:21", + "referencedDeclaration": 2855, + "src": "1247:9:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$2807", + "typeIdentifier": "t_contract$_SafeERC20_$2855", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "1241:26:21", + "src": "1241:26:23", "typeName": { "contractScope": null, - "id": 1310, + "id": 1358, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1261:5:21", + "referencedDeclaration": 2527, + "src": "1261:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } } }, { "constant": false, - "id": 1313, + "id": 1361, "name": "failing", "nodeType": "VariableDeclaration", - "scope": 1400, - "src": "1271:13:21", + "scope": 1448, + "src": "1271:13:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" }, "typeName": { "contractScope": null, - "id": 1312, + "id": 1360, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1271:5:21", + "referencedDeclaration": 2527, + "src": "1271:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -1949,26 +1949,26 @@ }, { "constant": false, - "id": 1315, + "id": 1363, "name": "succeeding", "nodeType": "VariableDeclaration", - "scope": 1400, - "src": "1288:16:21", + "scope": 1448, + "src": "1288:16:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" }, "typeName": { "contractScope": null, - "id": 1314, + "id": 1362, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1288:5:21", + "referencedDeclaration": 2527, + "src": "1288:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -1977,28 +1977,28 @@ }, { "body": { - "id": 1330, + "id": 1378, "nodeType": "Block", - "src": "1343:87:21", + "src": "1343:87:23", "statements": [ { "expression": { "argumentTypes": null, - "id": 1322, + "id": 1370, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1318, + "id": 1366, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1349:7:21", + "referencedDeclaration": 1361, + "src": "1349:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -2009,31 +2009,31 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1320, + "id": 1368, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1359:20:21", + "src": "1359:20:23", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20FailingMock_$1237_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20FailingMock_$1285_$", "typeString": "function () returns (contract ERC20FailingMock)" }, "typeName": { "contractScope": null, - "id": 1319, + "id": 1367, "name": "ERC20FailingMock", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1237, - "src": "1363:16:21", + "referencedDeclaration": 1285, + "src": "1363:16:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20FailingMock_$1237", + "typeIdentifier": "t_contract$_ERC20FailingMock_$1285", "typeString": "contract ERC20FailingMock" } } }, - "id": 1321, + "id": 1369, "isConstant": false, "isLValue": false, "isPure": false, @@ -2041,40 +2041,40 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1359:22:21", + "src": "1359:22:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20FailingMock_$1237", + "typeIdentifier": "t_contract$_ERC20FailingMock_$1285", "typeString": "contract ERC20FailingMock" } }, - "src": "1349:32:21", + "src": "1349:32:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1323, + "id": 1371, "nodeType": "ExpressionStatement", - "src": "1349:32:21" + "src": "1349:32:23" }, { "expression": { "argumentTypes": null, - "id": 1328, + "id": 1376, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1324, + "id": 1372, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1387:10:21", + "referencedDeclaration": 1363, + "src": "1387:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -2085,31 +2085,31 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1326, + "id": 1374, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1400:23:21", + "src": "1400:23:23", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20SucceedingMock_$1308_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20SucceedingMock_$1356_$", "typeString": "function () returns (contract ERC20SucceedingMock)" }, "typeName": { "contractScope": null, - "id": 1325, + "id": 1373, "name": "ERC20SucceedingMock", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1308, - "src": "1404:19:21", + "referencedDeclaration": 1356, + "src": "1404:19:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1308", + "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1356", "typeString": "contract ERC20SucceedingMock" } } }, - "id": 1327, + "id": 1375, "isConstant": false, "isLValue": false, "isPure": false, @@ -2117,26 +2117,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1400:25:21", + "src": "1400:25:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1308", + "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1356", "typeString": "contract ERC20SucceedingMock" } }, - "src": "1387:38:21", + "src": "1387:38:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1329, + "id": 1377, "nodeType": "ExpressionStatement", - "src": "1387:38:21" + "src": "1387:38:23" } ] }, "documentation": null, - "id": 1331, + "id": 1379, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -2144,29 +2144,29 @@ "name": "SafeERC20Helper", "nodeType": "FunctionDefinition", "parameters": { - "id": 1316, + "id": 1364, "nodeType": "ParameterList", "parameters": [], - "src": "1333:2:21" + "src": "1333:2:23" }, "payable": false, "returnParameters": { - "id": 1317, + "id": 1365, "nodeType": "ParameterList", "parameters": [], - "src": "1343:0:21" + "src": "1343:0:23" }, - "scope": 1400, - "src": "1309:121:21", + "scope": 1448, + "src": "1309:121:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1341, + "id": 1389, "nodeType": "Block", - "src": "1470:37:21", + "src": "1470:37:23", "statements": [ { "expression": { @@ -2175,14 +2175,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1337, + "id": 1385, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1497:1:21", + "src": "1497:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2193,14 +2193,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1338, + "id": 1386, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1500:1:21", + "src": "1500:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2222,32 +2222,32 @@ ], "expression": { "argumentTypes": null, - "id": 1334, + "id": 1382, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1476:7:21", + "referencedDeclaration": 1361, + "src": "1476:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1336, + "id": 1384, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "1476:20:21", + "referencedDeclaration": 2815, + "src": "1476:20:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 1339, + "id": 1387, "isConstant": false, "isLValue": false, "isPure": false, @@ -2255,20 +2255,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1476:26:21", + "src": "1476:26:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1340, + "id": 1388, "nodeType": "ExpressionStatement", - "src": "1476:26:21" + "src": "1476:26:23" } ] }, "documentation": null, - "id": 1342, + "id": 1390, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2276,29 +2276,29 @@ "name": "doFailingTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1332, + "id": 1380, "nodeType": "ParameterList", "parameters": [], - "src": "1460:2:21" + "src": "1460:2:23" }, "payable": false, "returnParameters": { - "id": 1333, + "id": 1381, "nodeType": "ParameterList", "parameters": [], - "src": "1470:0:21" + "src": "1470:0:23" }, - "scope": 1400, - "src": "1434:73:21", + "scope": 1448, + "src": "1434:73:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1353, + "id": 1401, "nodeType": "Block", - "src": "1551:44:21", + "src": "1551:44:23", "statements": [ { "expression": { @@ -2307,14 +2307,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1348, + "id": 1396, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1582:1:21", + "src": "1582:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2325,14 +2325,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1349, + "id": 1397, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1585:1:21", + "src": "1585:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2343,14 +2343,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1350, + "id": 1398, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1588:1:21", + "src": "1588:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2376,32 +2376,32 @@ ], "expression": { "argumentTypes": null, - "id": 1345, + "id": 1393, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1557:7:21", + "referencedDeclaration": 1361, + "src": "1557:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1347, + "id": 1395, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 2788, - "src": "1557:24:21", + "referencedDeclaration": 2836, + "src": "1557:24:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,address,uint256)" } }, - "id": 1351, + "id": 1399, "isConstant": false, "isLValue": false, "isPure": false, @@ -2409,20 +2409,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1557:33:21", + "src": "1557:33:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1352, + "id": 1400, "nodeType": "ExpressionStatement", - "src": "1557:33:21" + "src": "1557:33:23" } ] }, "documentation": null, - "id": 1354, + "id": 1402, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2430,29 +2430,29 @@ "name": "doFailingTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1343, + "id": 1391, "nodeType": "ParameterList", "parameters": [], - "src": "1541:2:21" + "src": "1541:2:23" }, "payable": false, "returnParameters": { - "id": 1344, + "id": 1392, "nodeType": "ParameterList", "parameters": [], - "src": "1551:0:21" + "src": "1551:0:23" }, - "scope": 1400, - "src": "1511:84:21", + "scope": 1448, + "src": "1511:84:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1364, + "id": 1412, "nodeType": "Block", - "src": "1634:36:21", + "src": "1634:36:23", "statements": [ { "expression": { @@ -2461,14 +2461,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1360, + "id": 1408, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1660:1:21", + "src": "1660:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2479,14 +2479,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1361, + "id": 1409, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1663:1:21", + "src": "1663:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2508,32 +2508,32 @@ ], "expression": { "argumentTypes": null, - "id": 1357, + "id": 1405, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1640:7:21", + "referencedDeclaration": 1361, + "src": "1640:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1359, + "id": 1407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeApprove", "nodeType": "MemberAccess", - "referencedDeclaration": 2806, - "src": "1640:19:21", + "referencedDeclaration": 2854, + "src": "1640:19:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,uint256)" } }, - "id": 1362, + "id": 1410, "isConstant": false, "isLValue": false, "isPure": false, @@ -2541,20 +2541,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1640:25:21", + "src": "1640:25:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1363, + "id": 1411, "nodeType": "ExpressionStatement", - "src": "1640:25:21" + "src": "1640:25:23" } ] }, "documentation": null, - "id": 1365, + "id": 1413, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2562,29 +2562,29 @@ "name": "doFailingApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1355, + "id": 1403, "nodeType": "ParameterList", "parameters": [], - "src": "1624:2:21" + "src": "1624:2:23" }, "payable": false, "returnParameters": { - "id": 1356, + "id": 1404, "nodeType": "ParameterList", "parameters": [], - "src": "1634:0:21" + "src": "1634:0:23" }, - "scope": 1400, - "src": "1599:71:21", + "scope": 1448, + "src": "1599:71:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1375, + "id": 1423, "nodeType": "Block", - "src": "1713:40:21", + "src": "1713:40:23", "statements": [ { "expression": { @@ -2593,14 +2593,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1371, + "id": 1419, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1743:1:21", + "src": "1743:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2611,14 +2611,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1372, + "id": 1420, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1746:1:21", + "src": "1746:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2640,32 +2640,32 @@ ], "expression": { "argumentTypes": null, - "id": 1368, + "id": 1416, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1719:10:21", + "referencedDeclaration": 1363, + "src": "1719:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1370, + "id": 1418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "1719:23:21", + "referencedDeclaration": 2815, + "src": "1719:23:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 1373, + "id": 1421, "isConstant": false, "isLValue": false, "isPure": false, @@ -2673,20 +2673,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1719:29:21", + "src": "1719:29:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1374, + "id": 1422, "nodeType": "ExpressionStatement", - "src": "1719:29:21" + "src": "1719:29:23" } ] }, "documentation": null, - "id": 1376, + "id": 1424, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2694,29 +2694,29 @@ "name": "doSucceedingTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1366, + "id": 1414, "nodeType": "ParameterList", "parameters": [], - "src": "1703:2:21" + "src": "1703:2:23" }, "payable": false, "returnParameters": { - "id": 1367, + "id": 1415, "nodeType": "ParameterList", "parameters": [], - "src": "1713:0:21" + "src": "1713:0:23" }, - "scope": 1400, - "src": "1674:79:21", + "scope": 1448, + "src": "1674:79:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1387, + "id": 1435, "nodeType": "Block", - "src": "1800:47:21", + "src": "1800:47:23", "statements": [ { "expression": { @@ -2725,14 +2725,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1382, + "id": 1430, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1834:1:21", + "src": "1834:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2743,14 +2743,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1383, + "id": 1431, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1837:1:21", + "src": "1837:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2761,14 +2761,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1384, + "id": 1432, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1840:1:21", + "src": "1840:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2794,32 +2794,32 @@ ], "expression": { "argumentTypes": null, - "id": 1379, + "id": 1427, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1806:10:21", + "referencedDeclaration": 1363, + "src": "1806:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1381, + "id": 1429, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 2788, - "src": "1806:27:21", + "referencedDeclaration": 2836, + "src": "1806:27:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,address,uint256)" } }, - "id": 1385, + "id": 1433, "isConstant": false, "isLValue": false, "isPure": false, @@ -2827,20 +2827,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1806:36:21", + "src": "1806:36:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1386, + "id": 1434, "nodeType": "ExpressionStatement", - "src": "1806:36:21" + "src": "1806:36:23" } ] }, "documentation": null, - "id": 1388, + "id": 1436, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2848,29 +2848,29 @@ "name": "doSucceedingTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1377, + "id": 1425, "nodeType": "ParameterList", "parameters": [], - "src": "1790:2:21" + "src": "1790:2:23" }, "payable": false, "returnParameters": { - "id": 1378, + "id": 1426, "nodeType": "ParameterList", "parameters": [], - "src": "1800:0:21" + "src": "1800:0:23" }, - "scope": 1400, - "src": "1757:90:21", + "scope": 1448, + "src": "1757:90:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1398, + "id": 1446, "nodeType": "Block", - "src": "1889:39:21", + "src": "1889:39:23", "statements": [ { "expression": { @@ -2879,14 +2879,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1394, + "id": 1442, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1918:1:21", + "src": "1918:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2897,14 +2897,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1395, + "id": 1443, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1921:1:21", + "src": "1921:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2926,32 +2926,32 @@ ], "expression": { "argumentTypes": null, - "id": 1391, + "id": 1439, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1895:10:21", + "referencedDeclaration": 1363, + "src": "1895:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1393, + "id": 1441, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeApprove", "nodeType": "MemberAccess", - "referencedDeclaration": 2806, - "src": "1895:22:21", + "referencedDeclaration": 2854, + "src": "1895:22:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,uint256)" } }, - "id": 1396, + "id": 1444, "isConstant": false, "isLValue": false, "isPure": false, @@ -2959,20 +2959,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1895:28:21", + "src": "1895:28:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1397, + "id": 1445, "nodeType": "ExpressionStatement", - "src": "1895:28:21" + "src": "1895:28:23" } ] }, "documentation": null, - "id": 1399, + "id": 1447, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2980,49 +2980,49 @@ "name": "doSucceedingApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1389, + "id": 1437, "nodeType": "ParameterList", "parameters": [], - "src": "1879:2:21" + "src": "1879:2:23" }, "payable": false, "returnParameters": { - "id": 1390, + "id": 1438, "nodeType": "ParameterList", "parameters": [], - "src": "1889:0:21" + "src": "1889:0:23" }, - "scope": 1400, - "src": "1851:77:21", + "scope": 1448, + "src": "1851:77:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1401, - "src": "1212:718:21" + "scope": 1449, + "src": "1212:718:23" } ], - "src": "0:1931:21" + "src": "0:1931:23" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/SafeERC20Helper.sol", "exportedSymbols": { "ERC20FailingMock": [ - 1237 + 1285 ], "ERC20SucceedingMock": [ - 1308 + 1356 ], "SafeERC20Helper": [ - 1400 + 1448 ] }, - "id": 1401, + "id": 1449, "nodeType": "SourceUnit", "nodes": [ { - "id": 1164, + "id": 1212, "literals": [ "solidity", "^", @@ -3030,27 +3030,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:21" + "src": "0:24:23" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20.sol", "file": "../token/ERC20/ERC20.sol", - "id": 1165, + "id": 1213, "nodeType": "ImportDirective", - "scope": 1401, - "sourceUnit": 2480, - "src": "26:34:21", + "scope": 1449, + "sourceUnit": 2528, + "src": "26:34:23", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/SafeERC20.sol", "file": "../token/ERC20/SafeERC20.sol", - "id": 1166, + "id": 1214, "nodeType": "ImportDirective", - "scope": 1401, - "sourceUnit": 2808, - "src": "61:38:21", + "scope": 1449, + "sourceUnit": 2856, + "src": "61:38:23", "symbolAliases": [], "unitAlias": "" }, @@ -3060,571 +3060,42 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1167, + "id": 1215, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "131:5:21", + "referencedDeclaration": 2527, + "src": "131:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1168, + "id": 1216, "nodeType": "InheritanceSpecifier", - "src": "131:5:21" + "src": "131:5:23" } ], "contractDependencies": [ - 2479, - 2511 + 2527, + 2559 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1237, + "id": 1285, "linearizedBaseContracts": [ - 1237, - 2479, - 2511 + 1285, + 2527, + 2559 ], "name": "ERC20FailingMock", "nodeType": "ContractDefinition", "nodes": [ - { - "body": { - "id": 1175, - "nodeType": "Block", - "src": "194:19:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "207:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 1172, - "id": 1174, - "nodeType": "Return", - "src": "200:8:21" - } - ] - }, - "documentation": null, - "id": 1176, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1169, - "nodeType": "ParameterList", - "parameters": [], - "src": "161:2:21" - }, - "payable": false, - "returnParameters": { - "id": 1172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1171, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1176, - "src": "185:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1170, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "185:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "184:9:21" - }, - "scope": 1237, - "src": "141:72:21", - "stateMutability": "view", - "superFunction": 2486, - "visibility": "public" - }, - { - "body": { - "id": 1187, - "nodeType": "Block", - "src": "275:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "288:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1184, - "id": 1186, - "nodeType": "Return", - "src": "281:12:21" - } - ] - }, - "documentation": null, - "id": 1188, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1178, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "235:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1177, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "235:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1180, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "244:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "234:18:21" - }, - "payable": false, - "returnParameters": { - "id": 1184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1183, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "269:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1182, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "269:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "268:6:21" - }, - "scope": 1237, - "src": "217:81:21", - "stateMutability": "nonpayable", - "superFunction": 2502, - "visibility": "public" - }, - { - "body": { - "id": 1201, - "nodeType": "Block", - "src": "373:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "386:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1198, - "id": 1200, - "nodeType": "Return", - "src": "379:12:21" - } - ] - }, - "documentation": null, - "id": 1202, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1190, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "324:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "324:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1192, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "333:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "333:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1194, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "342:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "342:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "323:27:21" - }, - "payable": false, - "returnParameters": { - "id": 1198, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1197, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "367:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1196, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "367:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "366:6:21" - }, - "scope": 1237, - "src": "302:94:21", - "stateMutability": "nonpayable", - "superFunction": 2461, - "visibility": "public" - }, - { - "body": { - "id": 1213, - "nodeType": "Block", - "src": "457:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "470:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1210, - "id": 1212, - "nodeType": "Return", - "src": "463:12:21" - } - ] - }, - "documentation": null, - "id": 1214, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1204, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "417:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "417:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1206, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "426:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "426:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "416:18:21" - }, - "payable": false, - "returnParameters": { - "id": 1210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1209, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "451:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1208, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "451:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "450:6:21" - }, - "scope": 1237, - "src": "400:80:21", - "stateMutability": "nonpayable", - "superFunction": 2470, - "visibility": "public" - }, { "body": { "id": 1223, "nodeType": "Block", - "src": "542:19:21", + "src": "194:19:23", "statements": [ { "expression": { @@ -3637,7 +3108,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "555:1:21", + "src": "207:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3648,7 +3119,7 @@ "functionReturnParameters": 1220, "id": 1222, "nodeType": "Return", - "src": "548:8:21" + "src": "200:8:23" } ] }, @@ -3658,40 +3129,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "balanceOf", + "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { "id": 1217, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1216, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1224, - "src": "503:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1215, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "502:9:21" + "parameters": [], + "src": "161:2:23" }, "payable": false, "returnParameters": { @@ -3704,7 +3148,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "533:7:21", + "src": "185:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3715,7 +3159,7 @@ "id": 1218, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "533:7:21", + "src": "185:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3725,43 +3169,43 @@ "visibility": "internal" } ], - "src": "532:9:21" + "src": "184:9:23" }, - "scope": 1237, - "src": "484:77:21", + "scope": 1285, + "src": "141:72:23", "stateMutability": "view", - "superFunction": 2493, + "superFunction": 2534, "visibility": "public" }, { "body": { "id": 1235, "nodeType": "Block", - "src": "632:19:21", + "src": "275:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", + "hexValue": "66616c7365", "id": 1233, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "645:1:21", + "src": "288:5:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "false" }, "functionReturnParameters": 1232, "id": 1234, "nodeType": "Return", - "src": "638:8:21" + "src": "281:12:23" } ] }, @@ -3769,9 +3213,9 @@ "id": 1236, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "allowance", + "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { "id": 1229, @@ -3783,7 +3227,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "584:7:21", + "src": "235:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3794,7 +3238,7 @@ "id": 1225, "name": "address", "nodeType": "ElementaryTypeName", - "src": "584:7:21", + "src": "235:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3809,28 +3253,28 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "593:7:21", + "src": "244:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { "id": 1227, - "name": "address", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "593:7:21", + "src": "244:7:23", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "583:18:21" + "src": "234:18:23" }, "payable": false, "returnParameters": { @@ -3843,134 +3287,138 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "623:7:21", + "src": "269:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { "id": 1230, - "name": "uint256", + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "623:7:21", + "src": "269:4:23", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "value": null, "visibility": "internal" } ], - "src": "622:9:21" + "src": "268:6:23" }, - "scope": 1237, - "src": "565:86:21", - "stateMutability": "view", - "superFunction": 2450, + "scope": 1285, + "src": "217:81:23", + "stateMutability": "nonpayable", + "superFunction": 2550, "visibility": "public" - } - ], - "scope": 1401, - "src": "102:551:21" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1238, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "688:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", - "typeString": "contract ERC20" - } - }, - "id": 1239, - "nodeType": "InheritanceSpecifier", - "src": "688:5:21" - } - ], - "contractDependencies": [ - 2479, - 2511 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1308, - "linearizedBaseContracts": [ - 1308, - 2479, - 2511 - ], - "name": "ERC20SucceedingMock", - "nodeType": "ContractDefinition", - "nodes": [ + }, { "body": { - "id": 1246, + "id": 1249, "nodeType": "Block", - "src": "751:19:21", + "src": "373:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", - "id": 1244, + "hexValue": "66616c7365", + "id": 1247, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "764:1:21", + "src": "386:5:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "false" }, - "functionReturnParameters": 1243, - "id": 1245, + "functionReturnParameters": 1246, + "id": 1248, "nodeType": "Return", - "src": "757:8:21" + "src": "379:12:23" } ] }, "documentation": null, - "id": 1247, + "id": 1250, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "totalSupply", + "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1240, - "nodeType": "ParameterList", - "parameters": [], - "src": "718:2:21" - }, - "payable": false, - "returnParameters": { "id": 1243, "nodeType": "ParameterList", "parameters": [ + { + "constant": false, + "id": 1238, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "324:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1237, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "324:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1240, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "333:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1239, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "333:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, { "constant": false, "id": 1242, "name": "", "nodeType": "VariableDeclaration", - "scope": 1247, - "src": "742:7:21", + "scope": 1250, + "src": "342:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3981,7 +3429,7 @@ "id": 1241, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "742:7:21", + "src": "342:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3991,125 +3439,20 @@ "visibility": "internal" } ], - "src": "741:9:21" - }, - "scope": 1308, - "src": "698:72:21", - "stateMutability": "view", - "superFunction": 2486, - "visibility": "public" - }, - { - "body": { - "id": 1258, - "nodeType": "Block", - "src": "834:22:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "847:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1255, - "id": 1257, - "nodeType": "Return", - "src": "840:11:21" - } - ] - }, - "documentation": null, - "id": 1259, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1252, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1249, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "794:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "794:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1251, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "803:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1250, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "793:18:21" + "src": "323:27:23" }, "payable": false, "returnParameters": { - "id": 1255, + "id": 1246, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1254, + "id": 1245, "name": "", "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "828:4:21", + "scope": 1250, + "src": "367:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4117,10 +3460,10 @@ "typeString": "bool" }, "typeName": { - "id": 1253, + "id": 1244, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "828:4:21", + "src": "367:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4130,213 +3473,48 @@ "visibility": "internal" } ], - "src": "827:6:21" + "src": "366:6:23" }, - "scope": 1308, - "src": "776:80:21", + "scope": 1285, + "src": "302:94:23", "stateMutability": "nonpayable", - "superFunction": 2502, + "superFunction": 2509, "visibility": "public" }, { "body": { - "id": 1272, + "id": 1261, "nodeType": "Block", - "src": "931:22:21", + "src": "457:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "74727565", - "id": 1270, + "hexValue": "66616c7365", + "id": 1259, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "944:4:21", + "src": "470:5:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, - "value": "true" + "value": "false" }, - "functionReturnParameters": 1269, - "id": 1271, + "functionReturnParameters": 1258, + "id": 1260, "nodeType": "Return", - "src": "937:11:21" + "src": "463:12:23" } ] }, "documentation": null, - "id": 1273, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1261, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "882:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "882:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1263, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "891:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1262, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1265, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "900:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1264, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "881:27:21" - }, - "payable": false, - "returnParameters": { - "id": 1269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1268, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "925:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1267, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "925:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "924:6:21" - }, - "scope": 1308, - "src": "860:93:21", - "stateMutability": "nonpayable", - "superFunction": 2461, - "visibility": "public" - }, - { - "body": { - "id": 1284, - "nodeType": "Block", - "src": "1014:22:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1027:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1281, - "id": 1283, - "nodeType": "Return", - "src": "1020:11:21" - } - ] - }, - "documentation": null, - "id": 1285, + "id": 1262, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -4344,16 +3522,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 1278, + "id": 1255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1275, + "id": 1252, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "974:7:21", + "scope": 1262, + "src": "417:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4361,10 +3539,10 @@ "typeString": "address" }, "typeName": { - "id": 1274, + "id": 1251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "974:7:21", + "src": "417:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4375,11 +3553,11 @@ }, { "constant": false, - "id": 1277, + "id": 1254, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "983:7:21", + "scope": 1262, + "src": "426:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4387,10 +3565,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1276, + "id": 1253, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "983:7:21", + "src": "426:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4400,20 +3578,20 @@ "visibility": "internal" } ], - "src": "973:18:21" + "src": "416:18:23" }, "payable": false, "returnParameters": { - "id": 1281, + "id": 1258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1280, + "id": 1257, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "1008:4:21", + "scope": 1262, + "src": "451:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4421,10 +3599,10 @@ "typeString": "bool" }, "typeName": { - "id": 1279, + "id": 1256, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1008:4:21", + "src": "451:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4434,19 +3612,312 @@ "visibility": "internal" } ], - "src": "1007:6:21" + "src": "450:6:23" }, - "scope": 1308, - "src": "957:79:21", + "scope": 1285, + "src": "400:80:23", "stateMutability": "nonpayable", - "superFunction": 2470, + "superFunction": 2518, "visibility": "public" }, + { + "body": { + "id": 1271, + "nodeType": "Block", + "src": "542:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "555:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1268, + "id": 1270, + "nodeType": "Return", + "src": "548:8:23" + } + ] + }, + "documentation": null, + "id": 1272, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1264, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1272, + "src": "503:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "503:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "502:9:23" + }, + "payable": false, + "returnParameters": { + "id": 1268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1267, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1272, + "src": "533:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "533:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "532:9:23" + }, + "scope": 1285, + "src": "484:77:23", + "stateMutability": "view", + "superFunction": 2541, + "visibility": "public" + }, + { + "body": { + "id": 1283, + "nodeType": "Block", + "src": "632:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "645:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1280, + "id": 1282, + "nodeType": "Return", + "src": "638:8:23" + } + ] + }, + "documentation": null, + "id": 1284, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1277, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1274, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "584:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1273, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "584:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1276, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "593:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1275, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "593:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "583:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1280, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1279, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "623:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1278, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "623:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "622:9:23" + }, + "scope": 1285, + "src": "565:86:23", + "stateMutability": "view", + "superFunction": 2498, + "visibility": "public" + } + ], + "scope": 1449, + "src": "102:551:23" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1286, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2527, + "src": "688:5:23", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2527", + "typeString": "contract ERC20" + } + }, + "id": 1287, + "nodeType": "InheritanceSpecifier", + "src": "688:5:23" + } + ], + "contractDependencies": [ + 2527, + 2559 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1356, + "linearizedBaseContracts": [ + 1356, + 2527, + 2559 + ], + "name": "ERC20SucceedingMock", + "nodeType": "ContractDefinition", + "nodes": [ { "body": { "id": 1294, "nodeType": "Block", - "src": "1098:19:21", + "src": "751:19:23", "statements": [ { "expression": { @@ -4459,7 +3930,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1111:1:21", + "src": "764:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4470,7 +3941,7 @@ "functionReturnParameters": 1291, "id": 1293, "nodeType": "Return", - "src": "1104:8:21" + "src": "757:8:23" } ] }, @@ -4480,40 +3951,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "balanceOf", + "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { "id": 1288, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1287, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1295, - "src": "1059:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1286, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1059:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1058:9:21" + "parameters": [], + "src": "718:2:23" }, "payable": false, "returnParameters": { @@ -4526,7 +3970,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1295, - "src": "1089:7:21", + "src": "742:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4537,7 +3981,7 @@ "id": 1289, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1089:7:21", + "src": "742:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4547,43 +3991,43 @@ "visibility": "internal" } ], - "src": "1088:9:21" + "src": "741:9:23" }, - "scope": 1308, - "src": "1040:77:21", + "scope": 1356, + "src": "698:72:23", "stateMutability": "view", - "superFunction": 2493, + "superFunction": 2534, "visibility": "public" }, { "body": { "id": 1306, "nodeType": "Block", - "src": "1188:19:21", + "src": "834:22:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", + "hexValue": "74727565", "id": 1304, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1201:1:21", + "src": "847:4:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "true" }, "functionReturnParameters": 1303, "id": 1305, "nodeType": "Return", - "src": "1194:8:21" + "src": "840:11:23" } ] }, @@ -4591,9 +4035,9 @@ "id": 1307, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "allowance", + "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { "id": 1300, @@ -4605,7 +4049,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1140:7:21", + "src": "794:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4616,7 +4060,7 @@ "id": 1296, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1140:7:21", + "src": "794:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4631,28 +4075,28 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1149:7:21", + "src": "803:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { "id": 1298, - "name": "address", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1149:7:21", + "src": "803:7:23", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "1139:18:21" + "src": "793:18:23" }, "payable": false, "returnParameters": { @@ -4665,7 +4109,138 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1179:7:21", + "src": "828:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1301, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "828:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "827:6:23" + }, + "scope": 1356, + "src": "776:80:23", + "stateMutability": "nonpayable", + "superFunction": 2550, + "visibility": "public" + }, + { + "body": { + "id": 1320, + "nodeType": "Block", + "src": "931:22:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "944:4:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1317, + "id": 1319, + "nodeType": "Return", + "src": "937:11:23" + } + ] + }, + "documentation": null, + "id": 1321, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1309, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "882:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1308, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "882:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1311, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "891:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1310, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "891:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1313, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "900:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4673,10 +4248,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1301, + "id": 1312, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1179:7:21", + "src": "900:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4686,85 +4261,510 @@ "visibility": "internal" } ], - "src": "1178:9:21" + "src": "881:27:23" }, - "scope": 1308, - "src": "1121:86:21", + "payable": false, + "returnParameters": { + "id": 1317, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1316, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "925:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1315, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "925:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "924:6:23" + }, + "scope": 1356, + "src": "860:93:23", + "stateMutability": "nonpayable", + "superFunction": 2509, + "visibility": "public" + }, + { + "body": { + "id": 1332, + "nodeType": "Block", + "src": "1014:22:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1027:4:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1329, + "id": 1331, + "nodeType": "Return", + "src": "1020:11:23" + } + ] + }, + "documentation": null, + "id": 1333, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1323, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "974:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1322, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "974:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1325, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "983:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "983:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "973:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1329, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1328, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "1008:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1327, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1008:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1007:6:23" + }, + "scope": 1356, + "src": "957:79:23", + "stateMutability": "nonpayable", + "superFunction": 2518, + "visibility": "public" + }, + { + "body": { + "id": 1342, + "nodeType": "Block", + "src": "1098:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1111:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1339, + "id": 1341, + "nodeType": "Return", + "src": "1104:8:23" + } + ] + }, + "documentation": null, + "id": 1343, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1335, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1343, + "src": "1059:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1059:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1058:9:23" + }, + "payable": false, + "returnParameters": { + "id": 1339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1338, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1343, + "src": "1089:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1337, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1089:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1088:9:23" + }, + "scope": 1356, + "src": "1040:77:23", "stateMutability": "view", - "superFunction": 2450, + "superFunction": 2541, + "visibility": "public" + }, + { + "body": { + "id": 1354, + "nodeType": "Block", + "src": "1188:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1201:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1351, + "id": 1353, + "nodeType": "Return", + "src": "1194:8:23" + } + ] + }, + "documentation": null, + "id": 1355, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1348, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1345, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1140:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1344, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1140:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1347, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1149:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1346, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1149:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1139:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1351, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1350, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1179:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1349, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1179:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1178:9:23" + }, + "scope": 1356, + "src": "1121:86:23", + "stateMutability": "view", + "superFunction": 2498, "visibility": "public" } ], - "scope": 1401, - "src": "656:553:21" + "scope": 1449, + "src": "656:553:23" }, { "baseContracts": [], "contractDependencies": [ - 1237, - 1308 + 1285, + 1356 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1400, + "id": 1448, "linearizedBaseContracts": [ - 1400 + 1448 ], "name": "SafeERC20Helper", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1311, + "id": 1359, "libraryName": { "contractScope": null, - "id": 1309, + "id": 1357, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2807, - "src": "1247:9:21", + "referencedDeclaration": 2855, + "src": "1247:9:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$2807", + "typeIdentifier": "t_contract$_SafeERC20_$2855", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "1241:26:21", + "src": "1241:26:23", "typeName": { "contractScope": null, - "id": 1310, + "id": 1358, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1261:5:21", + "referencedDeclaration": 2527, + "src": "1261:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } } }, { "constant": false, - "id": 1313, + "id": 1361, "name": "failing", "nodeType": "VariableDeclaration", - "scope": 1400, - "src": "1271:13:21", + "scope": 1448, + "src": "1271:13:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" }, "typeName": { "contractScope": null, - "id": 1312, + "id": 1360, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1271:5:21", + "referencedDeclaration": 2527, + "src": "1271:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -4773,26 +4773,26 @@ }, { "constant": false, - "id": 1315, + "id": 1363, "name": "succeeding", "nodeType": "VariableDeclaration", - "scope": 1400, - "src": "1288:16:21", + "scope": 1448, + "src": "1288:16:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" }, "typeName": { "contractScope": null, - "id": 1314, + "id": 1362, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1288:5:21", + "referencedDeclaration": 2527, + "src": "1288:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -4801,28 +4801,28 @@ }, { "body": { - "id": 1330, + "id": 1378, "nodeType": "Block", - "src": "1343:87:21", + "src": "1343:87:23", "statements": [ { "expression": { "argumentTypes": null, - "id": 1322, + "id": 1370, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1318, + "id": 1366, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1349:7:21", + "referencedDeclaration": 1361, + "src": "1349:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -4833,31 +4833,31 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1320, + "id": 1368, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1359:20:21", + "src": "1359:20:23", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20FailingMock_$1237_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20FailingMock_$1285_$", "typeString": "function () returns (contract ERC20FailingMock)" }, "typeName": { "contractScope": null, - "id": 1319, + "id": 1367, "name": "ERC20FailingMock", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1237, - "src": "1363:16:21", + "referencedDeclaration": 1285, + "src": "1363:16:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20FailingMock_$1237", + "typeIdentifier": "t_contract$_ERC20FailingMock_$1285", "typeString": "contract ERC20FailingMock" } } }, - "id": 1321, + "id": 1369, "isConstant": false, "isLValue": false, "isPure": false, @@ -4865,40 +4865,40 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1359:22:21", + "src": "1359:22:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20FailingMock_$1237", + "typeIdentifier": "t_contract$_ERC20FailingMock_$1285", "typeString": "contract ERC20FailingMock" } }, - "src": "1349:32:21", + "src": "1349:32:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1323, + "id": 1371, "nodeType": "ExpressionStatement", - "src": "1349:32:21" + "src": "1349:32:23" }, { "expression": { "argumentTypes": null, - "id": 1328, + "id": 1376, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1324, + "id": 1372, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1387:10:21", + "referencedDeclaration": 1363, + "src": "1387:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -4909,31 +4909,31 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1326, + "id": 1374, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1400:23:21", + "src": "1400:23:23", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20SucceedingMock_$1308_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20SucceedingMock_$1356_$", "typeString": "function () returns (contract ERC20SucceedingMock)" }, "typeName": { "contractScope": null, - "id": 1325, + "id": 1373, "name": "ERC20SucceedingMock", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1308, - "src": "1404:19:21", + "referencedDeclaration": 1356, + "src": "1404:19:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1308", + "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1356", "typeString": "contract ERC20SucceedingMock" } } }, - "id": 1327, + "id": 1375, "isConstant": false, "isLValue": false, "isPure": false, @@ -4941,26 +4941,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1400:25:21", + "src": "1400:25:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1308", + "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1356", "typeString": "contract ERC20SucceedingMock" } }, - "src": "1387:38:21", + "src": "1387:38:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1329, + "id": 1377, "nodeType": "ExpressionStatement", - "src": "1387:38:21" + "src": "1387:38:23" } ] }, "documentation": null, - "id": 1331, + "id": 1379, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -4968,29 +4968,29 @@ "name": "SafeERC20Helper", "nodeType": "FunctionDefinition", "parameters": { - "id": 1316, + "id": 1364, "nodeType": "ParameterList", "parameters": [], - "src": "1333:2:21" + "src": "1333:2:23" }, "payable": false, "returnParameters": { - "id": 1317, + "id": 1365, "nodeType": "ParameterList", "parameters": [], - "src": "1343:0:21" + "src": "1343:0:23" }, - "scope": 1400, - "src": "1309:121:21", + "scope": 1448, + "src": "1309:121:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1341, + "id": 1389, "nodeType": "Block", - "src": "1470:37:21", + "src": "1470:37:23", "statements": [ { "expression": { @@ -4999,14 +4999,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1337, + "id": 1385, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1497:1:21", + "src": "1497:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5017,14 +5017,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1338, + "id": 1386, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1500:1:21", + "src": "1500:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5046,32 +5046,32 @@ ], "expression": { "argumentTypes": null, - "id": 1334, + "id": 1382, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1476:7:21", + "referencedDeclaration": 1361, + "src": "1476:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1336, + "id": 1384, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "1476:20:21", + "referencedDeclaration": 2815, + "src": "1476:20:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 1339, + "id": 1387, "isConstant": false, "isLValue": false, "isPure": false, @@ -5079,20 +5079,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1476:26:21", + "src": "1476:26:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1340, + "id": 1388, "nodeType": "ExpressionStatement", - "src": "1476:26:21" + "src": "1476:26:23" } ] }, "documentation": null, - "id": 1342, + "id": 1390, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5100,29 +5100,29 @@ "name": "doFailingTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1332, + "id": 1380, "nodeType": "ParameterList", "parameters": [], - "src": "1460:2:21" + "src": "1460:2:23" }, "payable": false, "returnParameters": { - "id": 1333, + "id": 1381, "nodeType": "ParameterList", "parameters": [], - "src": "1470:0:21" + "src": "1470:0:23" }, - "scope": 1400, - "src": "1434:73:21", + "scope": 1448, + "src": "1434:73:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1353, + "id": 1401, "nodeType": "Block", - "src": "1551:44:21", + "src": "1551:44:23", "statements": [ { "expression": { @@ -5131,14 +5131,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1348, + "id": 1396, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1582:1:21", + "src": "1582:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5149,14 +5149,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1349, + "id": 1397, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1585:1:21", + "src": "1585:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5167,14 +5167,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1350, + "id": 1398, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1588:1:21", + "src": "1588:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5200,32 +5200,32 @@ ], "expression": { "argumentTypes": null, - "id": 1345, + "id": 1393, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1557:7:21", + "referencedDeclaration": 1361, + "src": "1557:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1347, + "id": 1395, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 2788, - "src": "1557:24:21", + "referencedDeclaration": 2836, + "src": "1557:24:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,address,uint256)" } }, - "id": 1351, + "id": 1399, "isConstant": false, "isLValue": false, "isPure": false, @@ -5233,20 +5233,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1557:33:21", + "src": "1557:33:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1352, + "id": 1400, "nodeType": "ExpressionStatement", - "src": "1557:33:21" + "src": "1557:33:23" } ] }, "documentation": null, - "id": 1354, + "id": 1402, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5254,29 +5254,29 @@ "name": "doFailingTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1343, + "id": 1391, "nodeType": "ParameterList", "parameters": [], - "src": "1541:2:21" + "src": "1541:2:23" }, "payable": false, "returnParameters": { - "id": 1344, + "id": 1392, "nodeType": "ParameterList", "parameters": [], - "src": "1551:0:21" + "src": "1551:0:23" }, - "scope": 1400, - "src": "1511:84:21", + "scope": 1448, + "src": "1511:84:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1364, + "id": 1412, "nodeType": "Block", - "src": "1634:36:21", + "src": "1634:36:23", "statements": [ { "expression": { @@ -5285,14 +5285,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1360, + "id": 1408, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1660:1:21", + "src": "1660:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5303,14 +5303,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1361, + "id": 1409, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1663:1:21", + "src": "1663:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5332,32 +5332,32 @@ ], "expression": { "argumentTypes": null, - "id": 1357, + "id": 1405, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1640:7:21", + "referencedDeclaration": 1361, + "src": "1640:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1359, + "id": 1407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeApprove", "nodeType": "MemberAccess", - "referencedDeclaration": 2806, - "src": "1640:19:21", + "referencedDeclaration": 2854, + "src": "1640:19:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,uint256)" } }, - "id": 1362, + "id": 1410, "isConstant": false, "isLValue": false, "isPure": false, @@ -5365,20 +5365,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1640:25:21", + "src": "1640:25:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1363, + "id": 1411, "nodeType": "ExpressionStatement", - "src": "1640:25:21" + "src": "1640:25:23" } ] }, "documentation": null, - "id": 1365, + "id": 1413, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5386,29 +5386,29 @@ "name": "doFailingApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1355, + "id": 1403, "nodeType": "ParameterList", "parameters": [], - "src": "1624:2:21" + "src": "1624:2:23" }, "payable": false, "returnParameters": { - "id": 1356, + "id": 1404, "nodeType": "ParameterList", "parameters": [], - "src": "1634:0:21" + "src": "1634:0:23" }, - "scope": 1400, - "src": "1599:71:21", + "scope": 1448, + "src": "1599:71:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1375, + "id": 1423, "nodeType": "Block", - "src": "1713:40:21", + "src": "1713:40:23", "statements": [ { "expression": { @@ -5417,14 +5417,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1371, + "id": 1419, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1743:1:21", + "src": "1743:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5435,14 +5435,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1372, + "id": 1420, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1746:1:21", + "src": "1746:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5464,32 +5464,32 @@ ], "expression": { "argumentTypes": null, - "id": 1368, + "id": 1416, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1719:10:21", + "referencedDeclaration": 1363, + "src": "1719:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1370, + "id": 1418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "1719:23:21", + "referencedDeclaration": 2815, + "src": "1719:23:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 1373, + "id": 1421, "isConstant": false, "isLValue": false, "isPure": false, @@ -5497,20 +5497,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1719:29:21", + "src": "1719:29:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1374, + "id": 1422, "nodeType": "ExpressionStatement", - "src": "1719:29:21" + "src": "1719:29:23" } ] }, "documentation": null, - "id": 1376, + "id": 1424, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5518,29 +5518,29 @@ "name": "doSucceedingTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1366, + "id": 1414, "nodeType": "ParameterList", "parameters": [], - "src": "1703:2:21" + "src": "1703:2:23" }, "payable": false, "returnParameters": { - "id": 1367, + "id": 1415, "nodeType": "ParameterList", "parameters": [], - "src": "1713:0:21" + "src": "1713:0:23" }, - "scope": 1400, - "src": "1674:79:21", + "scope": 1448, + "src": "1674:79:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1387, + "id": 1435, "nodeType": "Block", - "src": "1800:47:21", + "src": "1800:47:23", "statements": [ { "expression": { @@ -5549,14 +5549,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1382, + "id": 1430, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1834:1:21", + "src": "1834:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5567,14 +5567,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1383, + "id": 1431, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1837:1:21", + "src": "1837:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5585,14 +5585,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1384, + "id": 1432, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1840:1:21", + "src": "1840:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5618,32 +5618,32 @@ ], "expression": { "argumentTypes": null, - "id": 1379, + "id": 1427, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1806:10:21", + "referencedDeclaration": 1363, + "src": "1806:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1381, + "id": 1429, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 2788, - "src": "1806:27:21", + "referencedDeclaration": 2836, + "src": "1806:27:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,address,uint256)" } }, - "id": 1385, + "id": 1433, "isConstant": false, "isLValue": false, "isPure": false, @@ -5651,20 +5651,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1806:36:21", + "src": "1806:36:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1386, + "id": 1434, "nodeType": "ExpressionStatement", - "src": "1806:36:21" + "src": "1806:36:23" } ] }, "documentation": null, - "id": 1388, + "id": 1436, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5672,29 +5672,29 @@ "name": "doSucceedingTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1377, + "id": 1425, "nodeType": "ParameterList", "parameters": [], - "src": "1790:2:21" + "src": "1790:2:23" }, "payable": false, "returnParameters": { - "id": 1378, + "id": 1426, "nodeType": "ParameterList", "parameters": [], - "src": "1800:0:21" + "src": "1800:0:23" }, - "scope": 1400, - "src": "1757:90:21", + "scope": 1448, + "src": "1757:90:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1398, + "id": 1446, "nodeType": "Block", - "src": "1889:39:21", + "src": "1889:39:23", "statements": [ { "expression": { @@ -5703,14 +5703,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1394, + "id": 1442, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1918:1:21", + "src": "1918:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5721,14 +5721,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1395, + "id": 1443, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1921:1:21", + "src": "1921:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5750,32 +5750,32 @@ ], "expression": { "argumentTypes": null, - "id": 1391, + "id": 1439, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1895:10:21", + "referencedDeclaration": 1363, + "src": "1895:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1393, + "id": 1441, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeApprove", "nodeType": "MemberAccess", - "referencedDeclaration": 2806, - "src": "1895:22:21", + "referencedDeclaration": 2854, + "src": "1895:22:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,uint256)" } }, - "id": 1396, + "id": 1444, "isConstant": false, "isLValue": false, "isPure": false, @@ -5783,20 +5783,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1895:28:21", + "src": "1895:28:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1397, + "id": 1445, "nodeType": "ExpressionStatement", - "src": "1895:28:21" + "src": "1895:28:23" } ] }, "documentation": null, - "id": 1399, + "id": 1447, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5804,36 +5804,36 @@ "name": "doSucceedingApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1389, + "id": 1437, "nodeType": "ParameterList", "parameters": [], - "src": "1879:2:21" + "src": "1879:2:23" }, "payable": false, "returnParameters": { - "id": 1390, + "id": 1438, "nodeType": "ParameterList", "parameters": [], - "src": "1889:0:21" + "src": "1889:0:23" }, - "scope": 1400, - "src": "1851:77:21", + "scope": 1448, + "src": "1851:77:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1401, - "src": "1212:718:21" + "scope": 1449, + "src": "1212:718:23" } ], - "src": "0:1931:21" + "src": "0:1931:23" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.627Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.207Z" } \ No newline at end of file diff --git a/build/contracts/ERC20SucceedingMock.json b/build/contracts/ERC20SucceedingMock.json index 8979619ea..8d6571d02 100644 --- a/build/contracts/ERC20SucceedingMock.json +++ b/build/contracts/ERC20SucceedingMock.json @@ -175,30 +175,30 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50610333806100206000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461007d57806318160ddd146100e257806323b872dd1461010d57806370a0823114610192578063a9059cbb146101e9578063dd62ed3e1461024e575b600080fd5b34801561008957600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102c5565b604051808215151515815260200191505060405180910390f35b3480156100ee57600080fd5b506100f76102d1565b6040518082815260200191505060405180910390f35b34801561011957600080fd5b50610178600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102d9565b604051808215151515815260200191505060405180910390f35b34801561019e57600080fd5b506101d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102e6565b6040518082815260200191505060405180910390f35b3480156101f557600080fd5b50610234600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102f0565b604051808215151515815260200191505060405180910390f35b34801561025a57600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102fc565b6040518082815260200191505060405180910390f35b60006001905092915050565b600080905090565b6000600190509392505050565b6000809050919050565b60006001905092915050565b6000809050929150505600a165627a7a723058206030d3b1270f7a73664aeadead667a097a0628a45447491be1240bf63d483af70029", - "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461007d57806318160ddd146100e257806323b872dd1461010d57806370a0823114610192578063a9059cbb146101e9578063dd62ed3e1461024e575b600080fd5b34801561008957600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102c5565b604051808215151515815260200191505060405180910390f35b3480156100ee57600080fd5b506100f76102d1565b6040518082815260200191505060405180910390f35b34801561011957600080fd5b50610178600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102d9565b604051808215151515815260200191505060405180910390f35b34801561019e57600080fd5b506101d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102e6565b6040518082815260200191505060405180910390f35b3480156101f557600080fd5b50610234600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102f0565b604051808215151515815260200191505060405180910390f35b34801561025a57600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102fc565b6040518082815260200191505060405180910390f35b60006001905092915050565b600080905090565b6000600190509392505050565b6000809050919050565b60006001905092915050565b6000809050929150505600a165627a7a723058206030d3b1270f7a73664aeadead667a097a0628a45447491be1240bf63d483af70029", - "sourceMap": "656:553:21:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;656:553:21;;;;;;;", - "deployedSourceMap": "656:553:21:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;957:79;;8:9:-1;5:2;;;30:1;27;20:12;5:2;957:79:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;698:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;698:72:21;;;;;;;;;;;;;;;;;;;;;;;860:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;860:93:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1040:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1040:77:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;776:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;776:80:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1121:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1121:86:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;957:79;1008:4;1027;1020:11;;957:79;;;;:::o;698:72::-;742:7;764:1;757:8;;698:72;:::o;860:93::-;925:4;944;937:11;;860:93;;;;;:::o;1040:77::-;1089:7;1111:1;1104:8;;1040:77;;;:::o;776:80::-;828:4;847;840:11;;776:80;;;;:::o;1121:86::-;1179:7;1201:1;1194:8;;1121:86;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b50610333806100206000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461007d57806318160ddd146100e257806323b872dd1461010d57806370a0823114610192578063a9059cbb146101e9578063dd62ed3e1461024e575b600080fd5b34801561008957600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102c5565b604051808215151515815260200191505060405180910390f35b3480156100ee57600080fd5b506100f76102d1565b6040518082815260200191505060405180910390f35b34801561011957600080fd5b50610178600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102d9565b604051808215151515815260200191505060405180910390f35b34801561019e57600080fd5b506101d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102e6565b6040518082815260200191505060405180910390f35b3480156101f557600080fd5b50610234600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102f0565b604051808215151515815260200191505060405180910390f35b34801561025a57600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102fc565b6040518082815260200191505060405180910390f35b60006001905092915050565b600080905090565b6000600190509392505050565b6000809050919050565b60006001905092915050565b6000809050929150505600a165627a7a72305820c5c19aff9120b287fe7edc145d1271f1fc60e7e062268d1e621ab3e70e35adb50029", + "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461007d57806318160ddd146100e257806323b872dd1461010d57806370a0823114610192578063a9059cbb146101e9578063dd62ed3e1461024e575b600080fd5b34801561008957600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102c5565b604051808215151515815260200191505060405180910390f35b3480156100ee57600080fd5b506100f76102d1565b6040518082815260200191505060405180910390f35b34801561011957600080fd5b50610178600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102d9565b604051808215151515815260200191505060405180910390f35b34801561019e57600080fd5b506101d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102e6565b6040518082815260200191505060405180910390f35b3480156101f557600080fd5b50610234600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102f0565b604051808215151515815260200191505060405180910390f35b34801561025a57600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102fc565b6040518082815260200191505060405180910390f35b60006001905092915050565b600080905090565b6000600190509392505050565b6000809050919050565b60006001905092915050565b6000809050929150505600a165627a7a72305820c5c19aff9120b287fe7edc145d1271f1fc60e7e062268d1e621ab3e70e35adb50029", + "sourceMap": "656:553:23:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;656:553:23;;;;;;;", + "deployedSourceMap": "656:553:23:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;957:79;;8:9:-1;5:2;;;30:1;27;20:12;5:2;957:79:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;698:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;698:72:23;;;;;;;;;;;;;;;;;;;;;;;860:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;860:93:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1040:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1040:77:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;776:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;776:80:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1121:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1121:86:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;957:79;1008:4;1027;1020:11;;957:79;;;;:::o;698:72::-;742:7;764:1;757:8;;698:72;:::o;860:93::-;925:4;944;937:11;;860:93;;;;;:::o;1040:77::-;1089:7;1111:1;1104:8;;1040:77;;;:::o;776:80::-;828:4;847;840:11;;776:80;;;;:::o;1121:86::-;1179:7;1201:1;1194:8;;1121:86;;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"../token/ERC20/ERC20.sol\";\nimport \"../token/ERC20/SafeERC20.sol\";\n\n\ncontract ERC20FailingMock is ERC20 {\n function totalSupply() public view returns (uint256) {\n return 0;\n }\n\n function transfer(address, uint256) public returns (bool) {\n return false;\n }\n\n function transferFrom(address, address, uint256) public returns (bool) {\n return false;\n }\n\n function approve(address, uint256) public returns (bool) {\n return false;\n }\n\n function balanceOf(address) public view returns (uint256) {\n return 0;\n }\n\n function allowance(address, address) public view returns (uint256) {\n return 0;\n }\n}\n\n\ncontract ERC20SucceedingMock is ERC20 {\n function totalSupply() public view returns (uint256) {\n return 0;\n }\n \n function transfer(address, uint256) public returns (bool) {\n return true;\n }\n\n function transferFrom(address, address, uint256) public returns (bool) {\n return true;\n }\n\n function approve(address, uint256) public returns (bool) {\n return true;\n }\n\n function balanceOf(address) public view returns (uint256) {\n return 0;\n }\n\n function allowance(address, address) public view returns (uint256) {\n return 0;\n }\n}\n\n\ncontract SafeERC20Helper {\n using SafeERC20 for ERC20;\n\n ERC20 failing;\n ERC20 succeeding;\n\n function SafeERC20Helper() public {\n failing = new ERC20FailingMock();\n succeeding = new ERC20SucceedingMock();\n }\n\n function doFailingTransfer() public {\n failing.safeTransfer(0, 0);\n }\n\n function doFailingTransferFrom() public {\n failing.safeTransferFrom(0, 0, 0);\n }\n\n function doFailingApprove() public {\n failing.safeApprove(0, 0);\n }\n\n function doSucceedingTransfer() public {\n succeeding.safeTransfer(0, 0);\n }\n\n function doSucceedingTransferFrom() public {\n succeeding.safeTransferFrom(0, 0, 0);\n }\n\n function doSucceedingApprove() public {\n succeeding.safeApprove(0, 0);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/SafeERC20Helper.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/SafeERC20Helper.sol", "exportedSymbols": { "ERC20FailingMock": [ - 1237 + 1285 ], "ERC20SucceedingMock": [ - 1308 + 1356 ], "SafeERC20Helper": [ - 1400 + 1448 ] }, - "id": 1401, + "id": 1449, "nodeType": "SourceUnit", "nodes": [ { - "id": 1164, + "id": 1212, "literals": [ "solidity", "^", @@ -206,27 +206,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:21" + "src": "0:24:23" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20.sol", "file": "../token/ERC20/ERC20.sol", - "id": 1165, + "id": 1213, "nodeType": "ImportDirective", - "scope": 1401, - "sourceUnit": 2480, - "src": "26:34:21", + "scope": 1449, + "sourceUnit": 2528, + "src": "26:34:23", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/SafeERC20.sol", "file": "../token/ERC20/SafeERC20.sol", - "id": 1166, + "id": 1214, "nodeType": "ImportDirective", - "scope": 1401, - "sourceUnit": 2808, - "src": "61:38:21", + "scope": 1449, + "sourceUnit": 2856, + "src": "61:38:23", "symbolAliases": [], "unitAlias": "" }, @@ -236,571 +236,42 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1167, + "id": 1215, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "131:5:21", + "referencedDeclaration": 2527, + "src": "131:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1168, + "id": 1216, "nodeType": "InheritanceSpecifier", - "src": "131:5:21" + "src": "131:5:23" } ], "contractDependencies": [ - 2479, - 2511 + 2527, + 2559 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1237, + "id": 1285, "linearizedBaseContracts": [ - 1237, - 2479, - 2511 + 1285, + 2527, + 2559 ], "name": "ERC20FailingMock", "nodeType": "ContractDefinition", "nodes": [ - { - "body": { - "id": 1175, - "nodeType": "Block", - "src": "194:19:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "207:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 1172, - "id": 1174, - "nodeType": "Return", - "src": "200:8:21" - } - ] - }, - "documentation": null, - "id": 1176, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1169, - "nodeType": "ParameterList", - "parameters": [], - "src": "161:2:21" - }, - "payable": false, - "returnParameters": { - "id": 1172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1171, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1176, - "src": "185:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1170, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "185:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "184:9:21" - }, - "scope": 1237, - "src": "141:72:21", - "stateMutability": "view", - "superFunction": 2486, - "visibility": "public" - }, - { - "body": { - "id": 1187, - "nodeType": "Block", - "src": "275:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "288:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1184, - "id": 1186, - "nodeType": "Return", - "src": "281:12:21" - } - ] - }, - "documentation": null, - "id": 1188, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1178, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "235:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1177, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "235:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1180, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "244:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "234:18:21" - }, - "payable": false, - "returnParameters": { - "id": 1184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1183, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "269:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1182, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "269:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "268:6:21" - }, - "scope": 1237, - "src": "217:81:21", - "stateMutability": "nonpayable", - "superFunction": 2502, - "visibility": "public" - }, - { - "body": { - "id": 1201, - "nodeType": "Block", - "src": "373:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "386:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1198, - "id": 1200, - "nodeType": "Return", - "src": "379:12:21" - } - ] - }, - "documentation": null, - "id": 1202, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1190, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "324:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "324:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1192, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "333:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "333:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1194, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "342:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "342:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "323:27:21" - }, - "payable": false, - "returnParameters": { - "id": 1198, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1197, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "367:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1196, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "367:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "366:6:21" - }, - "scope": 1237, - "src": "302:94:21", - "stateMutability": "nonpayable", - "superFunction": 2461, - "visibility": "public" - }, - { - "body": { - "id": 1213, - "nodeType": "Block", - "src": "457:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "470:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1210, - "id": 1212, - "nodeType": "Return", - "src": "463:12:21" - } - ] - }, - "documentation": null, - "id": 1214, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1204, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "417:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "417:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1206, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "426:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "426:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "416:18:21" - }, - "payable": false, - "returnParameters": { - "id": 1210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1209, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "451:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1208, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "451:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "450:6:21" - }, - "scope": 1237, - "src": "400:80:21", - "stateMutability": "nonpayable", - "superFunction": 2470, - "visibility": "public" - }, { "body": { "id": 1223, "nodeType": "Block", - "src": "542:19:21", + "src": "194:19:23", "statements": [ { "expression": { @@ -813,7 +284,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "555:1:21", + "src": "207:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -824,7 +295,7 @@ "functionReturnParameters": 1220, "id": 1222, "nodeType": "Return", - "src": "548:8:21" + "src": "200:8:23" } ] }, @@ -834,40 +305,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "balanceOf", + "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { "id": 1217, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1216, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1224, - "src": "503:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1215, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "502:9:21" + "parameters": [], + "src": "161:2:23" }, "payable": false, "returnParameters": { @@ -880,7 +324,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "533:7:21", + "src": "185:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -891,7 +335,7 @@ "id": 1218, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "533:7:21", + "src": "185:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -901,43 +345,43 @@ "visibility": "internal" } ], - "src": "532:9:21" + "src": "184:9:23" }, - "scope": 1237, - "src": "484:77:21", + "scope": 1285, + "src": "141:72:23", "stateMutability": "view", - "superFunction": 2493, + "superFunction": 2534, "visibility": "public" }, { "body": { "id": 1235, "nodeType": "Block", - "src": "632:19:21", + "src": "275:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", + "hexValue": "66616c7365", "id": 1233, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "645:1:21", + "src": "288:5:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "false" }, "functionReturnParameters": 1232, "id": 1234, "nodeType": "Return", - "src": "638:8:21" + "src": "281:12:23" } ] }, @@ -945,9 +389,9 @@ "id": 1236, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "allowance", + "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { "id": 1229, @@ -959,7 +403,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "584:7:21", + "src": "235:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -970,7 +414,7 @@ "id": 1225, "name": "address", "nodeType": "ElementaryTypeName", - "src": "584:7:21", + "src": "235:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -985,28 +429,28 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "593:7:21", + "src": "244:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { "id": 1227, - "name": "address", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "593:7:21", + "src": "244:7:23", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "583:18:21" + "src": "234:18:23" }, "payable": false, "returnParameters": { @@ -1019,134 +463,138 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "623:7:21", + "src": "269:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { "id": 1230, - "name": "uint256", + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "623:7:21", + "src": "269:4:23", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "value": null, "visibility": "internal" } ], - "src": "622:9:21" + "src": "268:6:23" }, - "scope": 1237, - "src": "565:86:21", - "stateMutability": "view", - "superFunction": 2450, + "scope": 1285, + "src": "217:81:23", + "stateMutability": "nonpayable", + "superFunction": 2550, "visibility": "public" - } - ], - "scope": 1401, - "src": "102:551:21" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1238, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "688:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", - "typeString": "contract ERC20" - } - }, - "id": 1239, - "nodeType": "InheritanceSpecifier", - "src": "688:5:21" - } - ], - "contractDependencies": [ - 2479, - 2511 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1308, - "linearizedBaseContracts": [ - 1308, - 2479, - 2511 - ], - "name": "ERC20SucceedingMock", - "nodeType": "ContractDefinition", - "nodes": [ + }, { "body": { - "id": 1246, + "id": 1249, "nodeType": "Block", - "src": "751:19:21", + "src": "373:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", - "id": 1244, + "hexValue": "66616c7365", + "id": 1247, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "764:1:21", + "src": "386:5:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "false" }, - "functionReturnParameters": 1243, - "id": 1245, + "functionReturnParameters": 1246, + "id": 1248, "nodeType": "Return", - "src": "757:8:21" + "src": "379:12:23" } ] }, "documentation": null, - "id": 1247, + "id": 1250, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "totalSupply", + "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1240, - "nodeType": "ParameterList", - "parameters": [], - "src": "718:2:21" - }, - "payable": false, - "returnParameters": { "id": 1243, "nodeType": "ParameterList", "parameters": [ + { + "constant": false, + "id": 1238, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "324:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1237, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "324:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1240, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "333:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1239, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "333:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, { "constant": false, "id": 1242, "name": "", "nodeType": "VariableDeclaration", - "scope": 1247, - "src": "742:7:21", + "scope": 1250, + "src": "342:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1157,7 +605,7 @@ "id": 1241, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "742:7:21", + "src": "342:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1167,125 +615,20 @@ "visibility": "internal" } ], - "src": "741:9:21" - }, - "scope": 1308, - "src": "698:72:21", - "stateMutability": "view", - "superFunction": 2486, - "visibility": "public" - }, - { - "body": { - "id": 1258, - "nodeType": "Block", - "src": "834:22:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "847:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1255, - "id": 1257, - "nodeType": "Return", - "src": "840:11:21" - } - ] - }, - "documentation": null, - "id": 1259, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1252, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1249, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "794:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "794:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1251, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "803:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1250, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "793:18:21" + "src": "323:27:23" }, "payable": false, "returnParameters": { - "id": 1255, + "id": 1246, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1254, + "id": 1245, "name": "", "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "828:4:21", + "scope": 1250, + "src": "367:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1293,10 +636,10 @@ "typeString": "bool" }, "typeName": { - "id": 1253, + "id": 1244, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "828:4:21", + "src": "367:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1306,213 +649,48 @@ "visibility": "internal" } ], - "src": "827:6:21" + "src": "366:6:23" }, - "scope": 1308, - "src": "776:80:21", + "scope": 1285, + "src": "302:94:23", "stateMutability": "nonpayable", - "superFunction": 2502, + "superFunction": 2509, "visibility": "public" }, { "body": { - "id": 1272, + "id": 1261, "nodeType": "Block", - "src": "931:22:21", + "src": "457:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "74727565", - "id": 1270, + "hexValue": "66616c7365", + "id": 1259, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "944:4:21", + "src": "470:5:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, - "value": "true" + "value": "false" }, - "functionReturnParameters": 1269, - "id": 1271, + "functionReturnParameters": 1258, + "id": 1260, "nodeType": "Return", - "src": "937:11:21" + "src": "463:12:23" } ] }, "documentation": null, - "id": 1273, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1261, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "882:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "882:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1263, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "891:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1262, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1265, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "900:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1264, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "881:27:21" - }, - "payable": false, - "returnParameters": { - "id": 1269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1268, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "925:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1267, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "925:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "924:6:21" - }, - "scope": 1308, - "src": "860:93:21", - "stateMutability": "nonpayable", - "superFunction": 2461, - "visibility": "public" - }, - { - "body": { - "id": 1284, - "nodeType": "Block", - "src": "1014:22:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1027:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1281, - "id": 1283, - "nodeType": "Return", - "src": "1020:11:21" - } - ] - }, - "documentation": null, - "id": 1285, + "id": 1262, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1520,16 +698,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 1278, + "id": 1255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1275, + "id": 1252, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "974:7:21", + "scope": 1262, + "src": "417:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1537,10 +715,10 @@ "typeString": "address" }, "typeName": { - "id": 1274, + "id": 1251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "974:7:21", + "src": "417:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1551,11 +729,11 @@ }, { "constant": false, - "id": 1277, + "id": 1254, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "983:7:21", + "scope": 1262, + "src": "426:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1563,10 +741,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1276, + "id": 1253, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "983:7:21", + "src": "426:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1576,20 +754,20 @@ "visibility": "internal" } ], - "src": "973:18:21" + "src": "416:18:23" }, "payable": false, "returnParameters": { - "id": 1281, + "id": 1258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1280, + "id": 1257, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "1008:4:21", + "scope": 1262, + "src": "451:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1597,10 +775,10 @@ "typeString": "bool" }, "typeName": { - "id": 1279, + "id": 1256, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1008:4:21", + "src": "451:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1610,19 +788,312 @@ "visibility": "internal" } ], - "src": "1007:6:21" + "src": "450:6:23" }, - "scope": 1308, - "src": "957:79:21", + "scope": 1285, + "src": "400:80:23", "stateMutability": "nonpayable", - "superFunction": 2470, + "superFunction": 2518, "visibility": "public" }, + { + "body": { + "id": 1271, + "nodeType": "Block", + "src": "542:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "555:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1268, + "id": 1270, + "nodeType": "Return", + "src": "548:8:23" + } + ] + }, + "documentation": null, + "id": 1272, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1264, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1272, + "src": "503:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "503:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "502:9:23" + }, + "payable": false, + "returnParameters": { + "id": 1268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1267, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1272, + "src": "533:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "533:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "532:9:23" + }, + "scope": 1285, + "src": "484:77:23", + "stateMutability": "view", + "superFunction": 2541, + "visibility": "public" + }, + { + "body": { + "id": 1283, + "nodeType": "Block", + "src": "632:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "645:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1280, + "id": 1282, + "nodeType": "Return", + "src": "638:8:23" + } + ] + }, + "documentation": null, + "id": 1284, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1277, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1274, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "584:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1273, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "584:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1276, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "593:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1275, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "593:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "583:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1280, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1279, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "623:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1278, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "623:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "622:9:23" + }, + "scope": 1285, + "src": "565:86:23", + "stateMutability": "view", + "superFunction": 2498, + "visibility": "public" + } + ], + "scope": 1449, + "src": "102:551:23" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1286, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2527, + "src": "688:5:23", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2527", + "typeString": "contract ERC20" + } + }, + "id": 1287, + "nodeType": "InheritanceSpecifier", + "src": "688:5:23" + } + ], + "contractDependencies": [ + 2527, + 2559 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1356, + "linearizedBaseContracts": [ + 1356, + 2527, + 2559 + ], + "name": "ERC20SucceedingMock", + "nodeType": "ContractDefinition", + "nodes": [ { "body": { "id": 1294, "nodeType": "Block", - "src": "1098:19:21", + "src": "751:19:23", "statements": [ { "expression": { @@ -1635,7 +1106,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1111:1:21", + "src": "764:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1646,7 +1117,7 @@ "functionReturnParameters": 1291, "id": 1293, "nodeType": "Return", - "src": "1104:8:21" + "src": "757:8:23" } ] }, @@ -1656,40 +1127,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "balanceOf", + "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { "id": 1288, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1287, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1295, - "src": "1059:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1286, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1059:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1058:9:21" + "parameters": [], + "src": "718:2:23" }, "payable": false, "returnParameters": { @@ -1702,7 +1146,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1295, - "src": "1089:7:21", + "src": "742:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1713,7 +1157,7 @@ "id": 1289, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1089:7:21", + "src": "742:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1723,43 +1167,43 @@ "visibility": "internal" } ], - "src": "1088:9:21" + "src": "741:9:23" }, - "scope": 1308, - "src": "1040:77:21", + "scope": 1356, + "src": "698:72:23", "stateMutability": "view", - "superFunction": 2493, + "superFunction": 2534, "visibility": "public" }, { "body": { "id": 1306, "nodeType": "Block", - "src": "1188:19:21", + "src": "834:22:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", + "hexValue": "74727565", "id": 1304, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1201:1:21", + "src": "847:4:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "true" }, "functionReturnParameters": 1303, "id": 1305, "nodeType": "Return", - "src": "1194:8:21" + "src": "840:11:23" } ] }, @@ -1767,9 +1211,9 @@ "id": 1307, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "allowance", + "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { "id": 1300, @@ -1781,7 +1225,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1140:7:21", + "src": "794:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1792,7 +1236,7 @@ "id": 1296, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1140:7:21", + "src": "794:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1807,28 +1251,28 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1149:7:21", + "src": "803:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { "id": 1298, - "name": "address", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1149:7:21", + "src": "803:7:23", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "1139:18:21" + "src": "793:18:23" }, "payable": false, "returnParameters": { @@ -1841,7 +1285,138 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1179:7:21", + "src": "828:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1301, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "828:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "827:6:23" + }, + "scope": 1356, + "src": "776:80:23", + "stateMutability": "nonpayable", + "superFunction": 2550, + "visibility": "public" + }, + { + "body": { + "id": 1320, + "nodeType": "Block", + "src": "931:22:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "944:4:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1317, + "id": 1319, + "nodeType": "Return", + "src": "937:11:23" + } + ] + }, + "documentation": null, + "id": 1321, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1309, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "882:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1308, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "882:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1311, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "891:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1310, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "891:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1313, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "900:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1849,10 +1424,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1301, + "id": 1312, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1179:7:21", + "src": "900:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1862,85 +1437,510 @@ "visibility": "internal" } ], - "src": "1178:9:21" + "src": "881:27:23" }, - "scope": 1308, - "src": "1121:86:21", + "payable": false, + "returnParameters": { + "id": 1317, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1316, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "925:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1315, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "925:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "924:6:23" + }, + "scope": 1356, + "src": "860:93:23", + "stateMutability": "nonpayable", + "superFunction": 2509, + "visibility": "public" + }, + { + "body": { + "id": 1332, + "nodeType": "Block", + "src": "1014:22:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1027:4:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1329, + "id": 1331, + "nodeType": "Return", + "src": "1020:11:23" + } + ] + }, + "documentation": null, + "id": 1333, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1323, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "974:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1322, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "974:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1325, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "983:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "983:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "973:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1329, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1328, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "1008:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1327, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1008:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1007:6:23" + }, + "scope": 1356, + "src": "957:79:23", + "stateMutability": "nonpayable", + "superFunction": 2518, + "visibility": "public" + }, + { + "body": { + "id": 1342, + "nodeType": "Block", + "src": "1098:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1111:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1339, + "id": 1341, + "nodeType": "Return", + "src": "1104:8:23" + } + ] + }, + "documentation": null, + "id": 1343, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1335, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1343, + "src": "1059:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1059:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1058:9:23" + }, + "payable": false, + "returnParameters": { + "id": 1339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1338, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1343, + "src": "1089:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1337, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1089:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1088:9:23" + }, + "scope": 1356, + "src": "1040:77:23", "stateMutability": "view", - "superFunction": 2450, + "superFunction": 2541, + "visibility": "public" + }, + { + "body": { + "id": 1354, + "nodeType": "Block", + "src": "1188:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1201:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1351, + "id": 1353, + "nodeType": "Return", + "src": "1194:8:23" + } + ] + }, + "documentation": null, + "id": 1355, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1348, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1345, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1140:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1344, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1140:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1347, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1149:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1346, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1149:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1139:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1351, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1350, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1179:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1349, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1179:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1178:9:23" + }, + "scope": 1356, + "src": "1121:86:23", + "stateMutability": "view", + "superFunction": 2498, "visibility": "public" } ], - "scope": 1401, - "src": "656:553:21" + "scope": 1449, + "src": "656:553:23" }, { "baseContracts": [], "contractDependencies": [ - 1237, - 1308 + 1285, + 1356 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1400, + "id": 1448, "linearizedBaseContracts": [ - 1400 + 1448 ], "name": "SafeERC20Helper", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1311, + "id": 1359, "libraryName": { "contractScope": null, - "id": 1309, + "id": 1357, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2807, - "src": "1247:9:21", + "referencedDeclaration": 2855, + "src": "1247:9:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$2807", + "typeIdentifier": "t_contract$_SafeERC20_$2855", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "1241:26:21", + "src": "1241:26:23", "typeName": { "contractScope": null, - "id": 1310, + "id": 1358, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1261:5:21", + "referencedDeclaration": 2527, + "src": "1261:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } } }, { "constant": false, - "id": 1313, + "id": 1361, "name": "failing", "nodeType": "VariableDeclaration", - "scope": 1400, - "src": "1271:13:21", + "scope": 1448, + "src": "1271:13:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" }, "typeName": { "contractScope": null, - "id": 1312, + "id": 1360, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1271:5:21", + "referencedDeclaration": 2527, + "src": "1271:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -1949,26 +1949,26 @@ }, { "constant": false, - "id": 1315, + "id": 1363, "name": "succeeding", "nodeType": "VariableDeclaration", - "scope": 1400, - "src": "1288:16:21", + "scope": 1448, + "src": "1288:16:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" }, "typeName": { "contractScope": null, - "id": 1314, + "id": 1362, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1288:5:21", + "referencedDeclaration": 2527, + "src": "1288:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -1977,28 +1977,28 @@ }, { "body": { - "id": 1330, + "id": 1378, "nodeType": "Block", - "src": "1343:87:21", + "src": "1343:87:23", "statements": [ { "expression": { "argumentTypes": null, - "id": 1322, + "id": 1370, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1318, + "id": 1366, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1349:7:21", + "referencedDeclaration": 1361, + "src": "1349:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -2009,31 +2009,31 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1320, + "id": 1368, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1359:20:21", + "src": "1359:20:23", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20FailingMock_$1237_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20FailingMock_$1285_$", "typeString": "function () returns (contract ERC20FailingMock)" }, "typeName": { "contractScope": null, - "id": 1319, + "id": 1367, "name": "ERC20FailingMock", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1237, - "src": "1363:16:21", + "referencedDeclaration": 1285, + "src": "1363:16:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20FailingMock_$1237", + "typeIdentifier": "t_contract$_ERC20FailingMock_$1285", "typeString": "contract ERC20FailingMock" } } }, - "id": 1321, + "id": 1369, "isConstant": false, "isLValue": false, "isPure": false, @@ -2041,40 +2041,40 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1359:22:21", + "src": "1359:22:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20FailingMock_$1237", + "typeIdentifier": "t_contract$_ERC20FailingMock_$1285", "typeString": "contract ERC20FailingMock" } }, - "src": "1349:32:21", + "src": "1349:32:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1323, + "id": 1371, "nodeType": "ExpressionStatement", - "src": "1349:32:21" + "src": "1349:32:23" }, { "expression": { "argumentTypes": null, - "id": 1328, + "id": 1376, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1324, + "id": 1372, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1387:10:21", + "referencedDeclaration": 1363, + "src": "1387:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -2085,31 +2085,31 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1326, + "id": 1374, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1400:23:21", + "src": "1400:23:23", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20SucceedingMock_$1308_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20SucceedingMock_$1356_$", "typeString": "function () returns (contract ERC20SucceedingMock)" }, "typeName": { "contractScope": null, - "id": 1325, + "id": 1373, "name": "ERC20SucceedingMock", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1308, - "src": "1404:19:21", + "referencedDeclaration": 1356, + "src": "1404:19:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1308", + "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1356", "typeString": "contract ERC20SucceedingMock" } } }, - "id": 1327, + "id": 1375, "isConstant": false, "isLValue": false, "isPure": false, @@ -2117,26 +2117,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1400:25:21", + "src": "1400:25:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1308", + "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1356", "typeString": "contract ERC20SucceedingMock" } }, - "src": "1387:38:21", + "src": "1387:38:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1329, + "id": 1377, "nodeType": "ExpressionStatement", - "src": "1387:38:21" + "src": "1387:38:23" } ] }, "documentation": null, - "id": 1331, + "id": 1379, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -2144,29 +2144,29 @@ "name": "SafeERC20Helper", "nodeType": "FunctionDefinition", "parameters": { - "id": 1316, + "id": 1364, "nodeType": "ParameterList", "parameters": [], - "src": "1333:2:21" + "src": "1333:2:23" }, "payable": false, "returnParameters": { - "id": 1317, + "id": 1365, "nodeType": "ParameterList", "parameters": [], - "src": "1343:0:21" + "src": "1343:0:23" }, - "scope": 1400, - "src": "1309:121:21", + "scope": 1448, + "src": "1309:121:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1341, + "id": 1389, "nodeType": "Block", - "src": "1470:37:21", + "src": "1470:37:23", "statements": [ { "expression": { @@ -2175,14 +2175,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1337, + "id": 1385, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1497:1:21", + "src": "1497:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2193,14 +2193,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1338, + "id": 1386, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1500:1:21", + "src": "1500:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2222,32 +2222,32 @@ ], "expression": { "argumentTypes": null, - "id": 1334, + "id": 1382, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1476:7:21", + "referencedDeclaration": 1361, + "src": "1476:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1336, + "id": 1384, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "1476:20:21", + "referencedDeclaration": 2815, + "src": "1476:20:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 1339, + "id": 1387, "isConstant": false, "isLValue": false, "isPure": false, @@ -2255,20 +2255,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1476:26:21", + "src": "1476:26:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1340, + "id": 1388, "nodeType": "ExpressionStatement", - "src": "1476:26:21" + "src": "1476:26:23" } ] }, "documentation": null, - "id": 1342, + "id": 1390, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2276,29 +2276,29 @@ "name": "doFailingTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1332, + "id": 1380, "nodeType": "ParameterList", "parameters": [], - "src": "1460:2:21" + "src": "1460:2:23" }, "payable": false, "returnParameters": { - "id": 1333, + "id": 1381, "nodeType": "ParameterList", "parameters": [], - "src": "1470:0:21" + "src": "1470:0:23" }, - "scope": 1400, - "src": "1434:73:21", + "scope": 1448, + "src": "1434:73:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1353, + "id": 1401, "nodeType": "Block", - "src": "1551:44:21", + "src": "1551:44:23", "statements": [ { "expression": { @@ -2307,14 +2307,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1348, + "id": 1396, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1582:1:21", + "src": "1582:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2325,14 +2325,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1349, + "id": 1397, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1585:1:21", + "src": "1585:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2343,14 +2343,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1350, + "id": 1398, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1588:1:21", + "src": "1588:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2376,32 +2376,32 @@ ], "expression": { "argumentTypes": null, - "id": 1345, + "id": 1393, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1557:7:21", + "referencedDeclaration": 1361, + "src": "1557:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1347, + "id": 1395, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 2788, - "src": "1557:24:21", + "referencedDeclaration": 2836, + "src": "1557:24:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,address,uint256)" } }, - "id": 1351, + "id": 1399, "isConstant": false, "isLValue": false, "isPure": false, @@ -2409,20 +2409,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1557:33:21", + "src": "1557:33:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1352, + "id": 1400, "nodeType": "ExpressionStatement", - "src": "1557:33:21" + "src": "1557:33:23" } ] }, "documentation": null, - "id": 1354, + "id": 1402, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2430,29 +2430,29 @@ "name": "doFailingTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1343, + "id": 1391, "nodeType": "ParameterList", "parameters": [], - "src": "1541:2:21" + "src": "1541:2:23" }, "payable": false, "returnParameters": { - "id": 1344, + "id": 1392, "nodeType": "ParameterList", "parameters": [], - "src": "1551:0:21" + "src": "1551:0:23" }, - "scope": 1400, - "src": "1511:84:21", + "scope": 1448, + "src": "1511:84:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1364, + "id": 1412, "nodeType": "Block", - "src": "1634:36:21", + "src": "1634:36:23", "statements": [ { "expression": { @@ -2461,14 +2461,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1360, + "id": 1408, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1660:1:21", + "src": "1660:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2479,14 +2479,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1361, + "id": 1409, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1663:1:21", + "src": "1663:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2508,32 +2508,32 @@ ], "expression": { "argumentTypes": null, - "id": 1357, + "id": 1405, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1640:7:21", + "referencedDeclaration": 1361, + "src": "1640:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1359, + "id": 1407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeApprove", "nodeType": "MemberAccess", - "referencedDeclaration": 2806, - "src": "1640:19:21", + "referencedDeclaration": 2854, + "src": "1640:19:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,uint256)" } }, - "id": 1362, + "id": 1410, "isConstant": false, "isLValue": false, "isPure": false, @@ -2541,20 +2541,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1640:25:21", + "src": "1640:25:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1363, + "id": 1411, "nodeType": "ExpressionStatement", - "src": "1640:25:21" + "src": "1640:25:23" } ] }, "documentation": null, - "id": 1365, + "id": 1413, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2562,29 +2562,29 @@ "name": "doFailingApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1355, + "id": 1403, "nodeType": "ParameterList", "parameters": [], - "src": "1624:2:21" + "src": "1624:2:23" }, "payable": false, "returnParameters": { - "id": 1356, + "id": 1404, "nodeType": "ParameterList", "parameters": [], - "src": "1634:0:21" + "src": "1634:0:23" }, - "scope": 1400, - "src": "1599:71:21", + "scope": 1448, + "src": "1599:71:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1375, + "id": 1423, "nodeType": "Block", - "src": "1713:40:21", + "src": "1713:40:23", "statements": [ { "expression": { @@ -2593,14 +2593,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1371, + "id": 1419, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1743:1:21", + "src": "1743:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2611,14 +2611,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1372, + "id": 1420, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1746:1:21", + "src": "1746:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2640,32 +2640,32 @@ ], "expression": { "argumentTypes": null, - "id": 1368, + "id": 1416, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1719:10:21", + "referencedDeclaration": 1363, + "src": "1719:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1370, + "id": 1418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "1719:23:21", + "referencedDeclaration": 2815, + "src": "1719:23:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 1373, + "id": 1421, "isConstant": false, "isLValue": false, "isPure": false, @@ -2673,20 +2673,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1719:29:21", + "src": "1719:29:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1374, + "id": 1422, "nodeType": "ExpressionStatement", - "src": "1719:29:21" + "src": "1719:29:23" } ] }, "documentation": null, - "id": 1376, + "id": 1424, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2694,29 +2694,29 @@ "name": "doSucceedingTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1366, + "id": 1414, "nodeType": "ParameterList", "parameters": [], - "src": "1703:2:21" + "src": "1703:2:23" }, "payable": false, "returnParameters": { - "id": 1367, + "id": 1415, "nodeType": "ParameterList", "parameters": [], - "src": "1713:0:21" + "src": "1713:0:23" }, - "scope": 1400, - "src": "1674:79:21", + "scope": 1448, + "src": "1674:79:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1387, + "id": 1435, "nodeType": "Block", - "src": "1800:47:21", + "src": "1800:47:23", "statements": [ { "expression": { @@ -2725,14 +2725,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1382, + "id": 1430, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1834:1:21", + "src": "1834:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2743,14 +2743,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1383, + "id": 1431, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1837:1:21", + "src": "1837:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2761,14 +2761,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1384, + "id": 1432, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1840:1:21", + "src": "1840:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2794,32 +2794,32 @@ ], "expression": { "argumentTypes": null, - "id": 1379, + "id": 1427, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1806:10:21", + "referencedDeclaration": 1363, + "src": "1806:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1381, + "id": 1429, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 2788, - "src": "1806:27:21", + "referencedDeclaration": 2836, + "src": "1806:27:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,address,uint256)" } }, - "id": 1385, + "id": 1433, "isConstant": false, "isLValue": false, "isPure": false, @@ -2827,20 +2827,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1806:36:21", + "src": "1806:36:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1386, + "id": 1434, "nodeType": "ExpressionStatement", - "src": "1806:36:21" + "src": "1806:36:23" } ] }, "documentation": null, - "id": 1388, + "id": 1436, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2848,29 +2848,29 @@ "name": "doSucceedingTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1377, + "id": 1425, "nodeType": "ParameterList", "parameters": [], - "src": "1790:2:21" + "src": "1790:2:23" }, "payable": false, "returnParameters": { - "id": 1378, + "id": 1426, "nodeType": "ParameterList", "parameters": [], - "src": "1800:0:21" + "src": "1800:0:23" }, - "scope": 1400, - "src": "1757:90:21", + "scope": 1448, + "src": "1757:90:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1398, + "id": 1446, "nodeType": "Block", - "src": "1889:39:21", + "src": "1889:39:23", "statements": [ { "expression": { @@ -2879,14 +2879,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1394, + "id": 1442, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1918:1:21", + "src": "1918:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2897,14 +2897,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1395, + "id": 1443, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1921:1:21", + "src": "1921:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2926,32 +2926,32 @@ ], "expression": { "argumentTypes": null, - "id": 1391, + "id": 1439, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1895:10:21", + "referencedDeclaration": 1363, + "src": "1895:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1393, + "id": 1441, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeApprove", "nodeType": "MemberAccess", - "referencedDeclaration": 2806, - "src": "1895:22:21", + "referencedDeclaration": 2854, + "src": "1895:22:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,uint256)" } }, - "id": 1396, + "id": 1444, "isConstant": false, "isLValue": false, "isPure": false, @@ -2959,20 +2959,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1895:28:21", + "src": "1895:28:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1397, + "id": 1445, "nodeType": "ExpressionStatement", - "src": "1895:28:21" + "src": "1895:28:23" } ] }, "documentation": null, - "id": 1399, + "id": 1447, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2980,49 +2980,49 @@ "name": "doSucceedingApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1389, + "id": 1437, "nodeType": "ParameterList", "parameters": [], - "src": "1879:2:21" + "src": "1879:2:23" }, "payable": false, "returnParameters": { - "id": 1390, + "id": 1438, "nodeType": "ParameterList", "parameters": [], - "src": "1889:0:21" + "src": "1889:0:23" }, - "scope": 1400, - "src": "1851:77:21", + "scope": 1448, + "src": "1851:77:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1401, - "src": "1212:718:21" + "scope": 1449, + "src": "1212:718:23" } ], - "src": "0:1931:21" + "src": "0:1931:23" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/SafeERC20Helper.sol", "exportedSymbols": { "ERC20FailingMock": [ - 1237 + 1285 ], "ERC20SucceedingMock": [ - 1308 + 1356 ], "SafeERC20Helper": [ - 1400 + 1448 ] }, - "id": 1401, + "id": 1449, "nodeType": "SourceUnit", "nodes": [ { - "id": 1164, + "id": 1212, "literals": [ "solidity", "^", @@ -3030,27 +3030,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:21" + "src": "0:24:23" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20.sol", "file": "../token/ERC20/ERC20.sol", - "id": 1165, + "id": 1213, "nodeType": "ImportDirective", - "scope": 1401, - "sourceUnit": 2480, - "src": "26:34:21", + "scope": 1449, + "sourceUnit": 2528, + "src": "26:34:23", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/SafeERC20.sol", "file": "../token/ERC20/SafeERC20.sol", - "id": 1166, + "id": 1214, "nodeType": "ImportDirective", - "scope": 1401, - "sourceUnit": 2808, - "src": "61:38:21", + "scope": 1449, + "sourceUnit": 2856, + "src": "61:38:23", "symbolAliases": [], "unitAlias": "" }, @@ -3060,571 +3060,42 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1167, + "id": 1215, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "131:5:21", + "referencedDeclaration": 2527, + "src": "131:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1168, + "id": 1216, "nodeType": "InheritanceSpecifier", - "src": "131:5:21" + "src": "131:5:23" } ], "contractDependencies": [ - 2479, - 2511 + 2527, + 2559 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1237, + "id": 1285, "linearizedBaseContracts": [ - 1237, - 2479, - 2511 + 1285, + 2527, + 2559 ], "name": "ERC20FailingMock", "nodeType": "ContractDefinition", "nodes": [ - { - "body": { - "id": 1175, - "nodeType": "Block", - "src": "194:19:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "207:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 1172, - "id": 1174, - "nodeType": "Return", - "src": "200:8:21" - } - ] - }, - "documentation": null, - "id": 1176, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1169, - "nodeType": "ParameterList", - "parameters": [], - "src": "161:2:21" - }, - "payable": false, - "returnParameters": { - "id": 1172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1171, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1176, - "src": "185:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1170, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "185:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "184:9:21" - }, - "scope": 1237, - "src": "141:72:21", - "stateMutability": "view", - "superFunction": 2486, - "visibility": "public" - }, - { - "body": { - "id": 1187, - "nodeType": "Block", - "src": "275:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "288:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1184, - "id": 1186, - "nodeType": "Return", - "src": "281:12:21" - } - ] - }, - "documentation": null, - "id": 1188, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1178, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "235:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1177, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "235:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1180, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "244:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "234:18:21" - }, - "payable": false, - "returnParameters": { - "id": 1184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1183, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "269:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1182, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "269:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "268:6:21" - }, - "scope": 1237, - "src": "217:81:21", - "stateMutability": "nonpayable", - "superFunction": 2502, - "visibility": "public" - }, - { - "body": { - "id": 1201, - "nodeType": "Block", - "src": "373:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "386:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1198, - "id": 1200, - "nodeType": "Return", - "src": "379:12:21" - } - ] - }, - "documentation": null, - "id": 1202, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1190, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "324:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "324:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1192, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "333:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "333:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1194, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "342:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "342:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "323:27:21" - }, - "payable": false, - "returnParameters": { - "id": 1198, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1197, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "367:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1196, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "367:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "366:6:21" - }, - "scope": 1237, - "src": "302:94:21", - "stateMutability": "nonpayable", - "superFunction": 2461, - "visibility": "public" - }, - { - "body": { - "id": 1213, - "nodeType": "Block", - "src": "457:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "470:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1210, - "id": 1212, - "nodeType": "Return", - "src": "463:12:21" - } - ] - }, - "documentation": null, - "id": 1214, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1204, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "417:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "417:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1206, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "426:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "426:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "416:18:21" - }, - "payable": false, - "returnParameters": { - "id": 1210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1209, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "451:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1208, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "451:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "450:6:21" - }, - "scope": 1237, - "src": "400:80:21", - "stateMutability": "nonpayable", - "superFunction": 2470, - "visibility": "public" - }, { "body": { "id": 1223, "nodeType": "Block", - "src": "542:19:21", + "src": "194:19:23", "statements": [ { "expression": { @@ -3637,7 +3108,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "555:1:21", + "src": "207:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3648,7 +3119,7 @@ "functionReturnParameters": 1220, "id": 1222, "nodeType": "Return", - "src": "548:8:21" + "src": "200:8:23" } ] }, @@ -3658,40 +3129,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "balanceOf", + "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { "id": 1217, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1216, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1224, - "src": "503:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1215, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "502:9:21" + "parameters": [], + "src": "161:2:23" }, "payable": false, "returnParameters": { @@ -3704,7 +3148,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "533:7:21", + "src": "185:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3715,7 +3159,7 @@ "id": 1218, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "533:7:21", + "src": "185:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3725,43 +3169,43 @@ "visibility": "internal" } ], - "src": "532:9:21" + "src": "184:9:23" }, - "scope": 1237, - "src": "484:77:21", + "scope": 1285, + "src": "141:72:23", "stateMutability": "view", - "superFunction": 2493, + "superFunction": 2534, "visibility": "public" }, { "body": { "id": 1235, "nodeType": "Block", - "src": "632:19:21", + "src": "275:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", + "hexValue": "66616c7365", "id": 1233, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "645:1:21", + "src": "288:5:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "false" }, "functionReturnParameters": 1232, "id": 1234, "nodeType": "Return", - "src": "638:8:21" + "src": "281:12:23" } ] }, @@ -3769,9 +3213,9 @@ "id": 1236, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "allowance", + "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { "id": 1229, @@ -3783,7 +3227,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "584:7:21", + "src": "235:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3794,7 +3238,7 @@ "id": 1225, "name": "address", "nodeType": "ElementaryTypeName", - "src": "584:7:21", + "src": "235:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3809,28 +3253,28 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "593:7:21", + "src": "244:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { "id": 1227, - "name": "address", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "593:7:21", + "src": "244:7:23", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "583:18:21" + "src": "234:18:23" }, "payable": false, "returnParameters": { @@ -3843,134 +3287,138 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "623:7:21", + "src": "269:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { "id": 1230, - "name": "uint256", + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "623:7:21", + "src": "269:4:23", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "value": null, "visibility": "internal" } ], - "src": "622:9:21" + "src": "268:6:23" }, - "scope": 1237, - "src": "565:86:21", - "stateMutability": "view", - "superFunction": 2450, + "scope": 1285, + "src": "217:81:23", + "stateMutability": "nonpayable", + "superFunction": 2550, "visibility": "public" - } - ], - "scope": 1401, - "src": "102:551:21" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1238, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "688:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", - "typeString": "contract ERC20" - } - }, - "id": 1239, - "nodeType": "InheritanceSpecifier", - "src": "688:5:21" - } - ], - "contractDependencies": [ - 2479, - 2511 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1308, - "linearizedBaseContracts": [ - 1308, - 2479, - 2511 - ], - "name": "ERC20SucceedingMock", - "nodeType": "ContractDefinition", - "nodes": [ + }, { "body": { - "id": 1246, + "id": 1249, "nodeType": "Block", - "src": "751:19:21", + "src": "373:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", - "id": 1244, + "hexValue": "66616c7365", + "id": 1247, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "764:1:21", + "src": "386:5:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "false" }, - "functionReturnParameters": 1243, - "id": 1245, + "functionReturnParameters": 1246, + "id": 1248, "nodeType": "Return", - "src": "757:8:21" + "src": "379:12:23" } ] }, "documentation": null, - "id": 1247, + "id": 1250, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "totalSupply", + "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1240, - "nodeType": "ParameterList", - "parameters": [], - "src": "718:2:21" - }, - "payable": false, - "returnParameters": { "id": 1243, "nodeType": "ParameterList", "parameters": [ + { + "constant": false, + "id": 1238, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "324:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1237, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "324:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1240, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "333:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1239, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "333:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, { "constant": false, "id": 1242, "name": "", "nodeType": "VariableDeclaration", - "scope": 1247, - "src": "742:7:21", + "scope": 1250, + "src": "342:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3981,7 +3429,7 @@ "id": 1241, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "742:7:21", + "src": "342:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3991,125 +3439,20 @@ "visibility": "internal" } ], - "src": "741:9:21" - }, - "scope": 1308, - "src": "698:72:21", - "stateMutability": "view", - "superFunction": 2486, - "visibility": "public" - }, - { - "body": { - "id": 1258, - "nodeType": "Block", - "src": "834:22:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "847:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1255, - "id": 1257, - "nodeType": "Return", - "src": "840:11:21" - } - ] - }, - "documentation": null, - "id": 1259, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1252, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1249, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "794:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "794:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1251, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "803:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1250, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "793:18:21" + "src": "323:27:23" }, "payable": false, "returnParameters": { - "id": 1255, + "id": 1246, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1254, + "id": 1245, "name": "", "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "828:4:21", + "scope": 1250, + "src": "367:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4117,10 +3460,10 @@ "typeString": "bool" }, "typeName": { - "id": 1253, + "id": 1244, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "828:4:21", + "src": "367:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4130,213 +3473,48 @@ "visibility": "internal" } ], - "src": "827:6:21" + "src": "366:6:23" }, - "scope": 1308, - "src": "776:80:21", + "scope": 1285, + "src": "302:94:23", "stateMutability": "nonpayable", - "superFunction": 2502, + "superFunction": 2509, "visibility": "public" }, { "body": { - "id": 1272, + "id": 1261, "nodeType": "Block", - "src": "931:22:21", + "src": "457:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "74727565", - "id": 1270, + "hexValue": "66616c7365", + "id": 1259, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "944:4:21", + "src": "470:5:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, - "value": "true" + "value": "false" }, - "functionReturnParameters": 1269, - "id": 1271, + "functionReturnParameters": 1258, + "id": 1260, "nodeType": "Return", - "src": "937:11:21" + "src": "463:12:23" } ] }, "documentation": null, - "id": 1273, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1261, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "882:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "882:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1263, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "891:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1262, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1265, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "900:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1264, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "881:27:21" - }, - "payable": false, - "returnParameters": { - "id": 1269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1268, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "925:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1267, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "925:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "924:6:21" - }, - "scope": 1308, - "src": "860:93:21", - "stateMutability": "nonpayable", - "superFunction": 2461, - "visibility": "public" - }, - { - "body": { - "id": 1284, - "nodeType": "Block", - "src": "1014:22:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1027:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1281, - "id": 1283, - "nodeType": "Return", - "src": "1020:11:21" - } - ] - }, - "documentation": null, - "id": 1285, + "id": 1262, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -4344,16 +3522,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 1278, + "id": 1255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1275, + "id": 1252, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "974:7:21", + "scope": 1262, + "src": "417:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4361,10 +3539,10 @@ "typeString": "address" }, "typeName": { - "id": 1274, + "id": 1251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "974:7:21", + "src": "417:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4375,11 +3553,11 @@ }, { "constant": false, - "id": 1277, + "id": 1254, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "983:7:21", + "scope": 1262, + "src": "426:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4387,10 +3565,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1276, + "id": 1253, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "983:7:21", + "src": "426:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4400,20 +3578,20 @@ "visibility": "internal" } ], - "src": "973:18:21" + "src": "416:18:23" }, "payable": false, "returnParameters": { - "id": 1281, + "id": 1258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1280, + "id": 1257, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "1008:4:21", + "scope": 1262, + "src": "451:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4421,10 +3599,10 @@ "typeString": "bool" }, "typeName": { - "id": 1279, + "id": 1256, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1008:4:21", + "src": "451:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4434,19 +3612,312 @@ "visibility": "internal" } ], - "src": "1007:6:21" + "src": "450:6:23" }, - "scope": 1308, - "src": "957:79:21", + "scope": 1285, + "src": "400:80:23", "stateMutability": "nonpayable", - "superFunction": 2470, + "superFunction": 2518, "visibility": "public" }, + { + "body": { + "id": 1271, + "nodeType": "Block", + "src": "542:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "555:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1268, + "id": 1270, + "nodeType": "Return", + "src": "548:8:23" + } + ] + }, + "documentation": null, + "id": 1272, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1264, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1272, + "src": "503:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "503:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "502:9:23" + }, + "payable": false, + "returnParameters": { + "id": 1268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1267, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1272, + "src": "533:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "533:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "532:9:23" + }, + "scope": 1285, + "src": "484:77:23", + "stateMutability": "view", + "superFunction": 2541, + "visibility": "public" + }, + { + "body": { + "id": 1283, + "nodeType": "Block", + "src": "632:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "645:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1280, + "id": 1282, + "nodeType": "Return", + "src": "638:8:23" + } + ] + }, + "documentation": null, + "id": 1284, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1277, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1274, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "584:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1273, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "584:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1276, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "593:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1275, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "593:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "583:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1280, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1279, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "623:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1278, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "623:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "622:9:23" + }, + "scope": 1285, + "src": "565:86:23", + "stateMutability": "view", + "superFunction": 2498, + "visibility": "public" + } + ], + "scope": 1449, + "src": "102:551:23" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1286, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2527, + "src": "688:5:23", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2527", + "typeString": "contract ERC20" + } + }, + "id": 1287, + "nodeType": "InheritanceSpecifier", + "src": "688:5:23" + } + ], + "contractDependencies": [ + 2527, + 2559 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1356, + "linearizedBaseContracts": [ + 1356, + 2527, + 2559 + ], + "name": "ERC20SucceedingMock", + "nodeType": "ContractDefinition", + "nodes": [ { "body": { "id": 1294, "nodeType": "Block", - "src": "1098:19:21", + "src": "751:19:23", "statements": [ { "expression": { @@ -4459,7 +3930,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1111:1:21", + "src": "764:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4470,7 +3941,7 @@ "functionReturnParameters": 1291, "id": 1293, "nodeType": "Return", - "src": "1104:8:21" + "src": "757:8:23" } ] }, @@ -4480,40 +3951,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "balanceOf", + "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { "id": 1288, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1287, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1295, - "src": "1059:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1286, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1059:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1058:9:21" + "parameters": [], + "src": "718:2:23" }, "payable": false, "returnParameters": { @@ -4526,7 +3970,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1295, - "src": "1089:7:21", + "src": "742:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4537,7 +3981,7 @@ "id": 1289, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1089:7:21", + "src": "742:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4547,43 +3991,43 @@ "visibility": "internal" } ], - "src": "1088:9:21" + "src": "741:9:23" }, - "scope": 1308, - "src": "1040:77:21", + "scope": 1356, + "src": "698:72:23", "stateMutability": "view", - "superFunction": 2493, + "superFunction": 2534, "visibility": "public" }, { "body": { "id": 1306, "nodeType": "Block", - "src": "1188:19:21", + "src": "834:22:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", + "hexValue": "74727565", "id": 1304, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1201:1:21", + "src": "847:4:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "true" }, "functionReturnParameters": 1303, "id": 1305, "nodeType": "Return", - "src": "1194:8:21" + "src": "840:11:23" } ] }, @@ -4591,9 +4035,9 @@ "id": 1307, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "allowance", + "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { "id": 1300, @@ -4605,7 +4049,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1140:7:21", + "src": "794:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4616,7 +4060,7 @@ "id": 1296, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1140:7:21", + "src": "794:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4631,28 +4075,28 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1149:7:21", + "src": "803:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { "id": 1298, - "name": "address", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1149:7:21", + "src": "803:7:23", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "1139:18:21" + "src": "793:18:23" }, "payable": false, "returnParameters": { @@ -4665,7 +4109,138 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1179:7:21", + "src": "828:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1301, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "828:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "827:6:23" + }, + "scope": 1356, + "src": "776:80:23", + "stateMutability": "nonpayable", + "superFunction": 2550, + "visibility": "public" + }, + { + "body": { + "id": 1320, + "nodeType": "Block", + "src": "931:22:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "944:4:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1317, + "id": 1319, + "nodeType": "Return", + "src": "937:11:23" + } + ] + }, + "documentation": null, + "id": 1321, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1309, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "882:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1308, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "882:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1311, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "891:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1310, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "891:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1313, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "900:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4673,10 +4248,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1301, + "id": 1312, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1179:7:21", + "src": "900:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4686,85 +4261,510 @@ "visibility": "internal" } ], - "src": "1178:9:21" + "src": "881:27:23" }, - "scope": 1308, - "src": "1121:86:21", + "payable": false, + "returnParameters": { + "id": 1317, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1316, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "925:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1315, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "925:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "924:6:23" + }, + "scope": 1356, + "src": "860:93:23", + "stateMutability": "nonpayable", + "superFunction": 2509, + "visibility": "public" + }, + { + "body": { + "id": 1332, + "nodeType": "Block", + "src": "1014:22:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1027:4:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1329, + "id": 1331, + "nodeType": "Return", + "src": "1020:11:23" + } + ] + }, + "documentation": null, + "id": 1333, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1323, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "974:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1322, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "974:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1325, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "983:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "983:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "973:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1329, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1328, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "1008:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1327, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1008:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1007:6:23" + }, + "scope": 1356, + "src": "957:79:23", + "stateMutability": "nonpayable", + "superFunction": 2518, + "visibility": "public" + }, + { + "body": { + "id": 1342, + "nodeType": "Block", + "src": "1098:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1111:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1339, + "id": 1341, + "nodeType": "Return", + "src": "1104:8:23" + } + ] + }, + "documentation": null, + "id": 1343, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1335, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1343, + "src": "1059:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1059:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1058:9:23" + }, + "payable": false, + "returnParameters": { + "id": 1339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1338, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1343, + "src": "1089:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1337, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1089:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1088:9:23" + }, + "scope": 1356, + "src": "1040:77:23", "stateMutability": "view", - "superFunction": 2450, + "superFunction": 2541, + "visibility": "public" + }, + { + "body": { + "id": 1354, + "nodeType": "Block", + "src": "1188:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1201:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1351, + "id": 1353, + "nodeType": "Return", + "src": "1194:8:23" + } + ] + }, + "documentation": null, + "id": 1355, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1348, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1345, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1140:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1344, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1140:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1347, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1149:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1346, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1149:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1139:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1351, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1350, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1179:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1349, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1179:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1178:9:23" + }, + "scope": 1356, + "src": "1121:86:23", + "stateMutability": "view", + "superFunction": 2498, "visibility": "public" } ], - "scope": 1401, - "src": "656:553:21" + "scope": 1449, + "src": "656:553:23" }, { "baseContracts": [], "contractDependencies": [ - 1237, - 1308 + 1285, + 1356 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1400, + "id": 1448, "linearizedBaseContracts": [ - 1400 + 1448 ], "name": "SafeERC20Helper", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1311, + "id": 1359, "libraryName": { "contractScope": null, - "id": 1309, + "id": 1357, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2807, - "src": "1247:9:21", + "referencedDeclaration": 2855, + "src": "1247:9:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$2807", + "typeIdentifier": "t_contract$_SafeERC20_$2855", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "1241:26:21", + "src": "1241:26:23", "typeName": { "contractScope": null, - "id": 1310, + "id": 1358, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1261:5:21", + "referencedDeclaration": 2527, + "src": "1261:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } } }, { "constant": false, - "id": 1313, + "id": 1361, "name": "failing", "nodeType": "VariableDeclaration", - "scope": 1400, - "src": "1271:13:21", + "scope": 1448, + "src": "1271:13:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" }, "typeName": { "contractScope": null, - "id": 1312, + "id": 1360, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1271:5:21", + "referencedDeclaration": 2527, + "src": "1271:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -4773,26 +4773,26 @@ }, { "constant": false, - "id": 1315, + "id": 1363, "name": "succeeding", "nodeType": "VariableDeclaration", - "scope": 1400, - "src": "1288:16:21", + "scope": 1448, + "src": "1288:16:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" }, "typeName": { "contractScope": null, - "id": 1314, + "id": 1362, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1288:5:21", + "referencedDeclaration": 2527, + "src": "1288:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -4801,28 +4801,28 @@ }, { "body": { - "id": 1330, + "id": 1378, "nodeType": "Block", - "src": "1343:87:21", + "src": "1343:87:23", "statements": [ { "expression": { "argumentTypes": null, - "id": 1322, + "id": 1370, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1318, + "id": 1366, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1349:7:21", + "referencedDeclaration": 1361, + "src": "1349:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -4833,31 +4833,31 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1320, + "id": 1368, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1359:20:21", + "src": "1359:20:23", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20FailingMock_$1237_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20FailingMock_$1285_$", "typeString": "function () returns (contract ERC20FailingMock)" }, "typeName": { "contractScope": null, - "id": 1319, + "id": 1367, "name": "ERC20FailingMock", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1237, - "src": "1363:16:21", + "referencedDeclaration": 1285, + "src": "1363:16:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20FailingMock_$1237", + "typeIdentifier": "t_contract$_ERC20FailingMock_$1285", "typeString": "contract ERC20FailingMock" } } }, - "id": 1321, + "id": 1369, "isConstant": false, "isLValue": false, "isPure": false, @@ -4865,40 +4865,40 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1359:22:21", + "src": "1359:22:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20FailingMock_$1237", + "typeIdentifier": "t_contract$_ERC20FailingMock_$1285", "typeString": "contract ERC20FailingMock" } }, - "src": "1349:32:21", + "src": "1349:32:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1323, + "id": 1371, "nodeType": "ExpressionStatement", - "src": "1349:32:21" + "src": "1349:32:23" }, { "expression": { "argumentTypes": null, - "id": 1328, + "id": 1376, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1324, + "id": 1372, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1387:10:21", + "referencedDeclaration": 1363, + "src": "1387:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -4909,31 +4909,31 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1326, + "id": 1374, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1400:23:21", + "src": "1400:23:23", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20SucceedingMock_$1308_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20SucceedingMock_$1356_$", "typeString": "function () returns (contract ERC20SucceedingMock)" }, "typeName": { "contractScope": null, - "id": 1325, + "id": 1373, "name": "ERC20SucceedingMock", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1308, - "src": "1404:19:21", + "referencedDeclaration": 1356, + "src": "1404:19:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1308", + "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1356", "typeString": "contract ERC20SucceedingMock" } } }, - "id": 1327, + "id": 1375, "isConstant": false, "isLValue": false, "isPure": false, @@ -4941,26 +4941,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1400:25:21", + "src": "1400:25:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1308", + "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1356", "typeString": "contract ERC20SucceedingMock" } }, - "src": "1387:38:21", + "src": "1387:38:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1329, + "id": 1377, "nodeType": "ExpressionStatement", - "src": "1387:38:21" + "src": "1387:38:23" } ] }, "documentation": null, - "id": 1331, + "id": 1379, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -4968,29 +4968,29 @@ "name": "SafeERC20Helper", "nodeType": "FunctionDefinition", "parameters": { - "id": 1316, + "id": 1364, "nodeType": "ParameterList", "parameters": [], - "src": "1333:2:21" + "src": "1333:2:23" }, "payable": false, "returnParameters": { - "id": 1317, + "id": 1365, "nodeType": "ParameterList", "parameters": [], - "src": "1343:0:21" + "src": "1343:0:23" }, - "scope": 1400, - "src": "1309:121:21", + "scope": 1448, + "src": "1309:121:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1341, + "id": 1389, "nodeType": "Block", - "src": "1470:37:21", + "src": "1470:37:23", "statements": [ { "expression": { @@ -4999,14 +4999,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1337, + "id": 1385, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1497:1:21", + "src": "1497:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5017,14 +5017,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1338, + "id": 1386, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1500:1:21", + "src": "1500:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5046,32 +5046,32 @@ ], "expression": { "argumentTypes": null, - "id": 1334, + "id": 1382, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1476:7:21", + "referencedDeclaration": 1361, + "src": "1476:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1336, + "id": 1384, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "1476:20:21", + "referencedDeclaration": 2815, + "src": "1476:20:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 1339, + "id": 1387, "isConstant": false, "isLValue": false, "isPure": false, @@ -5079,20 +5079,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1476:26:21", + "src": "1476:26:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1340, + "id": 1388, "nodeType": "ExpressionStatement", - "src": "1476:26:21" + "src": "1476:26:23" } ] }, "documentation": null, - "id": 1342, + "id": 1390, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5100,29 +5100,29 @@ "name": "doFailingTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1332, + "id": 1380, "nodeType": "ParameterList", "parameters": [], - "src": "1460:2:21" + "src": "1460:2:23" }, "payable": false, "returnParameters": { - "id": 1333, + "id": 1381, "nodeType": "ParameterList", "parameters": [], - "src": "1470:0:21" + "src": "1470:0:23" }, - "scope": 1400, - "src": "1434:73:21", + "scope": 1448, + "src": "1434:73:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1353, + "id": 1401, "nodeType": "Block", - "src": "1551:44:21", + "src": "1551:44:23", "statements": [ { "expression": { @@ -5131,14 +5131,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1348, + "id": 1396, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1582:1:21", + "src": "1582:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5149,14 +5149,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1349, + "id": 1397, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1585:1:21", + "src": "1585:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5167,14 +5167,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1350, + "id": 1398, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1588:1:21", + "src": "1588:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5200,32 +5200,32 @@ ], "expression": { "argumentTypes": null, - "id": 1345, + "id": 1393, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1557:7:21", + "referencedDeclaration": 1361, + "src": "1557:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1347, + "id": 1395, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 2788, - "src": "1557:24:21", + "referencedDeclaration": 2836, + "src": "1557:24:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,address,uint256)" } }, - "id": 1351, + "id": 1399, "isConstant": false, "isLValue": false, "isPure": false, @@ -5233,20 +5233,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1557:33:21", + "src": "1557:33:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1352, + "id": 1400, "nodeType": "ExpressionStatement", - "src": "1557:33:21" + "src": "1557:33:23" } ] }, "documentation": null, - "id": 1354, + "id": 1402, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5254,29 +5254,29 @@ "name": "doFailingTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1343, + "id": 1391, "nodeType": "ParameterList", "parameters": [], - "src": "1541:2:21" + "src": "1541:2:23" }, "payable": false, "returnParameters": { - "id": 1344, + "id": 1392, "nodeType": "ParameterList", "parameters": [], - "src": "1551:0:21" + "src": "1551:0:23" }, - "scope": 1400, - "src": "1511:84:21", + "scope": 1448, + "src": "1511:84:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1364, + "id": 1412, "nodeType": "Block", - "src": "1634:36:21", + "src": "1634:36:23", "statements": [ { "expression": { @@ -5285,14 +5285,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1360, + "id": 1408, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1660:1:21", + "src": "1660:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5303,14 +5303,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1361, + "id": 1409, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1663:1:21", + "src": "1663:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5332,32 +5332,32 @@ ], "expression": { "argumentTypes": null, - "id": 1357, + "id": 1405, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1640:7:21", + "referencedDeclaration": 1361, + "src": "1640:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1359, + "id": 1407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeApprove", "nodeType": "MemberAccess", - "referencedDeclaration": 2806, - "src": "1640:19:21", + "referencedDeclaration": 2854, + "src": "1640:19:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,uint256)" } }, - "id": 1362, + "id": 1410, "isConstant": false, "isLValue": false, "isPure": false, @@ -5365,20 +5365,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1640:25:21", + "src": "1640:25:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1363, + "id": 1411, "nodeType": "ExpressionStatement", - "src": "1640:25:21" + "src": "1640:25:23" } ] }, "documentation": null, - "id": 1365, + "id": 1413, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5386,29 +5386,29 @@ "name": "doFailingApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1355, + "id": 1403, "nodeType": "ParameterList", "parameters": [], - "src": "1624:2:21" + "src": "1624:2:23" }, "payable": false, "returnParameters": { - "id": 1356, + "id": 1404, "nodeType": "ParameterList", "parameters": [], - "src": "1634:0:21" + "src": "1634:0:23" }, - "scope": 1400, - "src": "1599:71:21", + "scope": 1448, + "src": "1599:71:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1375, + "id": 1423, "nodeType": "Block", - "src": "1713:40:21", + "src": "1713:40:23", "statements": [ { "expression": { @@ -5417,14 +5417,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1371, + "id": 1419, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1743:1:21", + "src": "1743:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5435,14 +5435,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1372, + "id": 1420, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1746:1:21", + "src": "1746:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5464,32 +5464,32 @@ ], "expression": { "argumentTypes": null, - "id": 1368, + "id": 1416, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1719:10:21", + "referencedDeclaration": 1363, + "src": "1719:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1370, + "id": 1418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "1719:23:21", + "referencedDeclaration": 2815, + "src": "1719:23:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 1373, + "id": 1421, "isConstant": false, "isLValue": false, "isPure": false, @@ -5497,20 +5497,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1719:29:21", + "src": "1719:29:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1374, + "id": 1422, "nodeType": "ExpressionStatement", - "src": "1719:29:21" + "src": "1719:29:23" } ] }, "documentation": null, - "id": 1376, + "id": 1424, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5518,29 +5518,29 @@ "name": "doSucceedingTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1366, + "id": 1414, "nodeType": "ParameterList", "parameters": [], - "src": "1703:2:21" + "src": "1703:2:23" }, "payable": false, "returnParameters": { - "id": 1367, + "id": 1415, "nodeType": "ParameterList", "parameters": [], - "src": "1713:0:21" + "src": "1713:0:23" }, - "scope": 1400, - "src": "1674:79:21", + "scope": 1448, + "src": "1674:79:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1387, + "id": 1435, "nodeType": "Block", - "src": "1800:47:21", + "src": "1800:47:23", "statements": [ { "expression": { @@ -5549,14 +5549,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1382, + "id": 1430, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1834:1:21", + "src": "1834:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5567,14 +5567,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1383, + "id": 1431, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1837:1:21", + "src": "1837:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5585,14 +5585,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1384, + "id": 1432, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1840:1:21", + "src": "1840:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5618,32 +5618,32 @@ ], "expression": { "argumentTypes": null, - "id": 1379, + "id": 1427, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1806:10:21", + "referencedDeclaration": 1363, + "src": "1806:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1381, + "id": 1429, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 2788, - "src": "1806:27:21", + "referencedDeclaration": 2836, + "src": "1806:27:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,address,uint256)" } }, - "id": 1385, + "id": 1433, "isConstant": false, "isLValue": false, "isPure": false, @@ -5651,20 +5651,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1806:36:21", + "src": "1806:36:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1386, + "id": 1434, "nodeType": "ExpressionStatement", - "src": "1806:36:21" + "src": "1806:36:23" } ] }, "documentation": null, - "id": 1388, + "id": 1436, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5672,29 +5672,29 @@ "name": "doSucceedingTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1377, + "id": 1425, "nodeType": "ParameterList", "parameters": [], - "src": "1790:2:21" + "src": "1790:2:23" }, "payable": false, "returnParameters": { - "id": 1378, + "id": 1426, "nodeType": "ParameterList", "parameters": [], - "src": "1800:0:21" + "src": "1800:0:23" }, - "scope": 1400, - "src": "1757:90:21", + "scope": 1448, + "src": "1757:90:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1398, + "id": 1446, "nodeType": "Block", - "src": "1889:39:21", + "src": "1889:39:23", "statements": [ { "expression": { @@ -5703,14 +5703,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1394, + "id": 1442, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1918:1:21", + "src": "1918:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5721,14 +5721,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1395, + "id": 1443, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1921:1:21", + "src": "1921:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5750,32 +5750,32 @@ ], "expression": { "argumentTypes": null, - "id": 1391, + "id": 1439, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1895:10:21", + "referencedDeclaration": 1363, + "src": "1895:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1393, + "id": 1441, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeApprove", "nodeType": "MemberAccess", - "referencedDeclaration": 2806, - "src": "1895:22:21", + "referencedDeclaration": 2854, + "src": "1895:22:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,uint256)" } }, - "id": 1396, + "id": 1444, "isConstant": false, "isLValue": false, "isPure": false, @@ -5783,20 +5783,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1895:28:21", + "src": "1895:28:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1397, + "id": 1445, "nodeType": "ExpressionStatement", - "src": "1895:28:21" + "src": "1895:28:23" } ] }, "documentation": null, - "id": 1399, + "id": 1447, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5804,36 +5804,36 @@ "name": "doSucceedingApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1389, + "id": 1437, "nodeType": "ParameterList", "parameters": [], - "src": "1879:2:21" + "src": "1879:2:23" }, "payable": false, "returnParameters": { - "id": 1390, + "id": 1438, "nodeType": "ParameterList", "parameters": [], - "src": "1889:0:21" + "src": "1889:0:23" }, - "scope": 1400, - "src": "1851:77:21", + "scope": 1448, + "src": "1851:77:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1401, - "src": "1212:718:21" + "scope": 1449, + "src": "1212:718:23" } ], - "src": "0:1931:21" + "src": "0:1931:23" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.624Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.207Z" } \ No newline at end of file diff --git a/build/contracts/ERC721.json b/build/contracts/ERC721.json index aeae101cb..44cac8166 100644 --- a/build/contracts/ERC721.json +++ b/build/contracts/ERC721.json @@ -1,6 +1,25 @@ { "contractName": "ERC721", "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [], @@ -380,26 +399,26 @@ "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", - "source": "pragma solidity ^0.4.21;\n\nimport \"./ERC721Basic.sol\";\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Enumerable is ERC721Basic {\n function totalSupply() public view returns (uint256);\n function tokenOfOwnerByIndex(address _owner, uint256 _index) public view returns (uint256 _tokenId);\n function tokenByIndex(uint256 _index) public view returns (uint256);\n}\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Metadata is ERC721Basic {\n function name() public view returns (string _name);\n function symbol() public view returns (string _symbol);\n function tokenURI(uint256 _tokenId) public view returns (string);\n}\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, full implementation interface\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721 is ERC721Basic, ERC721Enumerable, ERC721Metadata {\n}\n", + "source": "pragma solidity ^0.4.21;\n\nimport \"./ERC721Basic.sol\";\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Enumerable is ERC721Basic {\n function totalSupply() public view returns (uint256);\n function tokenOfOwnerByIndex(\n address _owner,\n uint256 _index\n )\n public\n view\n returns (uint256 _tokenId);\n\n function tokenByIndex(uint256 _index) public view returns (uint256);\n}\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Metadata is ERC721Basic {\n function name() external view returns (string _name);\n function symbol() external view returns (string _symbol);\n function tokenURI(uint256 _tokenId) public view returns (string);\n}\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, full implementation interface\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721 is ERC721Basic, ERC721Enumerable, ERC721Metadata {\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721.sol", "exportedSymbols": { "ERC721": [ - 296 + 3564 ], "ERC721Enumerable": [ - 269 + 3537 ], "ERC721Metadata": [ - 289 + 3557 ] }, - "id": 297, + "id": 3565, "nodeType": "SourceUnit", "nodes": [ { - "id": 244, + "id": 3512, "literals": [ "solidity", "^", @@ -407,16 +426,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:4" + "src": "0:24:47" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Basic.sol", "file": "./ERC721Basic.sol", - "id": 245, + "id": 3513, "nodeType": "ImportDirective", - "scope": 297, - "sourceUnit": 404, - "src": "26:27:4", + "scope": 3565, + "sourceUnit": 3675, + "src": "26:27:47", "symbolAliases": [], "unitAlias": "" }, @@ -426,31 +445,33 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 246, + "id": 3514, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "244:11:4", + "referencedDeclaration": 3674, + "src": "244:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 247, + "id": 3515, "nodeType": "InheritanceSpecifier", - "src": "244:11:4" + "src": "244:11:47" } ], "contractDependencies": [ - 403 + 303, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 269, + "id": 3537, "linearizedBaseContracts": [ - 269, - 403 + 3537, + 3674, + 303 ], "name": "ERC721Enumerable", "nodeType": "ContractDefinition", @@ -458,7 +479,7 @@ { "body": null, "documentation": null, - "id": 252, + "id": 3520, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -466,23 +487,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 248, + "id": 3516, "nodeType": "ParameterList", "parameters": [], - "src": "280:2:4" + "src": "280:2:47" }, "payable": false, "returnParameters": { - "id": 251, + "id": 3519, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 250, + "id": 3518, "name": "", "nodeType": "VariableDeclaration", - "scope": 252, - "src": "304:7:4", + "scope": 3520, + "src": "304:7:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -490,10 +511,10 @@ "typeString": "uint256" }, "typeName": { - "id": 249, + "id": 3517, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "304:7:4", + "src": "304:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -503,10 +524,10 @@ "visibility": "internal" } ], - "src": "303:9:4" + "src": "303:9:47" }, - "scope": 269, - "src": "260:53:4", + "scope": 3537, + "src": "260:53:47", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -514,7 +535,7 @@ { "body": null, "documentation": null, - "id": 261, + "id": 3529, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -522,16 +543,16 @@ "name": "tokenOfOwnerByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 257, + "id": 3525, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 254, + "id": 3522, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "345:14:4", + "scope": 3529, + "src": "350:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -539,10 +560,10 @@ "typeString": "address" }, "typeName": { - "id": 253, + "id": 3521, "name": "address", "nodeType": "ElementaryTypeName", - "src": "345:7:4", + "src": "350:7:47", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -553,11 +574,11 @@ }, { "constant": false, - "id": 256, + "id": 3524, "name": "_index", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "361:14:4", + "scope": 3529, + "src": "370:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -565,10 +586,10 @@ "typeString": "uint256" }, "typeName": { - "id": 255, + "id": 3523, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "361:7:4", + "src": "370:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -578,20 +599,20 @@ "visibility": "internal" } ], - "src": "344:32:4" + "src": "344:44:47" }, "payable": false, "returnParameters": { - "id": 260, + "id": 3528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 259, + "id": 3527, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "398:16:4", + "scope": 3529, + "src": "422:16:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -599,10 +620,10 @@ "typeString": "uint256" }, "typeName": { - "id": 258, + "id": 3526, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "398:7:4", + "src": "422:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -612,10 +633,10 @@ "visibility": "internal" } ], - "src": "397:18:4" + "src": "421:18:47" }, - "scope": 269, - "src": "316:100:4", + "scope": 3537, + "src": "316:124:47", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -623,7 +644,7 @@ { "body": null, "documentation": null, - "id": 268, + "id": 3536, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -631,16 +652,16 @@ "name": "tokenByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 264, + "id": 3532, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 263, + "id": 3531, "name": "_index", "nodeType": "VariableDeclaration", - "scope": 268, - "src": "441:14:4", + "scope": 3536, + "src": "466:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -648,10 +669,10 @@ "typeString": "uint256" }, "typeName": { - "id": 262, + "id": 3530, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "441:7:4", + "src": "466:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -661,20 +682,20 @@ "visibility": "internal" } ], - "src": "440:16:4" + "src": "465:16:47" }, "payable": false, "returnParameters": { - "id": 267, + "id": 3535, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 266, + "id": 3534, "name": "", "nodeType": "VariableDeclaration", - "scope": 268, - "src": "478:7:4", + "scope": 3536, + "src": "503:7:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -682,10 +703,10 @@ "typeString": "uint256" }, "typeName": { - "id": 265, + "id": 3533, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "478:7:4", + "src": "503:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -695,17 +716,17 @@ "visibility": "internal" } ], - "src": "477:9:4" + "src": "502:9:47" }, - "scope": 269, - "src": "419:68:4", + "scope": 3537, + "src": "444:68:47", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 297, - "src": "215:274:4" + "scope": 3565, + "src": "215:299:47" }, { "baseContracts": [ @@ -713,31 +734,33 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 270, + "id": 3538, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "675:11:4", + "referencedDeclaration": 3674, + "src": "700:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 271, + "id": 3539, "nodeType": "InheritanceSpecifier", - "src": "675:11:4" + "src": "700:11:47" } ], "contractDependencies": [ - 403 + 303, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, optional metadata extension\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 289, + "id": 3557, "linearizedBaseContracts": [ - 289, - 403 + 3557, + 3674, + 303 ], "name": "ERC721Metadata", "nodeType": "ContractDefinition", @@ -745,7 +768,7 @@ { "body": null, "documentation": null, - "id": 276, + "id": 3544, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -753,23 +776,23 @@ "name": "name", "nodeType": "FunctionDefinition", "parameters": { - "id": 272, + "id": 3540, "nodeType": "ParameterList", "parameters": [], - "src": "704:2:4" + "src": "729:2:47" }, "payable": false, "returnParameters": { - "id": 275, + "id": 3543, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 274, + "id": 3542, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 276, - "src": "728:12:4", + "scope": 3544, + "src": "755:12:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -777,10 +800,10 @@ "typeString": "string" }, "typeName": { - "id": 273, + "id": 3541, "name": "string", "nodeType": "ElementaryTypeName", - "src": "728:6:4", + "src": "755:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -790,18 +813,18 @@ "visibility": "internal" } ], - "src": "727:14:4" + "src": "754:14:47" }, - "scope": 289, - "src": "691:51:4", + "scope": 3557, + "src": "716:53:47", "stateMutability": "view", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { "body": null, "documentation": null, - "id": 281, + "id": 3549, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -809,23 +832,23 @@ "name": "symbol", "nodeType": "FunctionDefinition", "parameters": { - "id": 277, + "id": 3545, "nodeType": "ParameterList", "parameters": [], - "src": "760:2:4" + "src": "787:2:47" }, "payable": false, "returnParameters": { - "id": 280, + "id": 3548, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 279, + "id": 3547, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 281, - "src": "784:14:4", + "scope": 3549, + "src": "813:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -833,10 +856,10 @@ "typeString": "string" }, "typeName": { - "id": 278, + "id": 3546, "name": "string", "nodeType": "ElementaryTypeName", - "src": "784:6:4", + "src": "813:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -846,18 +869,18 @@ "visibility": "internal" } ], - "src": "783:16:4" + "src": "812:16:47" }, - "scope": 289, - "src": "745:55:4", + "scope": 3557, + "src": "772:57:47", "stateMutability": "view", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { "body": null, "documentation": null, - "id": 288, + "id": 3556, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -865,16 +888,16 @@ "name": "tokenURI", "nodeType": "FunctionDefinition", "parameters": { - "id": 284, + "id": 3552, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 283, + "id": 3551, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 288, - "src": "821:16:4", + "scope": 3556, + "src": "850:16:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -882,10 +905,10 @@ "typeString": "uint256" }, "typeName": { - "id": 282, + "id": 3550, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "821:7:4", + "src": "850:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -895,20 +918,20 @@ "visibility": "internal" } ], - "src": "820:18:4" + "src": "849:18:47" }, "payable": false, "returnParameters": { - "id": 287, + "id": 3555, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 286, + "id": 3554, "name": "", "nodeType": "VariableDeclaration", - "scope": 288, - "src": "860:6:4", + "scope": 3556, + "src": "889:6:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -916,10 +939,10 @@ "typeString": "string" }, "typeName": { - "id": 285, + "id": 3553, "name": "string", "nodeType": "ElementaryTypeName", - "src": "860:6:4", + "src": "889:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -929,17 +952,17 @@ "visibility": "internal" } ], - "src": "859:8:4" + "src": "888:8:47" }, - "scope": 289, - "src": "803:65:4", + "scope": 3557, + "src": "832:65:47", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 297, - "src": "648:222:4" + "scope": 3565, + "src": "673:226:47" }, { "baseContracts": [ @@ -947,99 +970,101 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 290, + "id": 3558, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "1050:11:4", + "referencedDeclaration": 3674, + "src": "1079:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 291, + "id": 3559, "nodeType": "InheritanceSpecifier", - "src": "1050:11:4" + "src": "1079:11:47" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 292, + "id": 3560, "name": "ERC721Enumerable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 269, - "src": "1063:16:4", + "referencedDeclaration": 3537, + "src": "1092:16:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Enumerable_$269", + "typeIdentifier": "t_contract$_ERC721Enumerable_$3537", "typeString": "contract ERC721Enumerable" } }, - "id": 293, + "id": 3561, "nodeType": "InheritanceSpecifier", - "src": "1063:16:4" + "src": "1092:16:47" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 294, + "id": 3562, "name": "ERC721Metadata", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 289, - "src": "1081:14:4", + "referencedDeclaration": 3557, + "src": "1110:14:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Metadata_$289", + "typeIdentifier": "t_contract$_ERC721Metadata_$3557", "typeString": "contract ERC721Metadata" } }, - "id": 295, + "id": 3563, "nodeType": "InheritanceSpecifier", - "src": "1081:14:4" + "src": "1110:14:47" } ], "contractDependencies": [ - 269, - 289, - 403 + 303, + 3537, + 3557, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, full implementation interface\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 296, + "id": 3564, "linearizedBaseContracts": [ - 296, - 289, - 269, - 403 + 3564, + 3557, + 3537, + 3674, + 303 ], "name": "ERC721", "nodeType": "ContractDefinition", "nodes": [], - "scope": 297, - "src": "1031:68:4" + "scope": 3565, + "src": "1060:68:47" } ], - "src": "0:1100:4" + "src": "0:1129:47" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721.sol", "exportedSymbols": { "ERC721": [ - 296 + 3564 ], "ERC721Enumerable": [ - 269 + 3537 ], "ERC721Metadata": [ - 289 + 3557 ] }, - "id": 297, + "id": 3565, "nodeType": "SourceUnit", "nodes": [ { - "id": 244, + "id": 3512, "literals": [ "solidity", "^", @@ -1047,16 +1072,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:4" + "src": "0:24:47" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Basic.sol", "file": "./ERC721Basic.sol", - "id": 245, + "id": 3513, "nodeType": "ImportDirective", - "scope": 297, - "sourceUnit": 404, - "src": "26:27:4", + "scope": 3565, + "sourceUnit": 3675, + "src": "26:27:47", "symbolAliases": [], "unitAlias": "" }, @@ -1066,31 +1091,33 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 246, + "id": 3514, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "244:11:4", + "referencedDeclaration": 3674, + "src": "244:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 247, + "id": 3515, "nodeType": "InheritanceSpecifier", - "src": "244:11:4" + "src": "244:11:47" } ], "contractDependencies": [ - 403 + 303, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 269, + "id": 3537, "linearizedBaseContracts": [ - 269, - 403 + 3537, + 3674, + 303 ], "name": "ERC721Enumerable", "nodeType": "ContractDefinition", @@ -1098,7 +1125,7 @@ { "body": null, "documentation": null, - "id": 252, + "id": 3520, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1106,23 +1133,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 248, + "id": 3516, "nodeType": "ParameterList", "parameters": [], - "src": "280:2:4" + "src": "280:2:47" }, "payable": false, "returnParameters": { - "id": 251, + "id": 3519, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 250, + "id": 3518, "name": "", "nodeType": "VariableDeclaration", - "scope": 252, - "src": "304:7:4", + "scope": 3520, + "src": "304:7:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1130,10 +1157,10 @@ "typeString": "uint256" }, "typeName": { - "id": 249, + "id": 3517, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "304:7:4", + "src": "304:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1143,10 +1170,10 @@ "visibility": "internal" } ], - "src": "303:9:4" + "src": "303:9:47" }, - "scope": 269, - "src": "260:53:4", + "scope": 3537, + "src": "260:53:47", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1154,7 +1181,7 @@ { "body": null, "documentation": null, - "id": 261, + "id": 3529, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1162,16 +1189,16 @@ "name": "tokenOfOwnerByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 257, + "id": 3525, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 254, + "id": 3522, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "345:14:4", + "scope": 3529, + "src": "350:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1179,10 +1206,10 @@ "typeString": "address" }, "typeName": { - "id": 253, + "id": 3521, "name": "address", "nodeType": "ElementaryTypeName", - "src": "345:7:4", + "src": "350:7:47", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1193,11 +1220,11 @@ }, { "constant": false, - "id": 256, + "id": 3524, "name": "_index", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "361:14:4", + "scope": 3529, + "src": "370:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1205,10 +1232,10 @@ "typeString": "uint256" }, "typeName": { - "id": 255, + "id": 3523, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "361:7:4", + "src": "370:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1218,20 +1245,20 @@ "visibility": "internal" } ], - "src": "344:32:4" + "src": "344:44:47" }, "payable": false, "returnParameters": { - "id": 260, + "id": 3528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 259, + "id": 3527, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "398:16:4", + "scope": 3529, + "src": "422:16:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1239,10 +1266,10 @@ "typeString": "uint256" }, "typeName": { - "id": 258, + "id": 3526, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "398:7:4", + "src": "422:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1252,10 +1279,10 @@ "visibility": "internal" } ], - "src": "397:18:4" + "src": "421:18:47" }, - "scope": 269, - "src": "316:100:4", + "scope": 3537, + "src": "316:124:47", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1263,7 +1290,7 @@ { "body": null, "documentation": null, - "id": 268, + "id": 3536, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1271,16 +1298,16 @@ "name": "tokenByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 264, + "id": 3532, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 263, + "id": 3531, "name": "_index", "nodeType": "VariableDeclaration", - "scope": 268, - "src": "441:14:4", + "scope": 3536, + "src": "466:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1288,10 +1315,10 @@ "typeString": "uint256" }, "typeName": { - "id": 262, + "id": 3530, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "441:7:4", + "src": "466:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1301,20 +1328,20 @@ "visibility": "internal" } ], - "src": "440:16:4" + "src": "465:16:47" }, "payable": false, "returnParameters": { - "id": 267, + "id": 3535, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 266, + "id": 3534, "name": "", "nodeType": "VariableDeclaration", - "scope": 268, - "src": "478:7:4", + "scope": 3536, + "src": "503:7:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1322,10 +1349,10 @@ "typeString": "uint256" }, "typeName": { - "id": 265, + "id": 3533, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "478:7:4", + "src": "503:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1335,17 +1362,17 @@ "visibility": "internal" } ], - "src": "477:9:4" + "src": "502:9:47" }, - "scope": 269, - "src": "419:68:4", + "scope": 3537, + "src": "444:68:47", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 297, - "src": "215:274:4" + "scope": 3565, + "src": "215:299:47" }, { "baseContracts": [ @@ -1353,31 +1380,33 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 270, + "id": 3538, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "675:11:4", + "referencedDeclaration": 3674, + "src": "700:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 271, + "id": 3539, "nodeType": "InheritanceSpecifier", - "src": "675:11:4" + "src": "700:11:47" } ], "contractDependencies": [ - 403 + 303, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, optional metadata extension\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 289, + "id": 3557, "linearizedBaseContracts": [ - 289, - 403 + 3557, + 3674, + 303 ], "name": "ERC721Metadata", "nodeType": "ContractDefinition", @@ -1385,7 +1414,7 @@ { "body": null, "documentation": null, - "id": 276, + "id": 3544, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1393,23 +1422,23 @@ "name": "name", "nodeType": "FunctionDefinition", "parameters": { - "id": 272, + "id": 3540, "nodeType": "ParameterList", "parameters": [], - "src": "704:2:4" + "src": "729:2:47" }, "payable": false, "returnParameters": { - "id": 275, + "id": 3543, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 274, + "id": 3542, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 276, - "src": "728:12:4", + "scope": 3544, + "src": "755:12:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1417,10 +1446,10 @@ "typeString": "string" }, "typeName": { - "id": 273, + "id": 3541, "name": "string", "nodeType": "ElementaryTypeName", - "src": "728:6:4", + "src": "755:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1430,18 +1459,18 @@ "visibility": "internal" } ], - "src": "727:14:4" + "src": "754:14:47" }, - "scope": 289, - "src": "691:51:4", + "scope": 3557, + "src": "716:53:47", "stateMutability": "view", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { "body": null, "documentation": null, - "id": 281, + "id": 3549, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1449,23 +1478,23 @@ "name": "symbol", "nodeType": "FunctionDefinition", "parameters": { - "id": 277, + "id": 3545, "nodeType": "ParameterList", "parameters": [], - "src": "760:2:4" + "src": "787:2:47" }, "payable": false, "returnParameters": { - "id": 280, + "id": 3548, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 279, + "id": 3547, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 281, - "src": "784:14:4", + "scope": 3549, + "src": "813:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1473,10 +1502,10 @@ "typeString": "string" }, "typeName": { - "id": 278, + "id": 3546, "name": "string", "nodeType": "ElementaryTypeName", - "src": "784:6:4", + "src": "813:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1486,18 +1515,18 @@ "visibility": "internal" } ], - "src": "783:16:4" + "src": "812:16:47" }, - "scope": 289, - "src": "745:55:4", + "scope": 3557, + "src": "772:57:47", "stateMutability": "view", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { "body": null, "documentation": null, - "id": 288, + "id": 3556, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1505,16 +1534,16 @@ "name": "tokenURI", "nodeType": "FunctionDefinition", "parameters": { - "id": 284, + "id": 3552, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 283, + "id": 3551, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 288, - "src": "821:16:4", + "scope": 3556, + "src": "850:16:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1522,10 +1551,10 @@ "typeString": "uint256" }, "typeName": { - "id": 282, + "id": 3550, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "821:7:4", + "src": "850:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1535,20 +1564,20 @@ "visibility": "internal" } ], - "src": "820:18:4" + "src": "849:18:47" }, "payable": false, "returnParameters": { - "id": 287, + "id": 3555, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 286, + "id": 3554, "name": "", "nodeType": "VariableDeclaration", - "scope": 288, - "src": "860:6:4", + "scope": 3556, + "src": "889:6:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1556,10 +1585,10 @@ "typeString": "string" }, "typeName": { - "id": 285, + "id": 3553, "name": "string", "nodeType": "ElementaryTypeName", - "src": "860:6:4", + "src": "889:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1569,17 +1598,17 @@ "visibility": "internal" } ], - "src": "859:8:4" + "src": "888:8:47" }, - "scope": 289, - "src": "803:65:4", + "scope": 3557, + "src": "832:65:47", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 297, - "src": "648:222:4" + "scope": 3565, + "src": "673:226:47" }, { "baseContracts": [ @@ -1587,80 +1616,82 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 290, + "id": 3558, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "1050:11:4", + "referencedDeclaration": 3674, + "src": "1079:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 291, + "id": 3559, "nodeType": "InheritanceSpecifier", - "src": "1050:11:4" + "src": "1079:11:47" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 292, + "id": 3560, "name": "ERC721Enumerable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 269, - "src": "1063:16:4", + "referencedDeclaration": 3537, + "src": "1092:16:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Enumerable_$269", + "typeIdentifier": "t_contract$_ERC721Enumerable_$3537", "typeString": "contract ERC721Enumerable" } }, - "id": 293, + "id": 3561, "nodeType": "InheritanceSpecifier", - "src": "1063:16:4" + "src": "1092:16:47" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 294, + "id": 3562, "name": "ERC721Metadata", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 289, - "src": "1081:14:4", + "referencedDeclaration": 3557, + "src": "1110:14:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Metadata_$289", + "typeIdentifier": "t_contract$_ERC721Metadata_$3557", "typeString": "contract ERC721Metadata" } }, - "id": 295, + "id": 3563, "nodeType": "InheritanceSpecifier", - "src": "1081:14:4" + "src": "1110:14:47" } ], "contractDependencies": [ - 269, - 289, - 403 + 303, + 3537, + 3557, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, full implementation interface\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 296, + "id": 3564, "linearizedBaseContracts": [ - 296, - 289, - 269, - 403 + 3564, + 3557, + 3537, + 3674, + 303 ], "name": "ERC721", "nodeType": "ContractDefinition", "nodes": [], - "scope": 297, - "src": "1031:68:4" + "scope": 3565, + "src": "1060:68:47" } ], - "src": "0:1100:4" + "src": "0:1129:47" }, "compiler": { "name": "solc", @@ -1668,5 +1699,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-08-23T17:26:04.157Z" + "updatedAt": "2018-08-27T20:45:00.218Z" } \ No newline at end of file diff --git a/build/contracts/ERC721Basic.json b/build/contracts/ERC721Basic.json index 603999296..ac079fae3 100644 --- a/build/contracts/ERC721Basic.json +++ b/build/contracts/ERC721Basic.json @@ -1,6 +1,25 @@ { "contractName": "ERC721Basic", "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "anonymous": false, "inputs": [ @@ -277,20 +296,20 @@ "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", - "source": "pragma solidity ^0.4.21;\n\n\n/**\n * @title ERC721 Non-Fungible Token Standard basic interface\n * @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Basic {\n event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);\n event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);\n event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);\n\n function balanceOf(address _owner) public view returns (uint256 _balance);\n function ownerOf(uint256 _tokenId) public view returns (address _owner);\n function exists(uint256 _tokenId) public view returns (bool _exists);\n\n function approve(address _to, uint256 _tokenId) public;\n function getApproved(uint256 _tokenId) public view returns (address _operator);\n\n function setApprovalForAll(address _operator, bool _approved) public;\n function isApprovedForAll(address _owner, address _operator) public view returns (bool);\n\n function transferFrom(address _from, address _to, uint256 _tokenId) public;\n function safeTransferFrom(address _from, address _to, uint256 _tokenId) public;\n function safeTransferFrom(\n address _from,\n address _to,\n uint256 _tokenId,\n bytes _data\n )\n public;\n}\n", + "source": "pragma solidity ^0.4.21;\n\nimport \"../../introspection/ERC165.sol\";\n\n\n/**\n * @title ERC721 Non-Fungible Token Standard basic interface\n * @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Basic is ERC165 {\n event Transfer(\n address indexed _from,\n address indexed _to,\n uint256 indexed _tokenId\n );\n event Approval(\n address indexed _owner,\n address indexed _approved,\n uint256 indexed _tokenId\n );\n event ApprovalForAll(\n address indexed _owner,\n address indexed _operator,\n bool _approved\n );\n\n function balanceOf(address _owner) public view returns (uint256 _balance);\n function ownerOf(uint256 _tokenId) public view returns (address _owner);\n function exists(uint256 _tokenId) public view returns (bool _exists);\n\n function approve(address _to, uint256 _tokenId) public;\n function getApproved(uint256 _tokenId)\n public view returns (address _operator);\n\n function setApprovalForAll(address _operator, bool _approved) public;\n function isApprovedForAll(address _owner, address _operator)\n public view returns (bool);\n\n function transferFrom(address _from, address _to, uint256 _tokenId) public;\n function safeTransferFrom(address _from, address _to, uint256 _tokenId)\n public;\n\n function safeTransferFrom(\n address _from,\n address _to,\n uint256 _tokenId,\n bytes _data\n )\n public;\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Basic.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Basic.sol", "exportedSymbols": { "ERC721Basic": [ - 403 + 3674 ] }, - "id": 404, + "id": 3675, "nodeType": "SourceUnit", "nodes": [ { - "id": 298, + "id": 3566, "literals": [ "solidity", "^", @@ -298,17 +317,50 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:5" + "src": "0:24:48" }, { - "baseContracts": [], - "contractDependencies": [], + "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/introspection/ERC165.sol", + "file": "../../introspection/ERC165.sol", + "id": 3567, + "nodeType": "ImportDirective", + "scope": 3675, + "sourceUnit": 304, + "src": "26:40:48", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3568, + "name": "ERC165", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 303, + "src": "235:6:48", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC165_$303", + "typeString": "contract ERC165" + } + }, + "id": 3569, + "nodeType": "InheritanceSpecifier", + "src": "235:6:48" + } + ], + "contractDependencies": [ + 303 + ], "contractKind": "contract", "documentation": "@title ERC721 Non-Fungible Token Standard basic interface\n@dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 403, + "id": 3674, "linearizedBaseContracts": [ - 403 + 3674, + 303 ], "name": "ERC721Basic", "nodeType": "ContractDefinition", @@ -316,21 +368,21 @@ { "anonymous": false, "documentation": null, - "id": 306, + "id": 3577, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 305, + "id": 3576, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 300, + "id": 3571, "indexed": true, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 306, - "src": "209:21:5", + "scope": 3577, + "src": "266:21:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -338,10 +390,10 @@ "typeString": "address" }, "typeName": { - "id": 299, + "id": 3570, "name": "address", "nodeType": "ElementaryTypeName", - "src": "209:7:5", + "src": "266:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -352,12 +404,12 @@ }, { "constant": false, - "id": 302, + "id": 3573, "indexed": true, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 306, - "src": "232:19:5", + "scope": 3577, + "src": "293:19:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -365,10 +417,10 @@ "typeString": "address" }, "typeName": { - "id": 301, + "id": 3572, "name": "address", "nodeType": "ElementaryTypeName", - "src": "232:7:5", + "src": "293:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -379,12 +431,12 @@ }, { "constant": false, - "id": 304, + "id": 3575, "indexed": true, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 306, - "src": "253:24:5", + "scope": 3577, + "src": "318:24:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -392,10 +444,10 @@ "typeString": "uint256" }, "typeName": { - "id": 303, + "id": 3574, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "253:7:5", + "src": "318:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -405,28 +457,28 @@ "visibility": "internal" } ], - "src": "208:70:5" + "src": "260:86:48" }, - "src": "194:85:5" + "src": "246:101:48" }, { "anonymous": false, "documentation": null, - "id": 314, + "id": 3585, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 313, + "id": 3584, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 308, + "id": 3579, "indexed": true, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 314, - "src": "297:22:5", + "scope": 3585, + "src": "370:22:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -434,10 +486,10 @@ "typeString": "address" }, "typeName": { - "id": 307, + "id": 3578, "name": "address", "nodeType": "ElementaryTypeName", - "src": "297:7:5", + "src": "370:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -448,12 +500,12 @@ }, { "constant": false, - "id": 310, + "id": 3581, "indexed": true, "name": "_approved", "nodeType": "VariableDeclaration", - "scope": 314, - "src": "321:25:5", + "scope": 3585, + "src": "398:25:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -461,10 +513,10 @@ "typeString": "address" }, "typeName": { - "id": 309, + "id": 3580, "name": "address", "nodeType": "ElementaryTypeName", - "src": "321:7:5", + "src": "398:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -475,12 +527,12 @@ }, { "constant": false, - "id": 312, + "id": 3583, "indexed": true, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 314, - "src": "348:24:5", + "scope": 3585, + "src": "429:24:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -488,10 +540,10 @@ "typeString": "uint256" }, "typeName": { - "id": 311, + "id": 3582, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "348:7:5", + "src": "429:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -501,28 +553,28 @@ "visibility": "internal" } ], - "src": "296:77:5" + "src": "364:93:48" }, - "src": "282:92:5" + "src": "350:108:48" }, { "anonymous": false, "documentation": null, - "id": 322, + "id": 3593, "name": "ApprovalForAll", "nodeType": "EventDefinition", "parameters": { - "id": 321, + "id": 3592, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 316, + "id": 3587, "indexed": true, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 322, - "src": "398:22:5", + "scope": 3593, + "src": "487:22:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -530,10 +582,10 @@ "typeString": "address" }, "typeName": { - "id": 315, + "id": 3586, "name": "address", "nodeType": "ElementaryTypeName", - "src": "398:7:5", + "src": "487:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -544,12 +596,12 @@ }, { "constant": false, - "id": 318, + "id": 3589, "indexed": true, "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 322, - "src": "422:25:5", + "scope": 3593, + "src": "515:25:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -557,10 +609,10 @@ "typeString": "address" }, "typeName": { - "id": 317, + "id": 3588, "name": "address", "nodeType": "ElementaryTypeName", - "src": "422:7:5", + "src": "515:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -571,12 +623,12 @@ }, { "constant": false, - "id": 320, + "id": 3591, "indexed": false, "name": "_approved", "nodeType": "VariableDeclaration", - "scope": 322, - "src": "449:14:5", + "scope": 3593, + "src": "546:14:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -584,10 +636,10 @@ "typeString": "bool" }, "typeName": { - "id": 319, + "id": 3590, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "449:4:5", + "src": "546:4:48", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -597,14 +649,14 @@ "visibility": "internal" } ], - "src": "397:67:5" + "src": "481:83:48" }, - "src": "377:88:5" + "src": "461:104:48" }, { "body": null, "documentation": null, - "id": 329, + "id": 3600, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -612,16 +664,16 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 325, + "id": 3596, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 324, + "id": 3595, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "488:14:5", + "scope": 3600, + "src": "588:14:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -629,10 +681,10 @@ "typeString": "address" }, "typeName": { - "id": 323, + "id": 3594, "name": "address", "nodeType": "ElementaryTypeName", - "src": "488:7:5", + "src": "588:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -642,20 +694,20 @@ "visibility": "internal" } ], - "src": "487:16:5" + "src": "587:16:48" }, "payable": false, "returnParameters": { - "id": 328, + "id": 3599, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 327, + "id": 3598, "name": "_balance", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "525:16:5", + "scope": 3600, + "src": "625:16:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -663,10 +715,10 @@ "typeString": "uint256" }, "typeName": { - "id": 326, + "id": 3597, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "525:7:5", + "src": "625:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -676,10 +728,10 @@ "visibility": "internal" } ], - "src": "524:18:5" + "src": "624:18:48" }, - "scope": 403, - "src": "469:74:5", + "scope": 3674, + "src": "569:74:48", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -687,7 +739,7 @@ { "body": null, "documentation": null, - "id": 336, + "id": 3607, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -695,16 +747,16 @@ "name": "ownerOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 332, + "id": 3603, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 331, + "id": 3602, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 336, - "src": "563:16:5", + "scope": 3607, + "src": "663:16:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -712,10 +764,10 @@ "typeString": "uint256" }, "typeName": { - "id": 330, + "id": 3601, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "563:7:5", + "src": "663:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -725,20 +777,20 @@ "visibility": "internal" } ], - "src": "562:18:5" + "src": "662:18:48" }, "payable": false, "returnParameters": { - "id": 335, + "id": 3606, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 334, + "id": 3605, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 336, - "src": "602:14:5", + "scope": 3607, + "src": "702:14:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -746,10 +798,10 @@ "typeString": "address" }, "typeName": { - "id": 333, + "id": 3604, "name": "address", "nodeType": "ElementaryTypeName", - "src": "602:7:5", + "src": "702:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -759,10 +811,10 @@ "visibility": "internal" } ], - "src": "601:16:5" + "src": "701:16:48" }, - "scope": 403, - "src": "546:72:5", + "scope": 3674, + "src": "646:72:48", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -770,7 +822,7 @@ { "body": null, "documentation": null, - "id": 343, + "id": 3614, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -778,16 +830,16 @@ "name": "exists", "nodeType": "FunctionDefinition", "parameters": { - "id": 339, + "id": 3610, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 338, + "id": 3609, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 343, - "src": "637:16:5", + "scope": 3614, + "src": "737:16:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -795,10 +847,10 @@ "typeString": "uint256" }, "typeName": { - "id": 337, + "id": 3608, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "637:7:5", + "src": "737:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -808,20 +860,20 @@ "visibility": "internal" } ], - "src": "636:18:5" + "src": "736:18:48" }, "payable": false, "returnParameters": { - "id": 342, + "id": 3613, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 341, + "id": 3612, "name": "_exists", "nodeType": "VariableDeclaration", - "scope": 343, - "src": "676:12:5", + "scope": 3614, + "src": "776:12:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -829,10 +881,10 @@ "typeString": "bool" }, "typeName": { - "id": 340, + "id": 3611, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "676:4:5", + "src": "776:4:48", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -842,10 +894,10 @@ "visibility": "internal" } ], - "src": "675:14:5" + "src": "775:14:48" }, - "scope": 403, - "src": "621:69:5", + "scope": 3674, + "src": "721:69:48", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -853,7 +905,7 @@ { "body": null, "documentation": null, - "id": 350, + "id": 3621, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -861,16 +913,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 348, + "id": 3619, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 345, + "id": 3616, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 350, - "src": "711:11:5", + "scope": 3621, + "src": "811:11:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -878,10 +930,10 @@ "typeString": "address" }, "typeName": { - "id": 344, + "id": 3615, "name": "address", "nodeType": "ElementaryTypeName", - "src": "711:7:5", + "src": "811:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -892,11 +944,11 @@ }, { "constant": false, - "id": 347, + "id": 3618, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 350, - "src": "724:16:5", + "scope": 3621, + "src": "824:16:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -904,10 +956,10 @@ "typeString": "uint256" }, "typeName": { - "id": 346, + "id": 3617, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "724:7:5", + "src": "824:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -917,17 +969,17 @@ "visibility": "internal" } ], - "src": "710:31:5" + "src": "810:31:48" }, "payable": false, "returnParameters": { - "id": 349, + "id": 3620, "nodeType": "ParameterList", "parameters": [], - "src": "748:0:5" + "src": "848:0:48" }, - "scope": 403, - "src": "694:55:5", + "scope": 3674, + "src": "794:55:48", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -935,7 +987,7 @@ { "body": null, "documentation": null, - "id": 357, + "id": 3628, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -943,16 +995,16 @@ "name": "getApproved", "nodeType": "FunctionDefinition", "parameters": { - "id": 353, + "id": 3624, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 352, + "id": 3623, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 357, - "src": "773:16:5", + "scope": 3628, + "src": "873:16:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -960,10 +1012,10 @@ "typeString": "uint256" }, "typeName": { - "id": 351, + "id": 3622, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "773:7:5", + "src": "873:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -973,20 +1025,20 @@ "visibility": "internal" } ], - "src": "772:18:5" + "src": "872:18:48" }, "payable": false, "returnParameters": { - "id": 356, + "id": 3627, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 355, + "id": 3626, "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 357, - "src": "812:17:5", + "scope": 3628, + "src": "916:17:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -994,10 +1046,10 @@ "typeString": "address" }, "typeName": { - "id": 354, + "id": 3625, "name": "address", "nodeType": "ElementaryTypeName", - "src": "812:7:5", + "src": "916:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1007,10 +1059,10 @@ "visibility": "internal" } ], - "src": "811:19:5" + "src": "915:19:48" }, - "scope": 403, - "src": "752:79:5", + "scope": 3674, + "src": "852:83:48", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1018,7 +1070,7 @@ { "body": null, "documentation": null, - "id": 364, + "id": 3635, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -1026,16 +1078,16 @@ "name": "setApprovalForAll", "nodeType": "FunctionDefinition", "parameters": { - "id": 362, + "id": 3633, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 359, + "id": 3630, "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 364, - "src": "862:17:5", + "scope": 3635, + "src": "966:17:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1043,10 +1095,10 @@ "typeString": "address" }, "typeName": { - "id": 358, + "id": 3629, "name": "address", "nodeType": "ElementaryTypeName", - "src": "862:7:5", + "src": "966:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1057,11 +1109,11 @@ }, { "constant": false, - "id": 361, + "id": 3632, "name": "_approved", "nodeType": "VariableDeclaration", - "scope": 364, - "src": "881:14:5", + "scope": 3635, + "src": "985:14:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1069,10 +1121,10 @@ "typeString": "bool" }, "typeName": { - "id": 360, + "id": 3631, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "881:4:5", + "src": "985:4:48", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1082,17 +1134,17 @@ "visibility": "internal" } ], - "src": "861:35:5" + "src": "965:35:48" }, "payable": false, "returnParameters": { - "id": 363, + "id": 3634, "nodeType": "ParameterList", "parameters": [], - "src": "903:0:5" + "src": "1007:0:48" }, - "scope": 403, - "src": "835:69:5", + "scope": 3674, + "src": "939:69:48", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -1100,7 +1152,7 @@ { "body": null, "documentation": null, - "id": 373, + "id": 3644, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1108,16 +1160,16 @@ "name": "isApprovedForAll", "nodeType": "FunctionDefinition", "parameters": { - "id": 369, + "id": 3640, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 366, + "id": 3637, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 373, - "src": "933:14:5", + "scope": 3644, + "src": "1037:14:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1125,10 +1177,10 @@ "typeString": "address" }, "typeName": { - "id": 365, + "id": 3636, "name": "address", "nodeType": "ElementaryTypeName", - "src": "933:7:5", + "src": "1037:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1139,11 +1191,11 @@ }, { "constant": false, - "id": 368, + "id": 3639, "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 373, - "src": "949:17:5", + "scope": 3644, + "src": "1053:17:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1151,10 +1203,10 @@ "typeString": "address" }, "typeName": { - "id": 367, + "id": 3638, "name": "address", "nodeType": "ElementaryTypeName", - "src": "949:7:5", + "src": "1053:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1164,20 +1216,20 @@ "visibility": "internal" } ], - "src": "932:35:5" + "src": "1036:35:48" }, "payable": false, "returnParameters": { - "id": 372, + "id": 3643, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 371, + "id": 3642, "name": "", "nodeType": "VariableDeclaration", - "scope": 373, - "src": "989:4:5", + "scope": 3644, + "src": "1097:4:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1185,10 +1237,10 @@ "typeString": "bool" }, "typeName": { - "id": 370, + "id": 3641, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "989:4:5", + "src": "1097:4:48", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1198,10 +1250,10 @@ "visibility": "internal" } ], - "src": "988:6:5" + "src": "1096:6:48" }, - "scope": 403, - "src": "907:88:5", + "scope": 3674, + "src": "1011:92:48", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1209,7 +1261,7 @@ { "body": null, "documentation": null, - "id": 382, + "id": 3653, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -1217,16 +1269,16 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 380, + "id": 3651, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 375, + "id": 3646, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 382, - "src": "1021:13:5", + "scope": 3653, + "src": "1129:13:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1234,10 +1286,10 @@ "typeString": "address" }, "typeName": { - "id": 374, + "id": 3645, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1021:7:5", + "src": "1129:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1248,11 +1300,11 @@ }, { "constant": false, - "id": 377, + "id": 3648, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 382, - "src": "1036:11:5", + "scope": 3653, + "src": "1144:11:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1260,10 +1312,10 @@ "typeString": "address" }, "typeName": { - "id": 376, + "id": 3647, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1036:7:5", + "src": "1144:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1274,11 +1326,11 @@ }, { "constant": false, - "id": 379, + "id": 3650, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 382, - "src": "1049:16:5", + "scope": 3653, + "src": "1157:16:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1286,10 +1338,10 @@ "typeString": "uint256" }, "typeName": { - "id": 378, + "id": 3649, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1049:7:5", + "src": "1157:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1299,17 +1351,17 @@ "visibility": "internal" } ], - "src": "1020:46:5" + "src": "1128:46:48" }, "payable": false, "returnParameters": { - "id": 381, + "id": 3652, "nodeType": "ParameterList", "parameters": [], - "src": "1073:0:5" + "src": "1181:0:48" }, - "scope": 403, - "src": "999:75:5", + "scope": 3674, + "src": "1107:75:48", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -1317,7 +1369,7 @@ { "body": null, "documentation": null, - "id": 391, + "id": 3662, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -1325,16 +1377,16 @@ "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 389, + "id": 3660, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 384, + "id": 3655, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 391, - "src": "1103:13:5", + "scope": 3662, + "src": "1211:13:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1342,10 +1394,10 @@ "typeString": "address" }, "typeName": { - "id": 383, + "id": 3654, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1103:7:5", + "src": "1211:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1356,11 +1408,11 @@ }, { "constant": false, - "id": 386, + "id": 3657, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 391, - "src": "1118:11:5", + "scope": 3662, + "src": "1226:11:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1368,10 +1420,10 @@ "typeString": "address" }, "typeName": { - "id": 385, + "id": 3656, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1118:7:5", + "src": "1226:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1382,11 +1434,11 @@ }, { "constant": false, - "id": 388, + "id": 3659, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 391, - "src": "1131:16:5", + "scope": 3662, + "src": "1239:16:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1394,10 +1446,10 @@ "typeString": "uint256" }, "typeName": { - "id": 387, + "id": 3658, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1131:7:5", + "src": "1239:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1407,17 +1459,17 @@ "visibility": "internal" } ], - "src": "1102:46:5" + "src": "1210:46:48" }, "payable": false, "returnParameters": { - "id": 390, + "id": 3661, "nodeType": "ParameterList", "parameters": [], - "src": "1155:0:5" + "src": "1267:0:48" }, - "scope": 403, - "src": "1077:79:5", + "scope": 3674, + "src": "1185:83:48", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -1425,7 +1477,7 @@ { "body": null, "documentation": null, - "id": 402, + "id": 3673, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -1433,16 +1485,16 @@ "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 400, + "id": 3671, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 393, + "id": 3664, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 402, - "src": "1190:13:5", + "scope": 3673, + "src": "1303:13:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1450,10 +1502,10 @@ "typeString": "address" }, "typeName": { - "id": 392, + "id": 3663, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1190:7:5", + "src": "1303:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1464,11 +1516,11 @@ }, { "constant": false, - "id": 395, + "id": 3666, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 402, - "src": "1209:11:5", + "scope": 3673, + "src": "1322:11:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1476,10 +1528,10 @@ "typeString": "address" }, "typeName": { - "id": 394, + "id": 3665, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1209:7:5", + "src": "1322:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1490,11 +1542,11 @@ }, { "constant": false, - "id": 397, + "id": 3668, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 402, - "src": "1226:16:5", + "scope": 3673, + "src": "1339:16:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1502,10 +1554,10 @@ "typeString": "uint256" }, "typeName": { - "id": 396, + "id": 3667, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1226:7:5", + "src": "1339:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1516,11 +1568,11 @@ }, { "constant": false, - "id": 399, + "id": 3670, "name": "_data", "nodeType": "VariableDeclaration", - "scope": 402, - "src": "1248:11:5", + "scope": 3673, + "src": "1361:11:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1528,10 +1580,10 @@ "typeString": "bytes" }, "typeName": { - "id": 398, + "id": 3669, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1248:5:5", + "src": "1361:5:48", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1541,40 +1593,40 @@ "visibility": "internal" } ], - "src": "1184:79:5" + "src": "1297:79:48" }, "payable": false, "returnParameters": { - "id": 401, + "id": 3672, "nodeType": "ParameterList", "parameters": [], - "src": "1274:0:5" + "src": "1387:0:48" }, - "scope": 403, - "src": "1159:116:5", + "scope": 3674, + "src": "1272:116:48", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 404, - "src": "169:1108:5" + "scope": 3675, + "src": "211:1179:48" } ], - "src": "0:1278:5" + "src": "0:1391:48" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Basic.sol", "exportedSymbols": { "ERC721Basic": [ - 403 + 3674 ] }, - "id": 404, + "id": 3675, "nodeType": "SourceUnit", "nodes": [ { - "id": 298, + "id": 3566, "literals": [ "solidity", "^", @@ -1582,17 +1634,50 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:5" + "src": "0:24:48" }, { - "baseContracts": [], - "contractDependencies": [], + "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/introspection/ERC165.sol", + "file": "../../introspection/ERC165.sol", + "id": 3567, + "nodeType": "ImportDirective", + "scope": 3675, + "sourceUnit": 304, + "src": "26:40:48", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3568, + "name": "ERC165", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 303, + "src": "235:6:48", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC165_$303", + "typeString": "contract ERC165" + } + }, + "id": 3569, + "nodeType": "InheritanceSpecifier", + "src": "235:6:48" + } + ], + "contractDependencies": [ + 303 + ], "contractKind": "contract", "documentation": "@title ERC721 Non-Fungible Token Standard basic interface\n@dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 403, + "id": 3674, "linearizedBaseContracts": [ - 403 + 3674, + 303 ], "name": "ERC721Basic", "nodeType": "ContractDefinition", @@ -1600,21 +1685,21 @@ { "anonymous": false, "documentation": null, - "id": 306, + "id": 3577, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 305, + "id": 3576, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 300, + "id": 3571, "indexed": true, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 306, - "src": "209:21:5", + "scope": 3577, + "src": "266:21:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1622,10 +1707,10 @@ "typeString": "address" }, "typeName": { - "id": 299, + "id": 3570, "name": "address", "nodeType": "ElementaryTypeName", - "src": "209:7:5", + "src": "266:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1636,12 +1721,12 @@ }, { "constant": false, - "id": 302, + "id": 3573, "indexed": true, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 306, - "src": "232:19:5", + "scope": 3577, + "src": "293:19:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1649,10 +1734,10 @@ "typeString": "address" }, "typeName": { - "id": 301, + "id": 3572, "name": "address", "nodeType": "ElementaryTypeName", - "src": "232:7:5", + "src": "293:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1663,12 +1748,12 @@ }, { "constant": false, - "id": 304, + "id": 3575, "indexed": true, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 306, - "src": "253:24:5", + "scope": 3577, + "src": "318:24:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1676,10 +1761,10 @@ "typeString": "uint256" }, "typeName": { - "id": 303, + "id": 3574, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "253:7:5", + "src": "318:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1689,28 +1774,28 @@ "visibility": "internal" } ], - "src": "208:70:5" + "src": "260:86:48" }, - "src": "194:85:5" + "src": "246:101:48" }, { "anonymous": false, "documentation": null, - "id": 314, + "id": 3585, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 313, + "id": 3584, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 308, + "id": 3579, "indexed": true, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 314, - "src": "297:22:5", + "scope": 3585, + "src": "370:22:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1718,10 +1803,10 @@ "typeString": "address" }, "typeName": { - "id": 307, + "id": 3578, "name": "address", "nodeType": "ElementaryTypeName", - "src": "297:7:5", + "src": "370:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1732,12 +1817,12 @@ }, { "constant": false, - "id": 310, + "id": 3581, "indexed": true, "name": "_approved", "nodeType": "VariableDeclaration", - "scope": 314, - "src": "321:25:5", + "scope": 3585, + "src": "398:25:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1745,10 +1830,10 @@ "typeString": "address" }, "typeName": { - "id": 309, + "id": 3580, "name": "address", "nodeType": "ElementaryTypeName", - "src": "321:7:5", + "src": "398:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1759,12 +1844,12 @@ }, { "constant": false, - "id": 312, + "id": 3583, "indexed": true, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 314, - "src": "348:24:5", + "scope": 3585, + "src": "429:24:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1772,10 +1857,10 @@ "typeString": "uint256" }, "typeName": { - "id": 311, + "id": 3582, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "348:7:5", + "src": "429:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1785,28 +1870,28 @@ "visibility": "internal" } ], - "src": "296:77:5" + "src": "364:93:48" }, - "src": "282:92:5" + "src": "350:108:48" }, { "anonymous": false, "documentation": null, - "id": 322, + "id": 3593, "name": "ApprovalForAll", "nodeType": "EventDefinition", "parameters": { - "id": 321, + "id": 3592, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 316, + "id": 3587, "indexed": true, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 322, - "src": "398:22:5", + "scope": 3593, + "src": "487:22:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1814,10 +1899,10 @@ "typeString": "address" }, "typeName": { - "id": 315, + "id": 3586, "name": "address", "nodeType": "ElementaryTypeName", - "src": "398:7:5", + "src": "487:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1828,12 +1913,12 @@ }, { "constant": false, - "id": 318, + "id": 3589, "indexed": true, "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 322, - "src": "422:25:5", + "scope": 3593, + "src": "515:25:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1841,10 +1926,10 @@ "typeString": "address" }, "typeName": { - "id": 317, + "id": 3588, "name": "address", "nodeType": "ElementaryTypeName", - "src": "422:7:5", + "src": "515:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1855,12 +1940,12 @@ }, { "constant": false, - "id": 320, + "id": 3591, "indexed": false, "name": "_approved", "nodeType": "VariableDeclaration", - "scope": 322, - "src": "449:14:5", + "scope": 3593, + "src": "546:14:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1868,10 +1953,10 @@ "typeString": "bool" }, "typeName": { - "id": 319, + "id": 3590, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "449:4:5", + "src": "546:4:48", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1881,14 +1966,14 @@ "visibility": "internal" } ], - "src": "397:67:5" + "src": "481:83:48" }, - "src": "377:88:5" + "src": "461:104:48" }, { "body": null, "documentation": null, - "id": 329, + "id": 3600, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1896,16 +1981,16 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 325, + "id": 3596, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 324, + "id": 3595, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "488:14:5", + "scope": 3600, + "src": "588:14:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1913,10 +1998,10 @@ "typeString": "address" }, "typeName": { - "id": 323, + "id": 3594, "name": "address", "nodeType": "ElementaryTypeName", - "src": "488:7:5", + "src": "588:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1926,20 +2011,20 @@ "visibility": "internal" } ], - "src": "487:16:5" + "src": "587:16:48" }, "payable": false, "returnParameters": { - "id": 328, + "id": 3599, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 327, + "id": 3598, "name": "_balance", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "525:16:5", + "scope": 3600, + "src": "625:16:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1947,10 +2032,10 @@ "typeString": "uint256" }, "typeName": { - "id": 326, + "id": 3597, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "525:7:5", + "src": "625:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1960,10 +2045,10 @@ "visibility": "internal" } ], - "src": "524:18:5" + "src": "624:18:48" }, - "scope": 403, - "src": "469:74:5", + "scope": 3674, + "src": "569:74:48", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1971,7 +2056,7 @@ { "body": null, "documentation": null, - "id": 336, + "id": 3607, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1979,16 +2064,16 @@ "name": "ownerOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 332, + "id": 3603, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 331, + "id": 3602, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 336, - "src": "563:16:5", + "scope": 3607, + "src": "663:16:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1996,10 +2081,10 @@ "typeString": "uint256" }, "typeName": { - "id": 330, + "id": 3601, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "563:7:5", + "src": "663:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2009,20 +2094,20 @@ "visibility": "internal" } ], - "src": "562:18:5" + "src": "662:18:48" }, "payable": false, "returnParameters": { - "id": 335, + "id": 3606, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 334, + "id": 3605, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 336, - "src": "602:14:5", + "scope": 3607, + "src": "702:14:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2030,10 +2115,10 @@ "typeString": "address" }, "typeName": { - "id": 333, + "id": 3604, "name": "address", "nodeType": "ElementaryTypeName", - "src": "602:7:5", + "src": "702:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2043,10 +2128,10 @@ "visibility": "internal" } ], - "src": "601:16:5" + "src": "701:16:48" }, - "scope": 403, - "src": "546:72:5", + "scope": 3674, + "src": "646:72:48", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -2054,7 +2139,7 @@ { "body": null, "documentation": null, - "id": 343, + "id": 3614, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -2062,16 +2147,16 @@ "name": "exists", "nodeType": "FunctionDefinition", "parameters": { - "id": 339, + "id": 3610, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 338, + "id": 3609, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 343, - "src": "637:16:5", + "scope": 3614, + "src": "737:16:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2079,10 +2164,10 @@ "typeString": "uint256" }, "typeName": { - "id": 337, + "id": 3608, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "637:7:5", + "src": "737:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2092,20 +2177,20 @@ "visibility": "internal" } ], - "src": "636:18:5" + "src": "736:18:48" }, "payable": false, "returnParameters": { - "id": 342, + "id": 3613, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 341, + "id": 3612, "name": "_exists", "nodeType": "VariableDeclaration", - "scope": 343, - "src": "676:12:5", + "scope": 3614, + "src": "776:12:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2113,10 +2198,10 @@ "typeString": "bool" }, "typeName": { - "id": 340, + "id": 3611, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "676:4:5", + "src": "776:4:48", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2126,10 +2211,10 @@ "visibility": "internal" } ], - "src": "675:14:5" + "src": "775:14:48" }, - "scope": 403, - "src": "621:69:5", + "scope": 3674, + "src": "721:69:48", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -2137,7 +2222,7 @@ { "body": null, "documentation": null, - "id": 350, + "id": 3621, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -2145,16 +2230,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 348, + "id": 3619, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 345, + "id": 3616, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 350, - "src": "711:11:5", + "scope": 3621, + "src": "811:11:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2162,10 +2247,10 @@ "typeString": "address" }, "typeName": { - "id": 344, + "id": 3615, "name": "address", "nodeType": "ElementaryTypeName", - "src": "711:7:5", + "src": "811:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2176,11 +2261,11 @@ }, { "constant": false, - "id": 347, + "id": 3618, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 350, - "src": "724:16:5", + "scope": 3621, + "src": "824:16:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2188,10 +2273,10 @@ "typeString": "uint256" }, "typeName": { - "id": 346, + "id": 3617, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "724:7:5", + "src": "824:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2201,17 +2286,17 @@ "visibility": "internal" } ], - "src": "710:31:5" + "src": "810:31:48" }, "payable": false, "returnParameters": { - "id": 349, + "id": 3620, "nodeType": "ParameterList", "parameters": [], - "src": "748:0:5" + "src": "848:0:48" }, - "scope": 403, - "src": "694:55:5", + "scope": 3674, + "src": "794:55:48", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2219,7 +2304,7 @@ { "body": null, "documentation": null, - "id": 357, + "id": 3628, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -2227,16 +2312,16 @@ "name": "getApproved", "nodeType": "FunctionDefinition", "parameters": { - "id": 353, + "id": 3624, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 352, + "id": 3623, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 357, - "src": "773:16:5", + "scope": 3628, + "src": "873:16:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2244,10 +2329,10 @@ "typeString": "uint256" }, "typeName": { - "id": 351, + "id": 3622, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "773:7:5", + "src": "873:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2257,20 +2342,20 @@ "visibility": "internal" } ], - "src": "772:18:5" + "src": "872:18:48" }, "payable": false, "returnParameters": { - "id": 356, + "id": 3627, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 355, + "id": 3626, "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 357, - "src": "812:17:5", + "scope": 3628, + "src": "916:17:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2278,10 +2363,10 @@ "typeString": "address" }, "typeName": { - "id": 354, + "id": 3625, "name": "address", "nodeType": "ElementaryTypeName", - "src": "812:7:5", + "src": "916:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2291,10 +2376,10 @@ "visibility": "internal" } ], - "src": "811:19:5" + "src": "915:19:48" }, - "scope": 403, - "src": "752:79:5", + "scope": 3674, + "src": "852:83:48", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -2302,7 +2387,7 @@ { "body": null, "documentation": null, - "id": 364, + "id": 3635, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -2310,16 +2395,16 @@ "name": "setApprovalForAll", "nodeType": "FunctionDefinition", "parameters": { - "id": 362, + "id": 3633, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 359, + "id": 3630, "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 364, - "src": "862:17:5", + "scope": 3635, + "src": "966:17:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2327,10 +2412,10 @@ "typeString": "address" }, "typeName": { - "id": 358, + "id": 3629, "name": "address", "nodeType": "ElementaryTypeName", - "src": "862:7:5", + "src": "966:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2341,11 +2426,11 @@ }, { "constant": false, - "id": 361, + "id": 3632, "name": "_approved", "nodeType": "VariableDeclaration", - "scope": 364, - "src": "881:14:5", + "scope": 3635, + "src": "985:14:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2353,10 +2438,10 @@ "typeString": "bool" }, "typeName": { - "id": 360, + "id": 3631, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "881:4:5", + "src": "985:4:48", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2366,17 +2451,17 @@ "visibility": "internal" } ], - "src": "861:35:5" + "src": "965:35:48" }, "payable": false, "returnParameters": { - "id": 363, + "id": 3634, "nodeType": "ParameterList", "parameters": [], - "src": "903:0:5" + "src": "1007:0:48" }, - "scope": 403, - "src": "835:69:5", + "scope": 3674, + "src": "939:69:48", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2384,7 +2469,7 @@ { "body": null, "documentation": null, - "id": 373, + "id": 3644, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -2392,16 +2477,16 @@ "name": "isApprovedForAll", "nodeType": "FunctionDefinition", "parameters": { - "id": 369, + "id": 3640, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 366, + "id": 3637, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 373, - "src": "933:14:5", + "scope": 3644, + "src": "1037:14:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2409,10 +2494,10 @@ "typeString": "address" }, "typeName": { - "id": 365, + "id": 3636, "name": "address", "nodeType": "ElementaryTypeName", - "src": "933:7:5", + "src": "1037:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2423,11 +2508,11 @@ }, { "constant": false, - "id": 368, + "id": 3639, "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 373, - "src": "949:17:5", + "scope": 3644, + "src": "1053:17:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2435,10 +2520,10 @@ "typeString": "address" }, "typeName": { - "id": 367, + "id": 3638, "name": "address", "nodeType": "ElementaryTypeName", - "src": "949:7:5", + "src": "1053:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2448,20 +2533,20 @@ "visibility": "internal" } ], - "src": "932:35:5" + "src": "1036:35:48" }, "payable": false, "returnParameters": { - "id": 372, + "id": 3643, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 371, + "id": 3642, "name": "", "nodeType": "VariableDeclaration", - "scope": 373, - "src": "989:4:5", + "scope": 3644, + "src": "1097:4:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2469,10 +2554,10 @@ "typeString": "bool" }, "typeName": { - "id": 370, + "id": 3641, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "989:4:5", + "src": "1097:4:48", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2482,10 +2567,10 @@ "visibility": "internal" } ], - "src": "988:6:5" + "src": "1096:6:48" }, - "scope": 403, - "src": "907:88:5", + "scope": 3674, + "src": "1011:92:48", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -2493,7 +2578,7 @@ { "body": null, "documentation": null, - "id": 382, + "id": 3653, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -2501,16 +2586,16 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 380, + "id": 3651, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 375, + "id": 3646, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 382, - "src": "1021:13:5", + "scope": 3653, + "src": "1129:13:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2518,10 +2603,10 @@ "typeString": "address" }, "typeName": { - "id": 374, + "id": 3645, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1021:7:5", + "src": "1129:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2532,11 +2617,11 @@ }, { "constant": false, - "id": 377, + "id": 3648, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 382, - "src": "1036:11:5", + "scope": 3653, + "src": "1144:11:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2544,10 +2629,10 @@ "typeString": "address" }, "typeName": { - "id": 376, + "id": 3647, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1036:7:5", + "src": "1144:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2558,11 +2643,11 @@ }, { "constant": false, - "id": 379, + "id": 3650, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 382, - "src": "1049:16:5", + "scope": 3653, + "src": "1157:16:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2570,10 +2655,10 @@ "typeString": "uint256" }, "typeName": { - "id": 378, + "id": 3649, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1049:7:5", + "src": "1157:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2583,17 +2668,17 @@ "visibility": "internal" } ], - "src": "1020:46:5" + "src": "1128:46:48" }, "payable": false, "returnParameters": { - "id": 381, + "id": 3652, "nodeType": "ParameterList", "parameters": [], - "src": "1073:0:5" + "src": "1181:0:48" }, - "scope": 403, - "src": "999:75:5", + "scope": 3674, + "src": "1107:75:48", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2601,7 +2686,7 @@ { "body": null, "documentation": null, - "id": 391, + "id": 3662, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -2609,16 +2694,16 @@ "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 389, + "id": 3660, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 384, + "id": 3655, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 391, - "src": "1103:13:5", + "scope": 3662, + "src": "1211:13:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2626,10 +2711,10 @@ "typeString": "address" }, "typeName": { - "id": 383, + "id": 3654, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1103:7:5", + "src": "1211:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2640,11 +2725,11 @@ }, { "constant": false, - "id": 386, + "id": 3657, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 391, - "src": "1118:11:5", + "scope": 3662, + "src": "1226:11:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2652,10 +2737,10 @@ "typeString": "address" }, "typeName": { - "id": 385, + "id": 3656, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1118:7:5", + "src": "1226:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2666,11 +2751,11 @@ }, { "constant": false, - "id": 388, + "id": 3659, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 391, - "src": "1131:16:5", + "scope": 3662, + "src": "1239:16:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2678,10 +2763,10 @@ "typeString": "uint256" }, "typeName": { - "id": 387, + "id": 3658, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1131:7:5", + "src": "1239:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2691,17 +2776,17 @@ "visibility": "internal" } ], - "src": "1102:46:5" + "src": "1210:46:48" }, "payable": false, "returnParameters": { - "id": 390, + "id": 3661, "nodeType": "ParameterList", "parameters": [], - "src": "1155:0:5" + "src": "1267:0:48" }, - "scope": 403, - "src": "1077:79:5", + "scope": 3674, + "src": "1185:83:48", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2709,7 +2794,7 @@ { "body": null, "documentation": null, - "id": 402, + "id": 3673, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -2717,16 +2802,16 @@ "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 400, + "id": 3671, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 393, + "id": 3664, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 402, - "src": "1190:13:5", + "scope": 3673, + "src": "1303:13:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2734,10 +2819,10 @@ "typeString": "address" }, "typeName": { - "id": 392, + "id": 3663, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1190:7:5", + "src": "1303:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2748,11 +2833,11 @@ }, { "constant": false, - "id": 395, + "id": 3666, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 402, - "src": "1209:11:5", + "scope": 3673, + "src": "1322:11:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2760,10 +2845,10 @@ "typeString": "address" }, "typeName": { - "id": 394, + "id": 3665, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1209:7:5", + "src": "1322:7:48", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2774,11 +2859,11 @@ }, { "constant": false, - "id": 397, + "id": 3668, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 402, - "src": "1226:16:5", + "scope": 3673, + "src": "1339:16:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2786,10 +2871,10 @@ "typeString": "uint256" }, "typeName": { - "id": 396, + "id": 3667, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1226:7:5", + "src": "1339:7:48", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2800,11 +2885,11 @@ }, { "constant": false, - "id": 399, + "id": 3670, "name": "_data", "nodeType": "VariableDeclaration", - "scope": 402, - "src": "1248:11:5", + "scope": 3673, + "src": "1361:11:48", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2812,10 +2897,10 @@ "typeString": "bytes" }, "typeName": { - "id": 398, + "id": 3669, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1248:5:5", + "src": "1361:5:48", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2825,27 +2910,27 @@ "visibility": "internal" } ], - "src": "1184:79:5" + "src": "1297:79:48" }, "payable": false, "returnParameters": { - "id": 401, + "id": 3672, "nodeType": "ParameterList", "parameters": [], - "src": "1274:0:5" + "src": "1387:0:48" }, - "scope": 403, - "src": "1159:116:5", + "scope": 3674, + "src": "1272:116:48", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 404, - "src": "169:1108:5" + "scope": 3675, + "src": "211:1179:48" } ], - "src": "0:1278:5" + "src": "0:1391:48" }, "compiler": { "name": "solc", @@ -2853,5 +2938,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-08-23T17:26:04.154Z" + "updatedAt": "2018-08-27T20:45:00.219Z" } \ No newline at end of file diff --git a/build/contracts/ERC721BasicToken.json b/build/contracts/ERC721BasicToken.json index a4ff4c9e5..d103cd71d 100644 --- a/build/contracts/ERC721BasicToken.json +++ b/build/contracts/ERC721BasicToken.json @@ -1,6 +1,25 @@ { "contractName": "ERC721BasicToken", "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "anonymous": false, "inputs": [ @@ -273,24 +292,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5061125e806100206000396000f3006080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063081812fc146100a9578063095ea7b31461011657806323b872dd1461016357806342842e0e146101d05780634f558e791461023d5780636352211e1461028257806370a08231146102ef578063a22cb46514610346578063b88d4fde14610395578063e985e9c514610448575b600080fd5b3480156100b557600080fd5b506100d4600480360381019080803590602001909291905050506104c3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012257600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610500565b005b34801561016f57600080fd5b506101ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106bc565b005b3480156101dc57600080fd5b5061023b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107c9565b005b34801561024957600080fd5b5061026860048036038101908080359060200190929190505050610801565b604051808215151515815260200191505060405180910390f35b34801561028e57600080fd5b506102ad60048036038101908080359060200190929190505050610872565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102fb57600080fd5b50610330600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108ef565b6040518082815260200191505060405180910390f35b34801561035257600080fd5b50610393600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610973565b005b3480156103a157600080fd5b50610446600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610aaf565b005b34801561045457600080fd5b506104a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aee565b604051808215151515815260200191505060405180910390f35b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061050b82610872565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561054857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061058857506105878133610aee565b5b151561059357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166105b4836104c3565b73ffffffffffffffffffffffffffffffffffffffff161415806106045750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156106b757826001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505050565b806106c73382610b82565b15156106d257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561070e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561074a57600080fd5b6107548483610c17565b61075e8483610d76565b6107688383610ea4565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b806107d43382610b82565b15156107df57600080fd5b6107fb8484846020604051908101604052806000815250610aaf565b50505050565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156108e657600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561092c57600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156109ae57600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b81610aba3382610b82565b1515610ac557600080fd5b610ad08585856106bc565b610adc85858585610ffc565b1515610ae757600080fd5b5050505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080610b8e83610872565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610bfd57508373ffffffffffffffffffffffffffffffffffffffff16610be5846104c3565b73ffffffffffffffffffffffffffffffffffffffff16145b80610c0e5750610c0d8185610aee565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff16610c3782610872565b73ffffffffffffffffffffffffffffffffffffffff16141515610c5957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610d725760006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b5050565b8173ffffffffffffffffffffffffffffffffffffffff16610d9682610872565b73ffffffffffffffffffffffffffffffffffffffff16141515610db857600080fd5b610e0b6001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111ea90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600080600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610f1157600080fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fb56001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120390919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008061101e8573ffffffffffffffffffffffffffffffffffffffff1661121f565b151561102d57600191506111e1565b8473ffffffffffffffffffffffffffffffffffffffff1663f0b9e5ba8786866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156110ef5780820151818401526020810190506110d4565b50505050905090810190601f16801561111c5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15801561113d57600080fd5b505af1158015611151573d6000803e3d6000fd5b505050506040513d602081101561116757600080fd5b8101908080519060200190929190505050905063f0b9e5ba7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b60008282111515156111f857fe5b818303905092915050565b6000818301905082811015151561121657fe5b80905092915050565b600080823b9050600081119150509190505600a165627a7a7230582006b16f305f7cc18f6ae09852703d60d5c1ee6b63f0651b01bb056951fd0d3c6e0029", - "deployedBytecode": "0x6080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063081812fc146100a9578063095ea7b31461011657806323b872dd1461016357806342842e0e146101d05780634f558e791461023d5780636352211e1461028257806370a08231146102ef578063a22cb46514610346578063b88d4fde14610395578063e985e9c514610448575b600080fd5b3480156100b557600080fd5b506100d4600480360381019080803590602001909291905050506104c3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012257600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610500565b005b34801561016f57600080fd5b506101ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106bc565b005b3480156101dc57600080fd5b5061023b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107c9565b005b34801561024957600080fd5b5061026860048036038101908080359060200190929190505050610801565b604051808215151515815260200191505060405180910390f35b34801561028e57600080fd5b506102ad60048036038101908080359060200190929190505050610872565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102fb57600080fd5b50610330600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108ef565b6040518082815260200191505060405180910390f35b34801561035257600080fd5b50610393600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610973565b005b3480156103a157600080fd5b50610446600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610aaf565b005b34801561045457600080fd5b506104a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aee565b604051808215151515815260200191505060405180910390f35b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061050b82610872565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561054857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061058857506105878133610aee565b5b151561059357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166105b4836104c3565b73ffffffffffffffffffffffffffffffffffffffff161415806106045750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156106b757826001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505050565b806106c73382610b82565b15156106d257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561070e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561074a57600080fd5b6107548483610c17565b61075e8483610d76565b6107688383610ea4565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b806107d43382610b82565b15156107df57600080fd5b6107fb8484846020604051908101604052806000815250610aaf565b50505050565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156108e657600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561092c57600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156109ae57600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b81610aba3382610b82565b1515610ac557600080fd5b610ad08585856106bc565b610adc85858585610ffc565b1515610ae757600080fd5b5050505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080610b8e83610872565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610bfd57508373ffffffffffffffffffffffffffffffffffffffff16610be5846104c3565b73ffffffffffffffffffffffffffffffffffffffff16145b80610c0e5750610c0d8185610aee565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff16610c3782610872565b73ffffffffffffffffffffffffffffffffffffffff16141515610c5957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610d725760006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b5050565b8173ffffffffffffffffffffffffffffffffffffffff16610d9682610872565b73ffffffffffffffffffffffffffffffffffffffff16141515610db857600080fd5b610e0b6001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111ea90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600080600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610f1157600080fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fb56001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120390919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008061101e8573ffffffffffffffffffffffffffffffffffffffff1661121f565b151561102d57600191506111e1565b8473ffffffffffffffffffffffffffffffffffffffff1663f0b9e5ba8786866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156110ef5780820151818401526020810190506110d4565b50505050905090810190601f16801561111c5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15801561113d57600080fd5b505af1158015611151573d6000803e3d6000fd5b505050506040513d602081101561116757600080fd5b8101908080519060200190929190505050905063f0b9e5ba7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b60008282111515156111f857fe5b818303905092915050565b6000818301905082811015151561121657fe5b80905092915050565b600080823b9050600081119150509190505600a165627a7a7230582006b16f305f7cc18f6ae09852703d60d5c1ee6b63f0651b01bb056951fd0d3c6e0029", - "sourceMap": "301:10652:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;301:10652:6;;;;;;;", - "deployedSourceMap": "301:10652:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3605:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3605:111:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3021:355;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3021:355:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5085:316;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5085:316:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6017:225;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6017:225:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2461:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2461:140:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2119:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2119:164:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1764:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1764:142:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4001:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4001:205:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6929:302;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6929:302:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4515:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4515:142:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3605:111;3665:7;3687:14;:24;3702:8;3687:24;;;;;;;;;;;;;;;;;;;;;3680:31;;3605:111;;;:::o;3021:355::-;3082:13;3098:17;3106:8;3098:7;:17::i;:::-;3082:33;;3136:5;3129:12;;:3;:12;;;;3121:21;;;;;;;;3170:5;3156:19;;:10;:19;;;:58;;;;3179:35;3196:5;3203:10;3179:16;:35::i;:::-;3156:58;3148:67;;;;;;;;3259:1;3226:35;;:21;3238:8;3226:11;:21::i;:::-;:35;;;;:56;;;;3280:1;3265:17;;:3;:17;;;;3226:56;3222:150;;;3319:3;3292:14;:24;3307:8;3292:24;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;3356:8;3351:3;3335:30;;3344:5;3335:30;;;;;;;;;;;;3222:150;3021:355;;;:::o;5085:316::-;5172:8;1520:39;1538:10;1550:8;1520:17;:39::i;:::-;1512:48;;;;;;;;5213:1;5196:19;;:5;:19;;;;5188:28;;;;;;;;5245:1;5230:17;;:3;:17;;;;5222:26;;;;;;;;5255:30;5269:5;5276:8;5255:13;:30::i;:::-;5291:32;5307:5;5314:8;5291:15;:32::i;:::-;5329:25;5340:3;5345:8;5329:10;:25::i;:::-;5387:8;5382:3;5366:30;;5375:5;5366:30;;;;;;;;;;;;5085:316;;;;:::o;6017:225::-;6132:8;1520:39;1538:10;1550:8;1520:17;:39::i;:::-;1512:48;;;;;;;;6195:42;6212:5;6219:3;6224:8;6195:42;;;;;;;;;;;;;:16;:42::i;:::-;6017:225;;;;:::o;2461:140::-;2516:4;2528:13;2544:10;:20;2555:8;2544:20;;;;;;;;;;;;;;;;;;;;;2528:36;;2594:1;2577:19;;:5;:19;;;;2570:26;;2461:140;;;;:::o;2119:164::-;2175:7;2190:13;2206:10;:20;2217:8;2206:20;;;;;;;;;;;;;;;;;;;;;2190:36;;2257:1;2240:19;;:5;:19;;;;2232:28;;;;;;;;2273:5;2266:12;;2119:164;;;;:::o;1764:142::-;1820:7;1861:1;1843:20;;:6;:20;;;;1835:29;;;;;;;;1877:16;:24;1894:6;1877:24;;;;;;;;;;;;;;;;1870:31;;1764:142;;;:::o;4001:205::-;4085:10;4078:17;;:3;:17;;;;4070:26;;;;;;;;4139:9;4102:17;:29;4120:10;4102:29;;;;;;;;;;;;;;;:34;4132:3;4102:34;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;4186:3;4159:42;;4174:10;4159:42;;;4191:9;4159:42;;;;;;;;;;;;;;;;;;;;;;4001:205;;:::o;6929:302::-;7061:8;1520:39;1538:10;1550:8;1520:17;:39::i;:::-;1512:48;;;;;;;;7079:34;7092:5;7099:3;7104:8;7079:12;:34::i;:::-;7172:53;7197:5;7204:3;7209:8;7219:5;7172:24;:53::i;:::-;7164:62;;;;;;;;6929:302;;;;;:::o;4515:142::-;4597:4;4616:17;:25;4634:6;4616:25;;;;;;;;;;;;;;;:36;4642:9;4616:36;;;;;;;;;;;;;;;;;;;;;;;;;4609:43;;4515:142;;;;:::o;7578:240::-;7664:4;7676:13;7692:17;7700:8;7692:7;:17::i;:::-;7676:33;;7734:5;7722:17;;:8;:17;;;:54;;;;7768:8;7743:33;;:21;7755:8;7743:11;:21::i;:::-;:33;;;7722:54;:91;;;;7780:33;7797:5;7804:8;7780:16;:33::i;:::-;7722:91;7715:98;;7578:240;;;;;:::o;8887:265::-;8988:6;8967:27;;:17;8975:8;8967:7;:17::i;:::-;:27;;;8959:36;;;;;;;;9041:1;9005:38;;:14;:24;9020:8;9005:24;;;;;;;;;;;;;;;;;;;;;:38;;;;9001:147;;;9088:1;9053:14;:24;9068:8;9053:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;9132:8;9128:1;9103:38;;9112:6;9103:38;;;;;;;;;;;;9001:147;8887:265;;:::o;9898:214::-;10000:5;9979:26;;:17;9987:8;9979:7;:17::i;:::-;:26;;;9971:35;;;;;;;;10038:30;10066:1;10038:16;:23;10055:5;10038:23;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;10012:16;:23;10029:5;10012:23;;;;;;;;;;;;;;;:56;;;;10105:1;10074:10;:20;10085:8;10074:20;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;9898:214;;:::o;9415:204::-;9521:1;9489:34;;:10;:20;9500:8;9489:20;;;;;;;;;;;;;;;;;;;;;:34;;;9481:43;;;;;;;;9553:3;9530:10;:20;9541:8;9530:20;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;9586:28;9612:1;9586:16;:21;9603:3;9586:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;9562:16;:21;9579:3;9562:21;;;;;;;;;;;;;;;:52;;;;9415:204;;:::o;10623:328::-;10762:4;10830:13;10781:16;:3;:14;;;:16::i;:::-;10780:17;10776:49;;;10814:4;10807:11;;;;10776:49;10861:3;10846:36;;;10883:5;10890:8;10900:5;10846:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;10846:60:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10846:60:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10846:60:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10846:60:6;;;;;;;;;;;;;;;;10830:76;;604:10;10930:15;;10920:25;;;:6;:25;;;;10912:34;;10623:328;;;;;;;;:::o;836:110:1:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;438:568:0:-;495:4;507:12;922:4;910:17;902:25;;1000:1;993:4;:8;986:15;;438:568;;;;:::o", - "source": "pragma solidity ^0.4.21;\n\nimport \"./ERC721Basic.sol\";\nimport \"./ERC721Receiver.sol\";\nimport \"../../math/SafeMath.sol\";\nimport \"../../AddressUtils.sol\";\n\n\n/**\n * @title ERC721 Non-Fungible Token Standard basic implementation\n * @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721BasicToken is ERC721Basic {\n using SafeMath for uint256;\n using AddressUtils for address;\n\n // Equals to `bytes4(keccak256(\"onERC721Received(address,uint256,bytes)\"))`\n // which can be also obtained as `ERC721Receiver(0).onERC721Received.selector`\n bytes4 constant ERC721_RECEIVED = 0xf0b9e5ba;\n\n // Mapping from token ID to owner\n mapping (uint256 => address) internal tokenOwner;\n\n // Mapping from token ID to approved address\n mapping (uint256 => address) internal tokenApprovals;\n\n // Mapping from owner to number of owned token\n mapping (address => uint256) internal ownedTokensCount;\n\n // Mapping from owner to operator approvals\n mapping (address => mapping (address => bool)) internal operatorApprovals;\n\n /**\n * @dev Guarantees msg.sender is owner of the given token\n * @param _tokenId uint256 ID of the token to validate its ownership belongs to msg.sender\n */\n modifier onlyOwnerOf(uint256 _tokenId) {\n require(ownerOf(_tokenId) == msg.sender);\n _;\n }\n\n /**\n * @dev Checks msg.sender can transfer a token, by being owner, approved, or operator\n * @param _tokenId uint256 ID of the token to validate\n */\n modifier canTransfer(uint256 _tokenId) {\n require(isApprovedOrOwner(msg.sender, _tokenId));\n _;\n }\n\n /**\n * @dev Gets the balance of the specified address\n * @param _owner address to query the balance of\n * @return uint256 representing the amount owned by the passed address\n */\n function balanceOf(address _owner) public view returns (uint256) {\n require(_owner != address(0));\n return ownedTokensCount[_owner];\n }\n\n /**\n * @dev Gets the owner of the specified token ID\n * @param _tokenId uint256 ID of the token to query the owner of\n * @return owner address currently marked as the owner of the given token ID\n */\n function ownerOf(uint256 _tokenId) public view returns (address) {\n address owner = tokenOwner[_tokenId];\n require(owner != address(0));\n return owner;\n }\n\n /**\n * @dev Returns whether the specified token exists\n * @param _tokenId uint256 ID of the token to query the existance of\n * @return whether the token exists\n */\n function exists(uint256 _tokenId) public view returns (bool) {\n address owner = tokenOwner[_tokenId];\n return owner != address(0);\n }\n\n /**\n * @dev Approves another address to transfer the given token ID\n * @dev The zero address indicates there is no approved address.\n * @dev There can only be one approved address per token at a given time.\n * @dev Can only be called by the token owner or an approved operator.\n * @param _to address to be approved for the given token ID\n * @param _tokenId uint256 ID of the token to be approved\n */\n function approve(address _to, uint256 _tokenId) public {\n address owner = ownerOf(_tokenId);\n require(_to != owner);\n require(msg.sender == owner || isApprovedForAll(owner, msg.sender));\n\n if (getApproved(_tokenId) != address(0) || _to != address(0)) {\n tokenApprovals[_tokenId] = _to;\n emit Approval(owner, _to, _tokenId);\n }\n }\n\n /**\n * @dev Gets the approved address for a token ID, or zero if no address set\n * @param _tokenId uint256 ID of the token to query the approval of\n * @return address currently approved for a the given token ID\n */\n function getApproved(uint256 _tokenId) public view returns (address) {\n return tokenApprovals[_tokenId];\n }\n\n /**\n * @dev Sets or unsets the approval of a given operator\n * @dev An operator is allowed to transfer all tokens of the sender on their behalf\n * @param _to operator address to set the approval\n * @param _approved representing the status of the approval to be set\n */\n function setApprovalForAll(address _to, bool _approved) public {\n require(_to != msg.sender);\n operatorApprovals[msg.sender][_to] = _approved;\n emit ApprovalForAll(msg.sender, _to, _approved);\n }\n\n /**\n * @dev Tells whether an operator is approved by a given owner\n * @param _owner owner address which you want to query the approval of\n * @param _operator operator address which you want to query the approval of\n * @return bool whether the given operator is approved by the given owner\n */\n function isApprovedForAll(address _owner, address _operator) public view returns (bool) {\n return operatorApprovals[_owner][_operator];\n }\n\n /**\n * @dev Transfers the ownership of a given token ID to another address\n * @dev Usage of this method is discouraged, use `safeTransferFrom` whenever possible\n * @dev Requires the msg sender to be the owner, approved, or operator\n * @param _from current owner of the token\n * @param _to address to receive the ownership of the given token ID\n * @param _tokenId uint256 ID of the token to be transferred\n */\n function transferFrom(address _from, address _to, uint256 _tokenId) public canTransfer(_tokenId) {\n require(_from != address(0));\n require(_to != address(0));\n\n clearApproval(_from, _tokenId);\n removeTokenFrom(_from, _tokenId);\n addTokenTo(_to, _tokenId);\n\n emit Transfer(_from, _to, _tokenId);\n }\n\n /**\n * @dev Safely transfers the ownership of a given token ID to another address\n * @dev If the target address is a contract, it must implement `onERC721Received`,\n * which is called upon a safe transfer, and return the magic value\n * `bytes4(keccak256(\"onERC721Received(address,uint256,bytes)\"))`; otherwise,\n * the transfer is reverted.\n * @dev Requires the msg sender to be the owner, approved, or operator\n * @param _from current owner of the token\n * @param _to address to receive the ownership of the given token ID\n * @param _tokenId uint256 ID of the token to be transferred\n */\n function safeTransferFrom(\n address _from,\n address _to,\n uint256 _tokenId\n )\n public\n canTransfer(_tokenId)\n {\n // solium-disable-next-line arg-overflow\n safeTransferFrom(_from, _to, _tokenId, \"\");\n }\n\n /**\n * @dev Safely transfers the ownership of a given token ID to another address\n * @dev If the target address is a contract, it must implement `onERC721Received`,\n * which is called upon a safe transfer, and return the magic value\n * `bytes4(keccak256(\"onERC721Received(address,uint256,bytes)\"))`; otherwise,\n * the transfer is reverted.\n * @dev Requires the msg sender to be the owner, approved, or operator\n * @param _from current owner of the token\n * @param _to address to receive the ownership of the given token ID\n * @param _tokenId uint256 ID of the token to be transferred\n * @param _data bytes data to send along with a safe transfer check\n */\n function safeTransferFrom(\n address _from,\n address _to,\n uint256 _tokenId,\n bytes _data\n )\n public\n canTransfer(_tokenId)\n {\n transferFrom(_from, _to, _tokenId);\n // solium-disable-next-line arg-overflow\n require(checkAndCallSafeTransfer(_from, _to, _tokenId, _data));\n }\n\n /**\n * @dev Returns whether the given spender can transfer a given token ID\n * @param _spender address of the spender to query\n * @param _tokenId uint256 ID of the token to be transferred\n * @return bool whether the msg.sender is approved for the given token ID,\n * is an operator of the owner, or is the owner of the token\n */\n function isApprovedOrOwner(address _spender, uint256 _tokenId) internal view returns (bool) {\n address owner = ownerOf(_tokenId);\n return _spender == owner || getApproved(_tokenId) == _spender || isApprovedForAll(owner, _spender);\n }\n\n /**\n * @dev Internal function to mint a new token\n * @dev Reverts if the given token ID already exists\n * @param _to The address that will own the minted token\n * @param _tokenId uint256 ID of the token to be minted by the msg.sender\n */\n function _mint(address _to, uint256 _tokenId) internal {\n require(_to != address(0));\n addTokenTo(_to, _tokenId);\n emit Transfer(address(0), _to, _tokenId);\n }\n\n /**\n * @dev Internal function to burn a specific token\n * @dev Reverts if the token does not exist\n * @param _tokenId uint256 ID of the token being burned by the msg.sender\n */\n function _burn(address _owner, uint256 _tokenId) internal {\n clearApproval(_owner, _tokenId);\n removeTokenFrom(_owner, _tokenId);\n emit Transfer(_owner, address(0), _tokenId);\n }\n\n /**\n * @dev Internal function to clear current approval of a given token ID\n * @dev Reverts if the given address is not indeed the owner of the token\n * @param _owner owner of the token\n * @param _tokenId uint256 ID of the token to be transferred\n */\n function clearApproval(address _owner, uint256 _tokenId) internal {\n require(ownerOf(_tokenId) == _owner);\n if (tokenApprovals[_tokenId] != address(0)) {\n tokenApprovals[_tokenId] = address(0);\n emit Approval(_owner, address(0), _tokenId);\n }\n }\n\n /**\n * @dev Internal function to add a token ID to the list of a given address\n * @param _to address representing the new owner of the given token ID\n * @param _tokenId uint256 ID of the token to be added to the tokens list of the given address\n */\n function addTokenTo(address _to, uint256 _tokenId) internal {\n require(tokenOwner[_tokenId] == address(0));\n tokenOwner[_tokenId] = _to;\n ownedTokensCount[_to] = ownedTokensCount[_to].add(1);\n }\n\n /**\n * @dev Internal function to remove a token ID from the list of a given address\n * @param _from address representing the previous owner of the given token ID\n * @param _tokenId uint256 ID of the token to be removed from the tokens list of the given address\n */\n function removeTokenFrom(address _from, uint256 _tokenId) internal {\n require(ownerOf(_tokenId) == _from);\n ownedTokensCount[_from] = ownedTokensCount[_from].sub(1);\n tokenOwner[_tokenId] = address(0);\n }\n\n /**\n * @dev Internal function to invoke `onERC721Received` on a target address\n * @dev The call is not executed if the target address is not a contract\n * @param _from address representing the previous owner of the given token ID\n * @param _to target address that will receive the tokens\n * @param _tokenId uint256 ID of the token to be transferred\n * @param _data bytes optional data to send along with the call\n * @return whether the call correctly returned the expected magic value\n */\n function checkAndCallSafeTransfer(\n address _from,\n address _to,\n uint256 _tokenId,\n bytes _data\n )\n internal\n returns (bool)\n {\n if (!_to.isContract()) {\n return true;\n }\n bytes4 retval = ERC721Receiver(_to).onERC721Received(_from, _tokenId, _data);\n return (retval == ERC721_RECEIVED);\n }\n}\n", + "bytecode": "0x608060405234801561001057600080fd5b50611395806100206000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ffc9a7146100b4578063081812fc14610118578063095ea7b31461018557806323b872dd146101d257806342842e0e1461023f5780634f558e79146102ac5780636352211e146102f157806370a082311461035e578063a22cb465146103b5578063b88d4fde14610404578063e985e9c5146104b7575b600080fd5b3480156100c057600080fd5b506100fe60048036038101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610532565b604051808215151515815260200191505060405180910390f35b34801561012457600080fd5b5061014360048036038101908080359060200190929190505050610544565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019157600080fd5b506101d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610581565b005b3480156101de57600080fd5b5061023d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106c6565b005b34801561024b57600080fd5b506102aa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107d3565b005b3480156102b857600080fd5b506102d76004803603810190808035906020019092919050505061080b565b604051808215151515815260200191505060405180910390f35b3480156102fd57600080fd5b5061031c6004803603810190808035906020019092919050505061087c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561036a57600080fd5b5061039f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108f9565b6040518082815260200191505060405180910390f35b3480156103c157600080fd5b50610402600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061097d565b005b34801561041057600080fd5b506104b5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ab9565b005b3480156104c357600080fd5b50610518600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610af8565b604051808215151515815260200191505060405180910390f35b600061053d82610b8c565b9050919050565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061058c8261087c565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156105c957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061060957506106088133610af8565b5b151561061457600080fd5b826001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b806106d13382610c74565b15156106dc57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561071857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561075457600080fd5b61075e8483610d09565b6107688483610e0c565b6107728383610f3a565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b806107de3382610c74565b15156107e957600080fd5b6108058484846020604051908101604052806000815250610ab9565b50505050565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156108f057600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561093657600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156109b857600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b81610ac43382610c74565b1515610acf57600080fd5b610ada8585856106c6565b610ae685858585611092565b1515610af157600080fd5b5050505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000610b97826112b4565b80610c0257506380ac58cd7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610c6d5750634f558e797c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600080610c808361087c565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610cef57508373ffffffffffffffffffffffffffffffffffffffff16610cd784610544565b73ffffffffffffffffffffffffffffffffffffffff16145b80610d005750610cff8185610af8565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff16610d298261087c565b73ffffffffffffffffffffffffffffffffffffffff16141515610d4b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610e085760006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b8173ffffffffffffffffffffffffffffffffffffffff16610e2c8261087c565b73ffffffffffffffffffffffffffffffffffffffff16141515610e4e57600080fd5b610ea16001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461132190919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600080600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610fa757600080fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061104b6001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461133a90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000806110b48573ffffffffffffffffffffffffffffffffffffffff16611356565b15156110c357600191506112ab565b8473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156111b857808201518184015260208101905061119d565b50505050905090810190601f1680156111e55780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561120757600080fd5b505af115801561121b573d6000803e3d6000fd5b505050506040513d602081101561123157600080fd5b8101908080519060200190929190505050905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b60006301ffc9a77c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600082821115151561132f57fe5b818303905092915050565b6000818301905082811015151561134d57fe5b80905092915050565b600080823b9050600081119150509190505600a165627a7a723058208070cc44759234dc686c740eebf7457bcfeedc6bf8fe3da43c39762141c990cd0029", + "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ffc9a7146100b4578063081812fc14610118578063095ea7b31461018557806323b872dd146101d257806342842e0e1461023f5780634f558e79146102ac5780636352211e146102f157806370a082311461035e578063a22cb465146103b5578063b88d4fde14610404578063e985e9c5146104b7575b600080fd5b3480156100c057600080fd5b506100fe60048036038101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610532565b604051808215151515815260200191505060405180910390f35b34801561012457600080fd5b5061014360048036038101908080359060200190929190505050610544565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019157600080fd5b506101d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610581565b005b3480156101de57600080fd5b5061023d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106c6565b005b34801561024b57600080fd5b506102aa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107d3565b005b3480156102b857600080fd5b506102d76004803603810190808035906020019092919050505061080b565b604051808215151515815260200191505060405180910390f35b3480156102fd57600080fd5b5061031c6004803603810190808035906020019092919050505061087c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561036a57600080fd5b5061039f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108f9565b6040518082815260200191505060405180910390f35b3480156103c157600080fd5b50610402600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061097d565b005b34801561041057600080fd5b506104b5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ab9565b005b3480156104c357600080fd5b50610518600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610af8565b604051808215151515815260200191505060405180910390f35b600061053d82610b8c565b9050919050565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061058c8261087c565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156105c957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061060957506106088133610af8565b5b151561061457600080fd5b826001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b806106d13382610c74565b15156106dc57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561071857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561075457600080fd5b61075e8483610d09565b6107688483610e0c565b6107728383610f3a565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b806107de3382610c74565b15156107e957600080fd5b6108058484846020604051908101604052806000815250610ab9565b50505050565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156108f057600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561093657600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156109b857600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b81610ac43382610c74565b1515610acf57600080fd5b610ada8585856106c6565b610ae685858585611092565b1515610af157600080fd5b5050505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000610b97826112b4565b80610c0257506380ac58cd7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610c6d5750634f558e797c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600080610c808361087c565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610cef57508373ffffffffffffffffffffffffffffffffffffffff16610cd784610544565b73ffffffffffffffffffffffffffffffffffffffff16145b80610d005750610cff8185610af8565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff16610d298261087c565b73ffffffffffffffffffffffffffffffffffffffff16141515610d4b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610e085760006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b8173ffffffffffffffffffffffffffffffffffffffff16610e2c8261087c565b73ffffffffffffffffffffffffffffffffffffffff16141515610e4e57600080fd5b610ea16001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461132190919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600080600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610fa757600080fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061104b6001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461133a90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000806110b48573ffffffffffffffffffffffffffffffffffffffff16611356565b15156110c357600191506112ab565b8473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156111b857808201518184015260208101905061119d565b50505050905090810190601f1680156111e55780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561120757600080fd5b505af115801561121b573d6000803e3d6000fd5b505050506040513d602081101561123157600080fd5b8101908080519060200190929190505050905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b60006301ffc9a77c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600082821115151561132f57fe5b818303905092915050565b6000818301905082811015151561134d57fe5b80905092915050565b600080823b9050600081119150509190505600a165627a7a723058208070cc44759234dc686c740eebf7457bcfeedc6bf8fe3da43c39762141c990cd0029", + "sourceMap": "349:11789:49:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;349:11789:49;;;;;;;", + "deployedSourceMap": "349:11789:49:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;340:143:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;340:143:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4612:111:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4612:111:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4108:277;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4108:277:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6103:342;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6103:342:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7061:225;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7061:225:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3563:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:140:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3221:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3221:164:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2866:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2866:142:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5003:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5003:205:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7968:302;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7968:302:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5517:168;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5517:168:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;340:143:5;423:4;444:32;463:12;444:18;:32::i;:::-;437:39;;340:143;;;:::o;4612:111:49:-;4672:7;4694:14;:24;4709:8;4694:24;;;;;;;;;;;;;;;;;;;;;4687:31;;4612:111;;;:::o;4108:277::-;4169:13;4185:17;4193:8;4185:7;:17::i;:::-;4169:33;;4223:5;4216:12;;:3;:12;;;;4208:21;;;;;;;;4257:5;4243:19;;:10;:19;;;:58;;;;4266:35;4283:5;4290:10;4266:16;:35::i;:::-;4243:58;4235:67;;;;;;;;4336:3;4309:14;:24;4324:8;4309:24;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;4371:8;4366:3;4350:30;;4359:5;4350:30;;;;;;;;;;;;4108:277;;;:::o;6103:342::-;6214:8;2376:39;2394:10;2406:8;2376:17;:39::i;:::-;2368:48;;;;;;;;6257:1;6240:19;;:5;:19;;;;6232:28;;;;;;;;6289:1;6274:17;;:3;:17;;;;6266:26;;;;;;;;6299:30;6313:5;6320:8;6299:13;:30::i;:::-;6335:32;6351:5;6358:8;6335:15;:32::i;:::-;6373:25;6384:3;6389:8;6373:10;:25::i;:::-;6431:8;6426:3;6410:30;;6419:5;6410:30;;;;;;;;;;;;6103:342;;;;:::o;7061:225::-;7176:8;2376:39;2394:10;2406:8;2376:17;:39::i;:::-;2368:48;;;;;;;;7239:42;7256:5;7263:3;7268:8;7239:42;;;;;;;;;;;;;:16;:42::i;:::-;7061:225;;;;:::o;3563:140::-;3618:4;3630:13;3646:10;:20;3657:8;3646:20;;;;;;;;;;;;;;;;;;;;;3630:36;;3696:1;3679:19;;:5;:19;;;;3672:26;;3563:140;;;;:::o;3221:164::-;3277:7;3292:13;3308:10;:20;3319:8;3308:20;;;;;;;;;;;;;;;;;;;;;3292:36;;3359:1;3342:19;;:5;:19;;;;3334:28;;;;;;;;3375:5;3368:12;;3221:164;;;;:::o;2866:142::-;2922:7;2963:1;2945:20;;:6;:20;;;;2937:29;;;;;;;;2979:16;:24;2996:6;2979:24;;;;;;;;;;;;;;;;2972:31;;2866:142;;;:::o;5003:205::-;5087:10;5080:17;;:3;:17;;;;5072:26;;;;;;;;5141:9;5104:17;:29;5122:10;5104:29;;;;;;;;;;;;;;;:34;5134:3;5104:34;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;5188:3;5161:42;;5176:10;5161:42;;;5193:9;5161:42;;;;;;;;;;;;;;;;;;;;;;5003:205;;:::o;7968:302::-;8100:8;2376:39;2394:10;2406:8;2376:17;:39::i;:::-;2368:48;;;;;;;;8118:34;8131:5;8138:3;8143:8;8118:12;:34::i;:::-;8211:53;8236:5;8243:3;8248:8;8258:5;8211:24;:53::i;:::-;8203:62;;;;;;;;7968:302;;;;;:::o;5517:168::-;5623:4;5644:17;:25;5662:6;5644:25;;;;;;;;;;;;;;;:36;5670:9;5644:36;;;;;;;;;;;;;;;;;;;;;;;;;5637:43;;5517:168;;;;:::o;2432:242::-;2516:4;2537:38;2562:12;2537:24;:38::i;:::-;:82;;;;455:10;2601:18;;2585:34;;;:12;:34;;;;2537:82;:132;;;;1096:10;2645:24;;2629:40;;;:12;:40;;;;2537:132;2530:139;;2432:242;;;:::o;8617:438::-;8727:4;8741:13;8757:17;8765:8;8757:7;:17::i;:::-;8741:33;;8953:5;8941:17;;:8;:17;;;:60;;;;8993:8;8968:33;;:21;8980:8;8968:11;:21::i;:::-;:33;;;8941:60;:103;;;;9011:33;9028:5;9035:8;9011:16;:33::i;:::-;8941:103;8926:124;;8617:438;;;;;:::o;10109:214::-;10210:6;10189:27;;:17;10197:8;10189:7;:17::i;:::-;:27;;;10181:36;;;;;;;;10263:1;10227:38;;:14;:24;10242:8;10227:24;;;;;;;;;;;;;;;;;;;;;:38;;;;10223:96;;;10310:1;10275:14;:24;10290:8;10275:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;10223:96;10109:214;;:::o;11069:::-;11171:5;11150:26;;:17;11158:8;11150:7;:17::i;:::-;:26;;;11142:35;;;;;;;;11209:30;11237:1;11209:16;:23;11226:5;11209:23;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;11183:16;:23;11200:5;11183:23;;;;;;;;;;;;;;;:56;;;;11276:1;11245:10;:20;11256:8;11245:20;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;11069:214;;:::o;10586:204::-;10692:1;10660:34;;:10;:20;10671:8;10660:20;;;;;;;;;;;;;;;;;;;;;:34;;;10652:43;;;;;;;;10724:3;10701:10;:20;10712:8;10701:20;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;10757:28;10783:1;10757:16;:21;10774:3;10757:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;10733:16;:21;10750:3;10733:21;;;;;;;;;;;;;;;:52;;;;10586:204;;:::o;11789:347::-;11928:4;11996:13;11947:16;:3;:14;;;:16::i;:::-;11946:17;11942:49;;;11980:4;11973:11;;;;11942:49;12027:3;12012:36;;;12056:10;12068:5;12075:8;12085:5;12012:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;12012:79:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12012:79:49;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12012:79:49;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12012:79:49;;;;;;;;;;;;;;;;11996:95;;1460:10;12115:15;;12105:25;;;:6;:25;;;;12097:34;;11789:347;;;;;;;;:::o;487:146:5:-;571:4;239:10;608:18;;592:34;;;:12;:34;;;;585:41;;487:146;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;438:568:0:-;495:4;507:12;922:4;910:17;902:25;;1000:1;993:4;:8;986:15;;438:568;;;;:::o", + "source": "pragma solidity ^0.4.21;\n\nimport \"./ERC721Basic.sol\";\nimport \"./ERC721Receiver.sol\";\nimport \"../../math/SafeMath.sol\";\nimport \"../../AddressUtils.sol\";\nimport \"../../introspection/ERC165Support.sol\";\n\n\n/**\n * @title ERC721 Non-Fungible Token Standard basic implementation\n * @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721BasicToken is ERC165Support, ERC721Basic {\n\n bytes4 private constant InterfaceId_ERC721 = 0x80ac58cd;\n /*\n * 0x80ac58cd ===\n * bytes4(keccak256('balanceOf(address)')) ^\n * bytes4(keccak256('ownerOf(uint256)')) ^\n * bytes4(keccak256('approve(address,uint256)')) ^\n * bytes4(keccak256('getApproved(uint256)')) ^\n * bytes4(keccak256('setApprovalForAll(address,bool)')) ^\n * bytes4(keccak256('isApprovedForAll(address,address)')) ^\n * bytes4(keccak256('transferFrom(address,address,uint256)')) ^\n * bytes4(keccak256('safeTransferFrom(address,address,uint256)')) ^\n * bytes4(keccak256('safeTransferFrom(address,address,uint256,bytes)'))\n */\n\n bytes4 private constant InterfaceId_ERC721Exists = 0x4f558e79;\n /*\n * 0x4f558e79 ===\n * bytes4(keccak256('exists(uint256)'))\n */\n\n using SafeMath for uint256;\n using AddressUtils for address;\n\n // Equals to `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`\n // which can be also obtained as `ERC721Receiver(0).onERC721Received.selector`\n bytes4 private constant ERC721_RECEIVED = 0x150b7a02;\n\n // Mapping from token ID to owner\n mapping (uint256 => address) internal tokenOwner;\n\n // Mapping from token ID to approved address\n mapping (uint256 => address) internal tokenApprovals;\n\n // Mapping from owner to number of owned token\n mapping (address => uint256) internal ownedTokensCount;\n\n // Mapping from owner to operator approvals\n mapping (address => mapping (address => bool)) internal operatorApprovals;\n\n /**\n * @dev Guarantees msg.sender is owner of the given token\n * @param _tokenId uint256 ID of the token to validate its ownership belongs to msg.sender\n */\n modifier onlyOwnerOf(uint256 _tokenId) {\n require(ownerOf(_tokenId) == msg.sender);\n _;\n }\n\n /**\n * @dev Checks msg.sender can transfer a token, by being owner, approved, or operator\n * @param _tokenId uint256 ID of the token to validate\n */\n modifier canTransfer(uint256 _tokenId) {\n require(isApprovedOrOwner(msg.sender, _tokenId));\n _;\n }\n\n function _supportsInterface(bytes4 _interfaceId)\n internal\n view\n returns (bool)\n {\n return super._supportsInterface(_interfaceId)\n || _interfaceId == InterfaceId_ERC721\n || _interfaceId == InterfaceId_ERC721Exists;\n }\n\n /**\n * @dev Gets the balance of the specified address\n * @param _owner address to query the balance of\n * @return uint256 representing the amount owned by the passed address\n */\n function balanceOf(address _owner) public view returns (uint256) {\n require(_owner != address(0));\n return ownedTokensCount[_owner];\n }\n\n /**\n * @dev Gets the owner of the specified token ID\n * @param _tokenId uint256 ID of the token to query the owner of\n * @return owner address currently marked as the owner of the given token ID\n */\n function ownerOf(uint256 _tokenId) public view returns (address) {\n address owner = tokenOwner[_tokenId];\n require(owner != address(0));\n return owner;\n }\n\n /**\n * @dev Returns whether the specified token exists\n * @param _tokenId uint256 ID of the token to query the existence of\n * @return whether the token exists\n */\n function exists(uint256 _tokenId) public view returns (bool) {\n address owner = tokenOwner[_tokenId];\n return owner != address(0);\n }\n\n /**\n * @dev Approves another address to transfer the given token ID\n * The zero address indicates there is no approved address.\n * There can only be one approved address per token at a given time.\n * Can only be called by the token owner or an approved operator.\n * @param _to address to be approved for the given token ID\n * @param _tokenId uint256 ID of the token to be approved\n */\n function approve(address _to, uint256 _tokenId) public {\n address owner = ownerOf(_tokenId);\n require(_to != owner);\n require(msg.sender == owner || isApprovedForAll(owner, msg.sender));\n\n tokenApprovals[_tokenId] = _to;\n emit Approval(owner, _to, _tokenId);\n }\n\n /**\n * @dev Gets the approved address for a token ID, or zero if no address set\n * @param _tokenId uint256 ID of the token to query the approval of\n * @return address currently approved for the given token ID\n */\n function getApproved(uint256 _tokenId) public view returns (address) {\n return tokenApprovals[_tokenId];\n }\n\n /**\n * @dev Sets or unsets the approval of a given operator\n * An operator is allowed to transfer all tokens of the sender on their behalf\n * @param _to operator address to set the approval\n * @param _approved representing the status of the approval to be set\n */\n function setApprovalForAll(address _to, bool _approved) public {\n require(_to != msg.sender);\n operatorApprovals[msg.sender][_to] = _approved;\n emit ApprovalForAll(msg.sender, _to, _approved);\n }\n\n /**\n * @dev Tells whether an operator is approved by a given owner\n * @param _owner owner address which you want to query the approval of\n * @param _operator operator address which you want to query the approval of\n * @return bool whether the given operator is approved by the given owner\n */\n function isApprovedForAll(\n address _owner,\n address _operator\n )\n public\n view\n returns (bool)\n {\n return operatorApprovals[_owner][_operator];\n }\n\n /**\n * @dev Transfers the ownership of a given token ID to another address\n * Usage of this method is discouraged, use `safeTransferFrom` whenever possible\n * Requires the msg sender to be the owner, approved, or operator\n * @param _from current owner of the token\n * @param _to address to receive the ownership of the given token ID\n * @param _tokenId uint256 ID of the token to be transferred\n */\n function transferFrom(\n address _from,\n address _to,\n uint256 _tokenId\n )\n public\n canTransfer(_tokenId)\n {\n require(_from != address(0));\n require(_to != address(0));\n\n clearApproval(_from, _tokenId);\n removeTokenFrom(_from, _tokenId);\n addTokenTo(_to, _tokenId);\n\n emit Transfer(_from, _to, _tokenId);\n }\n\n /**\n * @dev Safely transfers the ownership of a given token ID to another address\n * If the target address is a contract, it must implement `onERC721Received`,\n * which is called upon a safe transfer, and return the magic value\n * `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise,\n * the transfer is reverted.\n *\n * Requires the msg sender to be the owner, approved, or operator\n * @param _from current owner of the token\n * @param _to address to receive the ownership of the given token ID\n * @param _tokenId uint256 ID of the token to be transferred\n */\n function safeTransferFrom(\n address _from,\n address _to,\n uint256 _tokenId\n )\n public\n canTransfer(_tokenId)\n {\n // solium-disable-next-line arg-overflow\n safeTransferFrom(_from, _to, _tokenId, \"\");\n }\n\n /**\n * @dev Safely transfers the ownership of a given token ID to another address\n * If the target address is a contract, it must implement `onERC721Received`,\n * which is called upon a safe transfer, and return the magic value\n * `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise,\n * the transfer is reverted.\n * Requires the msg sender to be the owner, approved, or operator\n * @param _from current owner of the token\n * @param _to address to receive the ownership of the given token ID\n * @param _tokenId uint256 ID of the token to be transferred\n * @param _data bytes data to send along with a safe transfer check\n */\n function safeTransferFrom(\n address _from,\n address _to,\n uint256 _tokenId,\n bytes _data\n )\n public\n canTransfer(_tokenId)\n {\n transferFrom(_from, _to, _tokenId);\n // solium-disable-next-line arg-overflow\n require(checkAndCallSafeTransfer(_from, _to, _tokenId, _data));\n }\n\n /**\n * @dev Returns whether the given spender can transfer a given token ID\n * @param _spender address of the spender to query\n * @param _tokenId uint256 ID of the token to be transferred\n * @return bool whether the msg.sender is approved for the given token ID,\n * is an operator of the owner, or is the owner of the token\n */\n function isApprovedOrOwner(\n address _spender,\n uint256 _tokenId\n )\n internal\n view\n returns (bool)\n {\n address owner = ownerOf(_tokenId);\n // Disable solium check because of\n // https://github.com/duaraghav8/Solium/issues/175\n // solium-disable-next-line operator-whitespace\n return (\n _spender == owner ||\n getApproved(_tokenId) == _spender ||\n isApprovedForAll(owner, _spender)\n );\n }\n\n /**\n * @dev Internal function to mint a new token\n * Reverts if the given token ID already exists\n * @param _to The address that will own the minted token\n * @param _tokenId uint256 ID of the token to be minted by the msg.sender\n */\n function _mint(address _to, uint256 _tokenId) internal {\n require(_to != address(0));\n addTokenTo(_to, _tokenId);\n emit Transfer(address(0), _to, _tokenId);\n }\n\n /**\n * @dev Internal function to burn a specific token\n * Reverts if the token does not exist\n * @param _tokenId uint256 ID of the token being burned by the msg.sender\n */\n function _burn(address _owner, uint256 _tokenId) internal {\n clearApproval(_owner, _tokenId);\n removeTokenFrom(_owner, _tokenId);\n emit Transfer(_owner, address(0), _tokenId);\n }\n\n /**\n * @dev Internal function to clear current approval of a given token ID\n * Reverts if the given address is not indeed the owner of the token\n * @param _owner owner of the token\n * @param _tokenId uint256 ID of the token to be transferred\n */\n function clearApproval(address _owner, uint256 _tokenId) internal {\n require(ownerOf(_tokenId) == _owner);\n if (tokenApprovals[_tokenId] != address(0)) {\n tokenApprovals[_tokenId] = address(0);\n }\n }\n\n /**\n * @dev Internal function to add a token ID to the list of a given address\n * @param _to address representing the new owner of the given token ID\n * @param _tokenId uint256 ID of the token to be added to the tokens list of the given address\n */\n function addTokenTo(address _to, uint256 _tokenId) internal {\n require(tokenOwner[_tokenId] == address(0));\n tokenOwner[_tokenId] = _to;\n ownedTokensCount[_to] = ownedTokensCount[_to].add(1);\n }\n\n /**\n * @dev Internal function to remove a token ID from the list of a given address\n * @param _from address representing the previous owner of the given token ID\n * @param _tokenId uint256 ID of the token to be removed from the tokens list of the given address\n */\n function removeTokenFrom(address _from, uint256 _tokenId) internal {\n require(ownerOf(_tokenId) == _from);\n ownedTokensCount[_from] = ownedTokensCount[_from].sub(1);\n tokenOwner[_tokenId] = address(0);\n }\n\n /**\n * @dev Internal function to invoke `onERC721Received` on a target address\n * The call is not executed if the target address is not a contract\n * @param _from address representing the previous owner of the given token ID\n * @param _to target address that will receive the tokens\n * @param _tokenId uint256 ID of the token to be transferred\n * @param _data bytes optional data to send along with the call\n * @return whether the call correctly returned the expected magic value\n */\n function checkAndCallSafeTransfer(\n address _from,\n address _to,\n uint256 _tokenId,\n bytes _data\n )\n internal\n returns (bool)\n {\n if (!_to.isContract()) {\n return true;\n }\n bytes4 retval = ERC721Receiver(_to).onERC721Received(\n msg.sender, _from, _tokenId, _data);\n return (retval == ERC721_RECEIVED);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721BasicToken.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721BasicToken.sol", "exportedSymbols": { "ERC721BasicToken": [ - 986 + 4267 ] }, - "id": 987, + "id": 4268, "nodeType": "SourceUnit", "nodes": [ { - "id": 405, + "id": 3676, "literals": [ "solidity", "^", @@ -298,49 +317,60 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:6" + "src": "0:24:49" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Basic.sol", "file": "./ERC721Basic.sol", - "id": 406, + "id": 3677, "nodeType": "ImportDirective", - "scope": 987, - "sourceUnit": 404, - "src": "26:27:6", + "scope": 4268, + "sourceUnit": 3675, + "src": "26:27:49", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Receiver.sol", "file": "./ERC721Receiver.sol", - "id": 407, + "id": 3678, "nodeType": "ImportDirective", - "scope": 987, - "sourceUnit": 1004, - "src": "54:30:6", + "scope": 4268, + "sourceUnit": 4309, + "src": "54:30:49", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 408, + "id": 3679, "nodeType": "ImportDirective", - "scope": 987, - "sourceUnit": 113, - "src": "85:33:6", + "scope": 4268, + "sourceUnit": 580, + "src": "85:33:49", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/AddressUtils.sol", "file": "../../AddressUtils.sol", - "id": 409, + "id": 3680, "nodeType": "ImportDirective", - "scope": 987, + "scope": 4268, "sourceUnit": 19, - "src": "119:32:6", + "src": "119:32:49", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/introspection/ERC165Support.sol", + "file": "../../introspection/ERC165Support.sol", + "id": 3681, + "nodeType": "ImportDirective", + "scope": 4268, + "sourceUnit": 337, + "src": "152:47:49", "symbolAliases": [], "unitAlias": "" }, @@ -350,56 +380,164 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 410, + "id": 3682, + "name": "ERC165Support", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 336, + "src": "378:13:49", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC165Support_$336", + "typeString": "contract ERC165Support" + } + }, + "id": 3683, + "nodeType": "InheritanceSpecifier", + "src": "378:13:49" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3684, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "330:11:6", + "referencedDeclaration": 3674, + "src": "393:11:49", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 411, + "id": 3685, "nodeType": "InheritanceSpecifier", - "src": "330:11:6" + "src": "393:11:49" } ], "contractDependencies": [ - 403 + 303, + 336, + 3674 ], "contractKind": "contract", "documentation": "@title ERC721 Non-Fungible Token Standard basic implementation\n@dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": true, - "id": 986, + "id": 4267, "linearizedBaseContracts": [ - 986, - 403 + 4267, + 3674, + 336, + 303 ], "name": "ERC721BasicToken", "nodeType": "ContractDefinition", "nodes": [ { - "id": 414, + "constant": true, + "id": 3688, + "name": "InterfaceId_ERC721", + "nodeType": "VariableDeclaration", + "scope": 4267, + "src": "410:55:49", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3686, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "410:6:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783830616335386364", + "id": 3687, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "455:10:49", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2158778573_by_1", + "typeString": "int_const 2158778573" + }, + "value": "0x80ac58cd" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 3691, + "name": "InterfaceId_ERC721Exists", + "nodeType": "VariableDeclaration", + "scope": 4267, + "src": "1045:61:49", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3689, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1045:6:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783466353538653739", + "id": 3690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1096:10:49", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1331007097_by_1", + "typeString": "int_const 1331007097" + }, + "value": "0x4f558e79" + }, + "visibility": "private" + }, + { + "id": 3694, "libraryName": { "contractScope": null, - "id": 412, + "id": 3692, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 112, - "src": "352:8:6", + "referencedDeclaration": 579, + "src": "1192:8:49", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$112", + "typeIdentifier": "t_contract$_SafeMath_$579", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "346:27:6", + "src": "1186:27:49", "typeName": { - "id": 413, + "id": 3693, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "365:7:6", + "src": "1205:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -407,26 +545,26 @@ } }, { - "id": 417, + "id": 3697, "libraryName": { "contractScope": null, - "id": 415, + "id": 3695, "name": "AddressUtils", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 18, - "src": "382:12:6", + "src": "1222:12:49", "typeDescriptions": { "typeIdentifier": "t_contract$_AddressUtils_$18", "typeString": "library AddressUtils" } }, "nodeType": "UsingForDirective", - "src": "376:31:6", + "src": "1216:31:49", "typeName": { - "id": 416, + "id": 3696, "name": "address", "nodeType": "ElementaryTypeName", - "src": "399:7:6", + "src": "1239:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -435,11 +573,11 @@ }, { "constant": true, - "id": 420, + "id": 3700, "name": "ERC721_RECEIVED", "nodeType": "VariableDeclaration", - "scope": 986, - "src": "570:44:6", + "scope": 4267, + "src": "1418:52:49", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -447,10 +585,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 418, + "id": 3698, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "570:6:6", + "src": "1418:6:49", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -458,31 +596,31 @@ }, "value": { "argumentTypes": null, - "hexValue": "30786630623965356261", - "id": 419, + "hexValue": "30783135306237613032", + "id": 3699, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "604:10:6", + "src": "1460:10:49", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_4038714810_by_1", - "typeString": "int_const 4038714810" + "typeIdentifier": "t_rational_353073666_by_1", + "typeString": "int_const 353073666" }, - "value": "0xf0b9e5ba" + "value": "0x150b7a02" }, - "visibility": "internal" + "visibility": "private" }, { "constant": false, - "id": 424, + "id": 3704, "name": "tokenOwner", "nodeType": "VariableDeclaration", - "scope": 986, - "src": "655:48:6", + "scope": 4267, + "src": "1511:48:49", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -490,28 +628,28 @@ "typeString": "mapping(uint256 => address)" }, "typeName": { - "id": 423, + "id": 3703, "keyType": { - "id": 421, + "id": 3701, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "664:7:6", + "src": "1520:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "655:28:6", + "src": "1511:28:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" }, "valueType": { - "id": 422, + "id": 3702, "name": "address", "nodeType": "ElementaryTypeName", - "src": "675:7:6", + "src": "1531:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -523,11 +661,11 @@ }, { "constant": false, - "id": 428, + "id": 3708, "name": "tokenApprovals", "nodeType": "VariableDeclaration", - "scope": 986, - "src": "755:52:6", + "scope": 4267, + "src": "1611:52:49", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -535,28 +673,28 @@ "typeString": "mapping(uint256 => address)" }, "typeName": { - "id": 427, + "id": 3707, "keyType": { - "id": 425, + "id": 3705, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "764:7:6", + "src": "1620:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "755:28:6", + "src": "1611:28:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" }, "valueType": { - "id": 426, + "id": 3706, "name": "address", "nodeType": "ElementaryTypeName", - "src": "775:7:6", + "src": "1631:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -568,11 +706,11 @@ }, { "constant": false, - "id": 432, + "id": 3712, "name": "ownedTokensCount", "nodeType": "VariableDeclaration", - "scope": 986, - "src": "861:54:6", + "scope": 4267, + "src": "1717:54:49", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -580,28 +718,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 431, + "id": 3711, "keyType": { - "id": 429, + "id": 3709, "name": "address", "nodeType": "ElementaryTypeName", - "src": "870:7:6", + "src": "1726:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "861:28:6", + "src": "1717:28:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 430, + "id": 3710, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "881:7:6", + "src": "1737:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -613,11 +751,11 @@ }, { "constant": false, - "id": 438, + "id": 3718, "name": "operatorApprovals", "nodeType": "VariableDeclaration", - "scope": 986, - "src": "966:73:6", + "scope": 4267, + "src": "1822:73:49", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -625,46 +763,46 @@ "typeString": "mapping(address => mapping(address => bool))" }, "typeName": { - "id": 437, + "id": 3717, "keyType": { - "id": 433, + "id": 3713, "name": "address", "nodeType": "ElementaryTypeName", - "src": "975:7:6", + "src": "1831:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "966:46:6", + "src": "1822:46:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", "typeString": "mapping(address => mapping(address => bool))" }, "valueType": { - "id": 436, + "id": 3716, "keyType": { - "id": 434, + "id": 3714, "name": "address", "nodeType": "ElementaryTypeName", - "src": "995:7:6", + "src": "1851:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "986:25:6", + "src": "1842:25:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 435, + "id": 3715, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1006:4:6", + "src": "1862:4:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -677,9 +815,9 @@ }, { "body": { - "id": 452, + "id": 3732, "nodeType": "Block", - "src": "1248:58:6", + "src": "2104:58:49", "statements": [ { "expression": { @@ -691,7 +829,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 448, + "id": 3728, "isConstant": false, "isLValue": false, "isPure": false, @@ -701,12 +839,12 @@ "arguments": [ { "argumentTypes": null, - "id": 444, + "id": 3724, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 440, - "src": "1270:8:6", + "referencedDeclaration": 3720, + "src": "2126:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -720,20 +858,20 @@ "typeString": "uint256" } ], - "id": 443, + "id": 3723, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 511 + 3812 ], - "referencedDeclaration": 511, - "src": "1262:7:6", + "referencedDeclaration": 3812, + "src": "2118:7:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 445, + "id": 3725, "isConstant": false, "isLValue": false, "isPure": false, @@ -741,7 +879,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1262:17:6", + "src": "2118:17:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -753,18 +891,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 446, + "id": 3726, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, - "src": "1283:3:6", + "referencedDeclaration": 4879, + "src": "2139:3:49", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 447, + "id": 3727, "isConstant": false, "isLValue": false, "isPure": false, @@ -772,13 +910,13 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1283:10:6", + "src": "2139:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1262:31:6", + "src": "2118:31:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -792,21 +930,21 @@ "typeString": "bool" } ], - "id": 442, + "id": 3722, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "1254:7:6", + "referencedDeclaration": 4882, + "src": "2110:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 449, + "id": 3729, "isConstant": false, "isLValue": false, "isPure": false, @@ -814,38 +952,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1254:40:6", + "src": "2110:40:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 450, + "id": 3730, "nodeType": "ExpressionStatement", - "src": "1254:40:6" + "src": "2110:40:49" }, { - "id": 451, + "id": 3731, "nodeType": "PlaceholderStatement", - "src": "1300:1:6" + "src": "2156:1:49" } ] }, "documentation": "@dev Guarantees msg.sender is owner of the given token\n@param _tokenId uint256 ID of the token to validate its ownership belongs to msg.sender", - "id": 453, + "id": 3733, "name": "onlyOwnerOf", "nodeType": "ModifierDefinition", "parameters": { - "id": 441, + "id": 3721, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 440, + "id": 3720, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 453, - "src": "1230:16:6", + "scope": 3733, + "src": "2086:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -853,10 +991,10 @@ "typeString": "uint256" }, "typeName": { - "id": 439, + "id": 3719, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1230:7:6", + "src": "2086:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -866,16 +1004,16 @@ "visibility": "internal" } ], - "src": "1229:18:6" + "src": "2085:18:49" }, - "src": "1209:97:6", + "src": "2065:97:49", "visibility": "internal" }, { "body": { - "id": 466, + "id": 3746, "nodeType": "Block", - "src": "1506:66:6", + "src": "2362:66:49", "statements": [ { "expression": { @@ -888,18 +1026,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 459, + "id": 3739, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, - "src": "1538:3:6", + "referencedDeclaration": 4879, + "src": "2394:3:49", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 460, + "id": 3740, "isConstant": false, "isLValue": false, "isPure": false, @@ -907,7 +1045,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1538:10:6", + "src": "2394:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -915,12 +1053,12 @@ }, { "argumentTypes": null, - "id": 461, + "id": 3741, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 455, - "src": "1550:8:6", + "referencedDeclaration": 3735, + "src": "2406:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -938,18 +1076,18 @@ "typeString": "uint256" } ], - "id": 458, + "id": 3738, "name": "isApprovedOrOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 781, - "src": "1520:17:6", + "referencedDeclaration": 4068, + "src": "2376:17:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) view returns (bool)" } }, - "id": 462, + "id": 3742, "isConstant": false, "isLValue": false, "isPure": false, @@ -957,7 +1095,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1520:39:6", + "src": "2376:39:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -971,21 +1109,21 @@ "typeString": "bool" } ], - "id": 457, + "id": 3737, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "1512:7:6", + "referencedDeclaration": 4882, + "src": "2368:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 463, + "id": 3743, "isConstant": false, "isLValue": false, "isPure": false, @@ -993,38 +1131,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1512:48:6", + "src": "2368:48:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 464, + "id": 3744, "nodeType": "ExpressionStatement", - "src": "1512:48:6" + "src": "2368:48:49" }, { - "id": 465, + "id": 3745, "nodeType": "PlaceholderStatement", - "src": "1566:1:6" + "src": "2422:1:49" } ] }, "documentation": "@dev Checks msg.sender can transfer a token, by being owner, approved, or operator\n@param _tokenId uint256 ID of the token to validate", - "id": 467, + "id": 3747, "name": "canTransfer", "nodeType": "ModifierDefinition", "parameters": { - "id": 456, + "id": 3736, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 455, + "id": 3735, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 467, - "src": "1488:16:6", + "scope": 3747, + "src": "2344:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1032,10 +1170,10 @@ "typeString": "uint256" }, "typeName": { - "id": 454, + "id": 3734, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1488:7:6", + "src": "2344:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1045,16 +1183,304 @@ "visibility": "internal" } ], - "src": "1487:18:6" + "src": "2343:18:49" }, - "src": "1467:105:6", + "src": "2323:105:49", "visibility": "internal" }, { "body": { - "id": 486, + "id": 3767, "nodeType": "Block", - "src": "1829:77:6", + "src": "2524:150:49", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3756, + "name": "_interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3749, + "src": "2562:12:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "argumentTypes": null, + "id": 3754, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4945, + "src": "2537:5:49", + "typeDescriptions": { + "typeIdentifier": "t_super$_ERC721BasicToken_$4267", + "typeString": "contract super ERC721BasicToken" + } + }, + "id": 3755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "_supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 335, + "src": "2537:24:49", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 3757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2537:38:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 3760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3758, + "name": "_interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3749, + "src": "2585:12:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3759, + "name": "InterfaceId_ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3688, + "src": "2601:18:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "2585:34:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2537:82:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 3764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3762, + "name": "_interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3749, + "src": "2629:12:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3763, + "name": "InterfaceId_ERC721Exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3691, + "src": "2645:24:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "2629:40:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2537:132:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3753, + "id": 3766, + "nodeType": "Return", + "src": "2530:139:49" + } + ] + }, + "documentation": null, + "id": 3768, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "_supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3750, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3749, + "name": "_interfaceId", + "nodeType": "VariableDeclaration", + "scope": 3768, + "src": "2460:19:49", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3748, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2460:6:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2459:21:49" + }, + "payable": false, + "returnParameters": { + "id": 3753, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3752, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3768, + "src": "2516:4:49", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3751, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2516:4:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2515:6:49" + }, + "scope": 4267, + "src": "2432:242:49", + "stateMutability": "view", + "superFunction": 335, + "visibility": "internal" + }, + { + "body": { + "id": 3787, + "nodeType": "Block", + "src": "2931:77:49", "statements": [ { "expression": { @@ -1066,19 +1492,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 479, + "id": 3780, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 475, + "id": 3776, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 469, - "src": "1843:6:6", + "referencedDeclaration": 3770, + "src": "2945:6:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1092,14 +1518,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 477, + "id": 3778, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1861:1:6", + "src": "2963:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1115,20 +1541,20 @@ "typeString": "int_const 0" } ], - "id": 476, + "id": 3777, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1853:7:6", + "src": "2955:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 478, + "id": 3779, "isConstant": false, "isLValue": false, "isPure": true, @@ -1136,13 +1562,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1853:10:6", + "src": "2955:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1843:20:6", + "src": "2945:20:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1156,21 +1582,21 @@ "typeString": "bool" } ], - "id": 474, + "id": 3775, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "1835:7:6", + "referencedDeclaration": 4882, + "src": "2937:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 480, + "id": 3781, "isConstant": false, "isLValue": false, "isPure": false, @@ -1178,41 +1604,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1835:29:6", + "src": "2937:29:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 481, + "id": 3782, "nodeType": "ExpressionStatement", - "src": "1835:29:6" + "src": "2937:29:49" }, { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 482, + "id": 3783, "name": "ownedTokensCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "1877:16:6", + "referencedDeclaration": 3712, + "src": "2979:16:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 484, + "id": 3785, "indexExpression": { "argumentTypes": null, - "id": 483, + "id": 3784, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 469, - "src": "1894:6:6", + "referencedDeclaration": 3770, + "src": "2996:6:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1223,21 +1649,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1877:24:6", + "src": "2979:24:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 473, - "id": 485, + "functionReturnParameters": 3774, + "id": 3786, "nodeType": "Return", - "src": "1870:31:6" + "src": "2972:31:49" } ] }, "documentation": "@dev Gets the balance of the specified address\n@param _owner address to query the balance of\n@return uint256 representing the amount owned by the passed address", - "id": 487, + "id": 3788, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1245,16 +1671,16 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 470, + "id": 3771, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 469, + "id": 3770, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 487, - "src": "1783:14:6", + "scope": 3788, + "src": "2885:14:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1262,10 +1688,10 @@ "typeString": "address" }, "typeName": { - "id": 468, + "id": 3769, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1783:7:6", + "src": "2885:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1275,20 +1701,20 @@ "visibility": "internal" } ], - "src": "1782:16:6" + "src": "2884:16:49" }, "payable": false, "returnParameters": { - "id": 473, + "id": 3774, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 472, + "id": 3773, "name": "", "nodeType": "VariableDeclaration", - "scope": 487, - "src": "1820:7:6", + "scope": 3788, + "src": "2922:7:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1296,10 +1722,10 @@ "typeString": "uint256" }, "typeName": { - "id": 471, + "id": 3772, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1820:7:6", + "src": "2922:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1309,32 +1735,32 @@ "visibility": "internal" } ], - "src": "1819:9:6" + "src": "2921:9:49" }, - "scope": 986, - "src": "1764:142:6", + "scope": 4267, + "src": "2866:142:49", "stateMutability": "view", - "superFunction": 329, + "superFunction": 3600, "visibility": "public" }, { "body": { - "id": 510, + "id": 3811, "nodeType": "Block", - "src": "2184:99:6", + "src": "3286:99:49", "statements": [ { "assignments": [ - 495 + 3796 ], "declarations": [ { "constant": false, - "id": 495, + "id": 3796, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 511, - "src": "2190:13:6", + "scope": 3812, + "src": "3292:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1342,10 +1768,10 @@ "typeString": "address" }, "typeName": { - "id": 494, + "id": 3795, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2190:7:6", + "src": "3292:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1355,31 +1781,31 @@ "visibility": "internal" } ], - "id": 499, + "id": 3800, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 496, + "id": 3797, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "2206:10:6", + "referencedDeclaration": 3704, + "src": "3308:10:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 498, + "id": 3799, "indexExpression": { "argumentTypes": null, - "id": 497, + "id": 3798, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "2217:8:6", + "referencedDeclaration": 3790, + "src": "3319:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1390,14 +1816,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2206:20:6", + "src": "3308:20:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "2190:36:6" + "src": "3292:36:49" }, { "expression": { @@ -1409,19 +1835,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 505, + "id": 3806, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 501, + "id": 3802, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "2240:5:6", + "referencedDeclaration": 3796, + "src": "3342:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1435,14 +1861,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 503, + "id": 3804, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2257:1:6", + "src": "3359:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1458,20 +1884,20 @@ "typeString": "int_const 0" } ], - "id": 502, + "id": 3803, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2249:7:6", + "src": "3351:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 504, + "id": 3805, "isConstant": false, "isLValue": false, "isPure": true, @@ -1479,13 +1905,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2249:10:6", + "src": "3351:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2240:19:6", + "src": "3342:19:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1499,21 +1925,21 @@ "typeString": "bool" } ], - "id": 500, + "id": 3801, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "2232:7:6", + "referencedDeclaration": 4882, + "src": "3334:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 506, + "id": 3807, "isConstant": false, "isLValue": false, "isPure": false, @@ -1521,39 +1947,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2232:28:6", + "src": "3334:28:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 507, + "id": 3808, "nodeType": "ExpressionStatement", - "src": "2232:28:6" + "src": "3334:28:49" }, { "expression": { "argumentTypes": null, - "id": 508, + "id": 3809, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "2273:5:6", + "referencedDeclaration": 3796, + "src": "3375:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 493, - "id": 509, + "functionReturnParameters": 3794, + "id": 3810, "nodeType": "Return", - "src": "2266:12:6" + "src": "3368:12:49" } ] }, "documentation": "@dev Gets the owner of the specified token ID\n@param _tokenId uint256 ID of the token to query the owner of\n@return owner address currently marked as the owner of the given token ID", - "id": 511, + "id": 3812, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1561,16 +1987,16 @@ "name": "ownerOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 490, + "id": 3791, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 489, + "id": 3790, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 511, - "src": "2136:16:6", + "scope": 3812, + "src": "3238:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1578,10 +2004,10 @@ "typeString": "uint256" }, "typeName": { - "id": 488, + "id": 3789, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2136:7:6", + "src": "3238:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1591,20 +2017,20 @@ "visibility": "internal" } ], - "src": "2135:18:6" + "src": "3237:18:49" }, "payable": false, "returnParameters": { - "id": 493, + "id": 3794, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 492, + "id": 3793, "name": "", "nodeType": "VariableDeclaration", - "scope": 511, - "src": "2175:7:6", + "scope": 3812, + "src": "3277:7:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1612,10 +2038,10 @@ "typeString": "address" }, "typeName": { - "id": 491, + "id": 3792, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2175:7:6", + "src": "3277:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1625,32 +2051,32 @@ "visibility": "internal" } ], - "src": "2174:9:6" + "src": "3276:9:49" }, - "scope": 986, - "src": "2119:164:6", + "scope": 4267, + "src": "3221:164:49", "stateMutability": "view", - "superFunction": 336, + "superFunction": 3607, "visibility": "public" }, { "body": { - "id": 530, + "id": 3831, "nodeType": "Block", - "src": "2522:79:6", + "src": "3624:79:49", "statements": [ { "assignments": [ - 519 + 3820 ], "declarations": [ { "constant": false, - "id": 519, + "id": 3820, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 531, - "src": "2528:13:6", + "scope": 3832, + "src": "3630:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1658,10 +2084,10 @@ "typeString": "address" }, "typeName": { - "id": 518, + "id": 3819, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2528:7:6", + "src": "3630:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1671,31 +2097,31 @@ "visibility": "internal" } ], - "id": 523, + "id": 3824, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 520, + "id": 3821, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "2544:10:6", + "referencedDeclaration": 3704, + "src": "3646:10:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 522, + "id": 3823, "indexExpression": { "argumentTypes": null, - "id": 521, + "id": 3822, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "2555:8:6", + "referencedDeclaration": 3814, + "src": "3657:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1706,14 +2132,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2544:20:6", + "src": "3646:20:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "2528:36:6" + "src": "3630:36:49" }, { "expression": { @@ -1722,19 +2148,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 528, + "id": 3829, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 524, + "id": 3825, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "2577:5:6", + "referencedDeclaration": 3820, + "src": "3679:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1748,14 +2174,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 526, + "id": 3827, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2594:1:6", + "src": "3696:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1771,20 +2197,20 @@ "typeString": "int_const 0" } ], - "id": 525, + "id": 3826, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2586:7:6", + "src": "3688:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 527, + "id": 3828, "isConstant": false, "isLValue": false, "isPure": true, @@ -1792,27 +2218,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2586:10:6", + "src": "3688:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2577:19:6", + "src": "3679:19:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 517, - "id": 529, + "functionReturnParameters": 3818, + "id": 3830, "nodeType": "Return", - "src": "2570:26:6" + "src": "3672:26:49" } ] }, - "documentation": "@dev Returns whether the specified token exists\n@param _tokenId uint256 ID of the token to query the existance of\n@return whether the token exists", - "id": 531, + "documentation": "@dev Returns whether the specified token exists\n@param _tokenId uint256 ID of the token to query the existence of\n@return whether the token exists", + "id": 3832, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1820,16 +2246,16 @@ "name": "exists", "nodeType": "FunctionDefinition", "parameters": { - "id": 514, + "id": 3815, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 513, + "id": 3814, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 531, - "src": "2477:16:6", + "scope": 3832, + "src": "3579:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1837,10 +2263,10 @@ "typeString": "uint256" }, "typeName": { - "id": 512, + "id": 3813, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2477:7:6", + "src": "3579:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1850,20 +2276,20 @@ "visibility": "internal" } ], - "src": "2476:18:6" + "src": "3578:18:49" }, "payable": false, "returnParameters": { - "id": 517, + "id": 3818, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 516, + "id": 3817, "name": "", "nodeType": "VariableDeclaration", - "scope": 531, - "src": "2516:4:6", + "scope": 3832, + "src": "3618:4:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1871,10 +2297,10 @@ "typeString": "bool" }, "typeName": { - "id": 515, + "id": 3816, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2516:4:6", + "src": "3618:4:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1884,32 +2310,32 @@ "visibility": "internal" } ], - "src": "2515:6:6" + "src": "3617:6:49" }, - "scope": 986, - "src": "2461:140:6", + "scope": 4267, + "src": "3563:140:49", "stateMutability": "view", - "superFunction": 343, + "superFunction": 3614, "visibility": "public" }, { "body": { - "id": 590, + "id": 3876, "nodeType": "Block", - "src": "3076:300:6", + "src": "4163:222:49", "statements": [ { "assignments": [ - 539 + 3840 ], "declarations": [ { "constant": false, - "id": 539, + "id": 3840, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 591, - "src": "3082:13:6", + "scope": 3877, + "src": "4169:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1917,10 +2343,10 @@ "typeString": "address" }, "typeName": { - "id": 538, + "id": 3839, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3082:7:6", + "src": "4169:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1930,18 +2356,18 @@ "visibility": "internal" } ], - "id": 543, + "id": 3844, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 541, + "id": 3842, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 535, - "src": "3106:8:6", + "referencedDeclaration": 3836, + "src": "4193:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1955,20 +2381,20 @@ "typeString": "uint256" } ], - "id": 540, + "id": 3841, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 511 + 3812 ], - "referencedDeclaration": 511, - "src": "3098:7:6", + "referencedDeclaration": 3812, + "src": "4185:7:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 542, + "id": 3843, "isConstant": false, "isLValue": false, "isPure": false, @@ -1976,14 +2402,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3098:17:6", + "src": "4185:17:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "3082:33:6" + "src": "4169:33:49" }, { "expression": { @@ -1995,19 +2421,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 547, + "id": 3848, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 545, + "id": 3846, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 533, - "src": "3129:3:6", + "referencedDeclaration": 3834, + "src": "4216:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2017,18 +2443,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 546, + "id": 3847, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 539, - "src": "3136:5:6", + "referencedDeclaration": 3840, + "src": "4223:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3129:12:6", + "src": "4216:12:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2042,21 +2468,21 @@ "typeString": "bool" } ], - "id": 544, + "id": 3845, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "3121:7:6", + "referencedDeclaration": 4882, + "src": "4208:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 548, + "id": 3849, "isConstant": false, "isLValue": false, "isPure": false, @@ -2064,15 +2490,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3121:21:6", + "src": "4208:21:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 549, + "id": 3850, "nodeType": "ExpressionStatement", - "src": "3121:21:6" + "src": "4208:21:49" }, { "expression": { @@ -2084,7 +2510,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 560, + "id": 3861, "isConstant": false, "isLValue": false, "isPure": false, @@ -2095,7 +2521,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 554, + "id": 3855, "isConstant": false, "isLValue": false, "isPure": false, @@ -2104,18 +2530,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 551, + "id": 3852, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, - "src": "3156:3:6", + "referencedDeclaration": 4879, + "src": "4243:3:49", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 552, + "id": 3853, "isConstant": false, "isLValue": false, "isPure": false, @@ -2123,7 +2549,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3156:10:6", + "src": "4243:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2133,18 +2559,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 553, + "id": 3854, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 539, - "src": "3170:5:6", + "referencedDeclaration": 3840, + "src": "4257:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3156:19:6", + "src": "4243:19:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2157,12 +2583,12 @@ "arguments": [ { "argumentTypes": null, - "id": 556, + "id": 3857, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 539, - "src": "3196:5:6", + "referencedDeclaration": 3840, + "src": "4283:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2172,18 +2598,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 557, + "id": 3858, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, - "src": "3203:3:6", + "referencedDeclaration": 4879, + "src": "4290:3:49", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 558, + "id": 3859, "isConstant": false, "isLValue": false, "isPure": false, @@ -2191,7 +2617,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3203:10:6", + "src": "4290:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2209,20 +2635,20 @@ "typeString": "address" } ], - "id": 555, + "id": 3856, "name": "isApprovedForAll", "nodeType": "Identifier", "overloadedDeclarations": [ - 650 + 3936 ], - "referencedDeclaration": 650, - "src": "3179:16:6", + "referencedDeclaration": 3936, + "src": "4266:16:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", "typeString": "function (address,address) view returns (bool)" } }, - "id": 559, + "id": 3860, "isConstant": false, "isLValue": false, "isPure": false, @@ -2230,13 +2656,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3179:35:6", + "src": "4266:35:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "3156:58:6", + "src": "4243:58:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2250,21 +2676,21 @@ "typeString": "bool" } ], - "id": 550, + "id": 3851, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "3148:7:6", + "referencedDeclaration": 4882, + "src": "4235:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 561, + "id": 3862, "isConstant": false, "isLValue": false, "isPure": false, @@ -2272,427 +2698,181 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3148:67:6", + "src": "4235:67:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 562, + "id": 3863, "nodeType": "ExpressionStatement", - "src": "3148:67:6" + "src": "4235:67:49" }, { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 575, + "id": 3868, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { "argumentTypes": null, - "commonType": { + "baseExpression": { + "argumentTypes": null, + "id": 3864, + "name": "tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3708, + "src": "4309:14:49", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 3866, + "indexExpression": { + "argumentTypes": null, + "id": 3865, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3836, + "src": "4324:8:49", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4309:24:49", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" - }, - "id": 569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 564, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 535, - "src": "3238:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 563, - "name": "getApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 603 - ], - "referencedDeclaration": 603, - "src": "3226:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3226:21:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3259:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3251:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3251:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3226:35:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, - "commonType": { + "id": 3867, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3834, + "src": "4336:3:49", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" - }, - "id": 574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + } + }, + "src": "4309:30:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3869, + "nodeType": "ExpressionStatement", + "src": "4309:30:49" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "id": 570, + "id": 3871, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3840, + "src": "4359:5:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3872, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 533, - "src": "3265:3:6", + "referencedDeclaration": 3834, + "src": "4366:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { + { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3280:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3272:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3272:10:6", + "id": 3873, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3836, + "src": "4371:8:49", "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "src": "3265:17:6", + ], + "id": 3870, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3585, + "src": "4350:8:49", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" } }, - "src": "3226:56:6", + "id": 3874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4350:30:49", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "falseBody": null, - "id": 589, - "nodeType": "IfStatement", - "src": "3222:150:6", - "trueBody": { - "id": 588, - "nodeType": "Block", - "src": "3284:88:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 576, - "name": "tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "3292:14:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 578, - "indexExpression": { - "argumentTypes": null, - "id": 577, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 535, - "src": "3307:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3292:24:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 579, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 533, - "src": "3319:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3292:30:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 581, - "nodeType": "ExpressionStatement", - "src": "3292:30:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 583, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 539, - "src": "3344:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 584, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 533, - "src": "3351:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 585, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 535, - "src": "3356:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 582, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 314, - "src": "3335:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3335:30:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 587, - "nodeType": "EmitStatement", - "src": "3330:35:6" - } - ] - } + "id": 3875, + "nodeType": "EmitStatement", + "src": "4345:35:49" } ] }, - "documentation": "@dev Approves another address to transfer the given token ID\n@dev The zero address indicates there is no approved address.\n@dev There can only be one approved address per token at a given time.\n@dev Can only be called by the token owner or an approved operator.\n@param _to address to be approved for the given token ID\n@param _tokenId uint256 ID of the token to be approved", - "id": 591, + "documentation": "@dev Approves another address to transfer the given token ID\nThe zero address indicates there is no approved address.\nThere can only be one approved address per token at a given time.\nCan only be called by the token owner or an approved operator.\n@param _to address to be approved for the given token ID\n@param _tokenId uint256 ID of the token to be approved", + "id": 3877, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2700,16 +2880,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 536, + "id": 3837, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 533, + "id": 3834, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 591, - "src": "3038:11:6", + "scope": 3877, + "src": "4125:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2717,10 +2897,10 @@ "typeString": "address" }, "typeName": { - "id": 532, + "id": 3833, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3038:7:6", + "src": "4125:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2731,11 +2911,11 @@ }, { "constant": false, - "id": 535, + "id": 3836, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 591, - "src": "3051:16:6", + "scope": 3877, + "src": "4138:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2743,10 +2923,10 @@ "typeString": "uint256" }, "typeName": { - "id": 534, + "id": 3835, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3051:7:6", + "src": "4138:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2756,52 +2936,52 @@ "visibility": "internal" } ], - "src": "3037:31:6" + "src": "4124:31:49" }, "payable": false, "returnParameters": { - "id": 537, + "id": 3838, "nodeType": "ParameterList", "parameters": [], - "src": "3076:0:6" + "src": "4163:0:49" }, - "scope": 986, - "src": "3021:355:6", + "scope": 4267, + "src": "4108:277:49", "stateMutability": "nonpayable", - "superFunction": 350, + "superFunction": 3621, "visibility": "public" }, { "body": { - "id": 602, + "id": 3888, "nodeType": "Block", - "src": "3674:42:6", + "src": "4681:42:49", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 598, + "id": 3884, "name": "tokenApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "3687:14:6", + "referencedDeclaration": 3708, + "src": "4694:14:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 600, + "id": 3886, "indexExpression": { "argumentTypes": null, - "id": 599, + "id": 3885, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 593, - "src": "3702:8:6", + "referencedDeclaration": 3879, + "src": "4709:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2812,21 +2992,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3687:24:6", + "src": "4694:24:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 597, - "id": 601, + "functionReturnParameters": 3883, + "id": 3887, "nodeType": "Return", - "src": "3680:31:6" + "src": "4687:31:49" } ] }, - "documentation": "@dev Gets the approved address for a token ID, or zero if no address set\n@param _tokenId uint256 ID of the token to query the approval of\n@return address currently approved for a the given token ID", - "id": 603, + "documentation": "@dev Gets the approved address for a token ID, or zero if no address set\n@param _tokenId uint256 ID of the token to query the approval of\n@return address currently approved for the given token ID", + "id": 3889, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2834,16 +3014,16 @@ "name": "getApproved", "nodeType": "FunctionDefinition", "parameters": { - "id": 594, + "id": 3880, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 593, + "id": 3879, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 603, - "src": "3626:16:6", + "scope": 3889, + "src": "4633:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2851,10 +3031,10 @@ "typeString": "uint256" }, "typeName": { - "id": 592, + "id": 3878, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3626:7:6", + "src": "4633:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2864,20 +3044,20 @@ "visibility": "internal" } ], - "src": "3625:18:6" + "src": "4632:18:49" }, "payable": false, "returnParameters": { - "id": 597, + "id": 3883, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 596, + "id": 3882, "name": "", "nodeType": "VariableDeclaration", - "scope": 603, - "src": "3665:7:6", + "scope": 3889, + "src": "4672:7:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2885,10 +3065,10 @@ "typeString": "address" }, "typeName": { - "id": 595, + "id": 3881, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3665:7:6", + "src": "4672:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2898,19 +3078,19 @@ "visibility": "internal" } ], - "src": "3664:9:6" + "src": "4671:9:49" }, - "scope": 986, - "src": "3605:111:6", + "scope": 4267, + "src": "4612:111:49", "stateMutability": "view", - "superFunction": 357, + "superFunction": 3628, "visibility": "public" }, { "body": { - "id": 633, + "id": 3919, "nodeType": "Block", - "src": "4064:142:6", + "src": "5066:142:49", "statements": [ { "expression": { @@ -2922,19 +3102,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 614, + "id": 3900, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 611, + "id": 3897, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 605, - "src": "4078:3:6", + "referencedDeclaration": 3891, + "src": "5080:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2946,18 +3126,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 612, + "id": 3898, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, - "src": "4085:3:6", + "referencedDeclaration": 4879, + "src": "5087:3:49", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 613, + "id": 3899, "isConstant": false, "isLValue": false, "isPure": false, @@ -2965,13 +3145,13 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4085:10:6", + "src": "5087:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "4078:17:6", + "src": "5080:17:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2985,21 +3165,21 @@ "typeString": "bool" } ], - "id": 610, + "id": 3896, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "4070:7:6", + "referencedDeclaration": 4882, + "src": "5072:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 615, + "id": 3901, "isConstant": false, "isLValue": false, "isPure": false, @@ -3007,20 +3187,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4070:26:6", + "src": "5072:26:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 616, + "id": 3902, "nodeType": "ExpressionStatement", - "src": "4070:26:6" + "src": "5072:26:49" }, { "expression": { "argumentTypes": null, - "id": 624, + "id": 3910, "isConstant": false, "isLValue": false, "isPure": false, @@ -3031,34 +3211,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 617, + "id": 3903, "name": "operatorApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 438, - "src": "4102:17:6", + "referencedDeclaration": 3718, + "src": "5104:17:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", "typeString": "mapping(address => mapping(address => bool))" } }, - "id": 621, + "id": 3907, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 618, + "id": 3904, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, - "src": "4120:3:6", + "referencedDeclaration": 4879, + "src": "5122:3:49", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 619, + "id": 3905, "isConstant": false, "isLValue": false, "isPure": false, @@ -3066,7 +3246,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4120:10:6", + "src": "5122:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3077,21 +3257,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4102:29:6", + "src": "5104:29:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 622, + "id": 3908, "indexExpression": { "argumentTypes": null, - "id": 620, + "id": 3906, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 605, - "src": "4132:3:6", + "referencedDeclaration": 3891, + "src": "5134:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3102,7 +3282,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4102:34:6", + "src": "5104:34:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3112,26 +3292,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 623, + "id": 3909, "name": "_approved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "4139:9:6", + "referencedDeclaration": 3893, + "src": "5141:9:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "4102:46:6", + "src": "5104:46:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 625, + "id": 3911, "nodeType": "ExpressionStatement", - "src": "4102:46:6" + "src": "5104:46:49" }, { "eventCall": { @@ -3141,18 +3321,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 627, + "id": 3913, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, - "src": "4174:3:6", + "referencedDeclaration": 4879, + "src": "5176:3:49", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 628, + "id": 3914, "isConstant": false, "isLValue": false, "isPure": false, @@ -3160,7 +3340,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4174:10:6", + "src": "5176:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3168,12 +3348,12 @@ }, { "argumentTypes": null, - "id": 629, + "id": 3915, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 605, - "src": "4186:3:6", + "referencedDeclaration": 3891, + "src": "5188:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3181,12 +3361,12 @@ }, { "argumentTypes": null, - "id": 630, + "id": 3916, "name": "_approved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "4191:9:6", + "referencedDeclaration": 3893, + "src": "5193:9:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3208,18 +3388,18 @@ "typeString": "bool" } ], - "id": 626, + "id": 3912, "name": "ApprovalForAll", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 322, - "src": "4159:14:6", + "referencedDeclaration": 3593, + "src": "5161:14:49", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", "typeString": "function (address,address,bool)" } }, - "id": 631, + "id": 3917, "isConstant": false, "isLValue": false, "isPure": false, @@ -3227,20 +3407,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4159:42:6", + "src": "5161:42:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 632, + "id": 3918, "nodeType": "EmitStatement", - "src": "4154:47:6" + "src": "5156:47:49" } ] }, - "documentation": "@dev Sets or unsets the approval of a given operator\n@dev An operator is allowed to transfer all tokens of the sender on their behalf\n@param _to operator address to set the approval\n@param _approved representing the status of the approval to be set", - "id": 634, + "documentation": "@dev Sets or unsets the approval of a given operator\nAn operator is allowed to transfer all tokens of the sender on their behalf\n@param _to operator address to set the approval\n@param _approved representing the status of the approval to be set", + "id": 3920, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -3248,16 +3428,16 @@ "name": "setApprovalForAll", "nodeType": "FunctionDefinition", "parameters": { - "id": 608, + "id": 3894, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 605, + "id": 3891, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 634, - "src": "4028:11:6", + "scope": 3920, + "src": "5030:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3265,10 +3445,10 @@ "typeString": "address" }, "typeName": { - "id": 604, + "id": 3890, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4028:7:6", + "src": "5030:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3279,11 +3459,11 @@ }, { "constant": false, - "id": 607, + "id": 3893, "name": "_approved", "nodeType": "VariableDeclaration", - "scope": 634, - "src": "4041:14:6", + "scope": 3920, + "src": "5043:14:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3291,10 +3471,10 @@ "typeString": "bool" }, "typeName": { - "id": 606, + "id": 3892, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4041:4:6", + "src": "5043:4:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3304,26 +3484,26 @@ "visibility": "internal" } ], - "src": "4027:29:6" + "src": "5029:29:49" }, "payable": false, "returnParameters": { - "id": 609, + "id": 3895, "nodeType": "ParameterList", "parameters": [], - "src": "4064:0:6" + "src": "5066:0:49" }, - "scope": 986, - "src": "4001:205:6", + "scope": 4267, + "src": "5003:205:49", "stateMutability": "nonpayable", - "superFunction": 364, + "superFunction": 3635, "visibility": "public" }, { "body": { - "id": 649, + "id": 3935, "nodeType": "Block", - "src": "4603:54:6", + "src": "5631:54:49", "statements": [ { "expression": { @@ -3332,26 +3512,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 643, + "id": 3929, "name": "operatorApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 438, - "src": "4616:17:6", + "referencedDeclaration": 3718, + "src": "5644:17:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", "typeString": "mapping(address => mapping(address => bool))" } }, - "id": 645, + "id": 3931, "indexExpression": { "argumentTypes": null, - "id": 644, + "id": 3930, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 636, - "src": "4634:6:6", + "referencedDeclaration": 3922, + "src": "5662:6:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3362,21 +3542,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4616:25:6", + "src": "5644:25:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 647, + "id": 3933, "indexExpression": { "argumentTypes": null, - "id": 646, + "id": 3932, "name": "_operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 638, - "src": "4642:9:6", + "referencedDeclaration": 3924, + "src": "5670:9:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3387,21 +3567,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4616:36:6", + "src": "5644:36:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 642, - "id": 648, + "functionReturnParameters": 3928, + "id": 3934, "nodeType": "Return", - "src": "4609:43:6" + "src": "5637:43:49" } ] }, "documentation": "@dev Tells whether an operator is approved by a given owner\n@param _owner owner address which you want to query the approval of\n@param _operator operator address which you want to query the approval of\n@return bool whether the given operator is approved by the given owner", - "id": 650, + "id": 3936, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3409,16 +3589,16 @@ "name": "isApprovedForAll", "nodeType": "FunctionDefinition", "parameters": { - "id": 639, + "id": 3925, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 636, + "id": 3922, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 650, - "src": "4541:14:6", + "scope": 3936, + "src": "5548:14:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3426,10 +3606,10 @@ "typeString": "address" }, "typeName": { - "id": 635, + "id": 3921, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4541:7:6", + "src": "5548:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3440,11 +3620,11 @@ }, { "constant": false, - "id": 638, + "id": 3924, "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 650, - "src": "4557:17:6", + "scope": 3936, + "src": "5568:17:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3452,10 +3632,10 @@ "typeString": "address" }, "typeName": { - "id": 637, + "id": 3923, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4557:7:6", + "src": "5568:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3465,20 +3645,20 @@ "visibility": "internal" } ], - "src": "4540:35:6" + "src": "5542:47:49" }, "payable": false, "returnParameters": { - "id": 642, + "id": 3928, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 641, + "id": 3927, "name": "", "nodeType": "VariableDeclaration", - "scope": 650, - "src": "4597:4:6", + "scope": 3936, + "src": "5623:4:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3486,10 +3666,10 @@ "typeString": "bool" }, "typeName": { - "id": 640, + "id": 3926, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4597:4:6", + "src": "5623:4:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3499,19 +3679,19 @@ "visibility": "internal" } ], - "src": "4596:6:6" + "src": "5622:6:49" }, - "scope": 986, - "src": "4515:142:6", + "scope": 4267, + "src": "5517:168:49", "stateMutability": "view", - "superFunction": 373, + "superFunction": 3644, "visibility": "public" }, { "body": { - "id": 699, + "id": 3985, "nodeType": "Block", - "src": "5182:219:6", + "src": "6226:219:49", "statements": [ { "expression": { @@ -3523,19 +3703,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 667, + "id": 3953, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 663, + "id": 3949, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 652, - "src": "5196:5:6", + "referencedDeclaration": 3938, + "src": "6240:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3549,14 +3729,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 665, + "id": 3951, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5213:1:6", + "src": "6257:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3572,20 +3752,20 @@ "typeString": "int_const 0" } ], - "id": 664, + "id": 3950, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5205:7:6", + "src": "6249:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 666, + "id": 3952, "isConstant": false, "isLValue": false, "isPure": true, @@ -3593,13 +3773,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5205:10:6", + "src": "6249:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5196:19:6", + "src": "6240:19:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3613,21 +3793,21 @@ "typeString": "bool" } ], - "id": 662, + "id": 3948, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "5188:7:6", + "referencedDeclaration": 4882, + "src": "6232:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 668, + "id": 3954, "isConstant": false, "isLValue": false, "isPure": false, @@ -3635,15 +3815,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5188:28:6", + "src": "6232:28:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 669, + "id": 3955, "nodeType": "ExpressionStatement", - "src": "5188:28:6" + "src": "6232:28:49" }, { "expression": { @@ -3655,19 +3835,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 675, + "id": 3961, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 671, + "id": 3957, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 654, - "src": "5230:3:6", + "referencedDeclaration": 3940, + "src": "6274:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3681,14 +3861,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 673, + "id": 3959, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5245:1:6", + "src": "6289:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3704,20 +3884,20 @@ "typeString": "int_const 0" } ], - "id": 672, + "id": 3958, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5237:7:6", + "src": "6281:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 674, + "id": 3960, "isConstant": false, "isLValue": false, "isPure": true, @@ -3725,13 +3905,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5237:10:6", + "src": "6281:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5230:17:6", + "src": "6274:17:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3745,21 +3925,21 @@ "typeString": "bool" } ], - "id": 670, + "id": 3956, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "5222:7:6", + "referencedDeclaration": 4882, + "src": "6266:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 676, + "id": 3962, "isConstant": false, "isLValue": false, "isPure": false, @@ -3767,15 +3947,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5222:26:6", + "src": "6266:26:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 677, + "id": 3963, "nodeType": "ExpressionStatement", - "src": "5222:26:6" + "src": "6266:26:49" }, { "expression": { @@ -3783,12 +3963,12 @@ "arguments": [ { "argumentTypes": null, - "id": 679, + "id": 3965, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 652, - "src": "5269:5:6", + "referencedDeclaration": 3938, + "src": "6313:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3796,12 +3976,12 @@ }, { "argumentTypes": null, - "id": 680, + "id": 3966, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "5276:8:6", + "referencedDeclaration": 3942, + "src": "6320:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3819,18 +3999,18 @@ "typeString": "uint256" } ], - "id": 678, + "id": 3964, "name": "clearApproval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 877, - "src": "5255:13:6", + "referencedDeclaration": 4156, + "src": "6299:13:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 681, + "id": 3967, "isConstant": false, "isLValue": false, "isPure": false, @@ -3838,15 +4018,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5255:30:6", + "src": "6299:30:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 682, + "id": 3968, "nodeType": "ExpressionStatement", - "src": "5255:30:6" + "src": "6299:30:49" }, { "expression": { @@ -3854,12 +4034,12 @@ "arguments": [ { "argumentTypes": null, - "id": 684, + "id": 3970, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 652, - "src": "5307:5:6", + "referencedDeclaration": 3938, + "src": "6351:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3867,12 +4047,12 @@ }, { "argumentTypes": null, - "id": 685, + "id": 3971, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "5314:8:6", + "referencedDeclaration": 3942, + "src": "6358:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3890,18 +4070,18 @@ "typeString": "uint256" } ], - "id": 683, + "id": 3969, "name": "removeTokenFrom", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 947, - "src": "5291:15:6", + "referencedDeclaration": 4226, + "src": "6335:15:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 686, + "id": 3972, "isConstant": false, "isLValue": false, "isPure": false, @@ -3909,15 +4089,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5291:32:6", + "src": "6335:32:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 687, + "id": 3973, "nodeType": "ExpressionStatement", - "src": "5291:32:6" + "src": "6335:32:49" }, { "expression": { @@ -3925,12 +4105,12 @@ "arguments": [ { "argumentTypes": null, - "id": 689, + "id": 3975, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 654, - "src": "5340:3:6", + "referencedDeclaration": 3940, + "src": "6384:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3938,12 +4118,12 @@ }, { "argumentTypes": null, - "id": 690, + "id": 3976, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "5345:8:6", + "referencedDeclaration": 3942, + "src": "6389:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3961,18 +4141,18 @@ "typeString": "uint256" } ], - "id": 688, + "id": 3974, "name": "addTokenTo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "5329:10:6", + "referencedDeclaration": 4191, + "src": "6373:10:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 691, + "id": 3977, "isConstant": false, "isLValue": false, "isPure": false, @@ -3980,15 +4160,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5329:25:6", + "src": "6373:25:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 692, + "id": 3978, "nodeType": "ExpressionStatement", - "src": "5329:25:6" + "src": "6373:25:49" }, { "eventCall": { @@ -3996,12 +4176,12 @@ "arguments": [ { "argumentTypes": null, - "id": 694, + "id": 3980, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 652, - "src": "5375:5:6", + "referencedDeclaration": 3938, + "src": "6419:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4009,12 +4189,12 @@ }, { "argumentTypes": null, - "id": 695, + "id": 3981, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 654, - "src": "5382:3:6", + "referencedDeclaration": 3940, + "src": "6426:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4022,12 +4202,12 @@ }, { "argumentTypes": null, - "id": 696, + "id": 3982, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "5387:8:6", + "referencedDeclaration": 3942, + "src": "6431:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4049,18 +4229,18 @@ "typeString": "uint256" } ], - "id": 693, + "id": 3979, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 306, - "src": "5366:8:6", + "referencedDeclaration": 3577, + "src": "6410:8:49", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 697, + "id": 3983, "isConstant": false, "isLValue": false, "isPure": false, @@ -4068,20 +4248,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5366:30:6", + "src": "6410:30:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 698, + "id": 3984, "nodeType": "EmitStatement", - "src": "5361:35:6" + "src": "6405:35:49" } ] }, - "documentation": "@dev Transfers the ownership of a given token ID to another address\n@dev Usage of this method is discouraged, use `safeTransferFrom` whenever possible\n@dev Requires the msg sender to be the owner, approved, or operator\n@param _from current owner of the token\n@param _to address to receive the ownership of the given token ID\n@param _tokenId uint256 ID of the token to be transferred", - "id": 700, + "documentation": "@dev Transfers the ownership of a given token ID to another address\nUsage of this method is discouraged, use `safeTransferFrom` whenever possible\nRequires the msg sender to be the owner, approved, or operator\n@param _from current owner of the token\n@param _to address to receive the ownership of the given token ID\n@param _tokenId uint256 ID of the token to be transferred", + "id": 3986, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -4090,49 +4270,49 @@ "arguments": [ { "argumentTypes": null, - "id": 659, + "id": 3945, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "5172:8:6", + "referencedDeclaration": 3942, + "src": "6214:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 660, + "id": 3946, "modifierName": { "argumentTypes": null, - "id": 658, + "id": 3944, "name": "canTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "5160:11:6", + "referencedDeclaration": 3747, + "src": "6202:11:49", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", "typeString": "modifier (uint256)" } }, "nodeType": "ModifierInvocation", - "src": "5160:21:6" + "src": "6202:21:49" } ], "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 657, + "id": 3943, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 652, + "id": 3938, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "5107:13:6", + "scope": 3986, + "src": "6130:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4140,10 +4320,10 @@ "typeString": "address" }, "typeName": { - "id": 651, + "id": 3937, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5107:7:6", + "src": "6130:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4154,11 +4334,11 @@ }, { "constant": false, - "id": 654, + "id": 3940, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "5122:11:6", + "scope": 3986, + "src": "6149:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4166,10 +4346,10 @@ "typeString": "address" }, "typeName": { - "id": 653, + "id": 3939, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5122:7:6", + "src": "6149:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4180,11 +4360,11 @@ }, { "constant": false, - "id": 656, + "id": 3942, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "5135:16:6", + "scope": 3986, + "src": "6166:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4192,10 +4372,10 @@ "typeString": "uint256" }, "typeName": { - "id": 655, + "id": 3941, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5135:7:6", + "src": "6166:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4205,26 +4385,26 @@ "visibility": "internal" } ], - "src": "5106:46:6" + "src": "6124:62:49" }, "payable": false, "returnParameters": { - "id": 661, + "id": 3947, "nodeType": "ParameterList", "parameters": [], - "src": "5182:0:6" + "src": "6226:0:49" }, - "scope": 986, - "src": "5085:316:6", + "scope": 4267, + "src": "6103:342:49", "stateMutability": "nonpayable", - "superFunction": 382, + "superFunction": 3653, "visibility": "public" }, { "body": { - "id": 719, + "id": 4005, "nodeType": "Block", - "src": "6144:98:6", + "src": "7188:98:49", "statements": [ { "expression": { @@ -4232,12 +4412,12 @@ "arguments": [ { "argumentTypes": null, - "id": 713, + "id": 3999, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 702, - "src": "6212:5:6", + "referencedDeclaration": 3988, + "src": "7256:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4245,12 +4425,12 @@ }, { "argumentTypes": null, - "id": 714, + "id": 4000, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 704, - "src": "6219:3:6", + "referencedDeclaration": 3990, + "src": "7263:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4258,12 +4438,12 @@ }, { "argumentTypes": null, - "id": 715, + "id": 4001, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 706, - "src": "6224:8:6", + "referencedDeclaration": 3992, + "src": "7268:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4272,14 +4452,14 @@ { "argumentTypes": null, "hexValue": "", - "id": 716, + "id": 4002, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6234:2:6", + "src": "7278:2:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", @@ -4307,21 +4487,21 @@ "typeString": "literal_string \"\"" } ], - "id": 712, + "id": 3998, "name": "safeTransferFrom", "nodeType": "Identifier", "overloadedDeclarations": [ - 720, - 750 + 4006, + 4036 ], - "referencedDeclaration": 750, - "src": "6195:16:6", + "referencedDeclaration": 4036, + "src": "7239:16:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,address,uint256,bytes memory)" } }, - "id": 717, + "id": 4003, "isConstant": false, "isLValue": false, "isPure": false, @@ -4329,20 +4509,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6195:42:6", + "src": "7239:42:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 718, + "id": 4004, "nodeType": "ExpressionStatement", - "src": "6195:42:6" + "src": "7239:42:49" } ] }, - "documentation": "@dev Safely transfers the ownership of a given token ID to another address\n@dev If the target address is a contract, it must implement `onERC721Received`,\n which is called upon a safe transfer, and return the magic value\n `bytes4(keccak256(\"onERC721Received(address,uint256,bytes)\"))`; otherwise,\n the transfer is reverted.\n@dev Requires the msg sender to be the owner, approved, or operator\n@param _from current owner of the token\n@param _to address to receive the ownership of the given token ID\n@param _tokenId uint256 ID of the token to be transferred", - "id": 720, + "documentation": "@dev Safely transfers the ownership of a given token ID to another address\nIf the target address is a contract, it must implement `onERC721Received`,\nwhich is called upon a safe transfer, and return the magic value\n`bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise,\nthe transfer is reverted.\n * Requires the msg sender to be the owner, approved, or operator\n@param _from current owner of the token\n@param _to address to receive the ownership of the given token ID\n@param _tokenId uint256 ID of the token to be transferred", + "id": 4006, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -4351,49 +4531,49 @@ "arguments": [ { "argumentTypes": null, - "id": 709, + "id": 3995, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 706, - "src": "6132:8:6", + "referencedDeclaration": 3992, + "src": "7176:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 710, + "id": 3996, "modifierName": { "argumentTypes": null, - "id": 708, + "id": 3994, "name": "canTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "6120:11:6", + "referencedDeclaration": 3747, + "src": "7164:11:49", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", "typeString": "modifier (uint256)" } }, "nodeType": "ModifierInvocation", - "src": "6120:21:6" + "src": "7164:21:49" } ], "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 707, + "id": 3993, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 702, + "id": 3988, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 720, - "src": "6048:13:6", + "scope": 4006, + "src": "7092:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4401,10 +4581,10 @@ "typeString": "address" }, "typeName": { - "id": 701, + "id": 3987, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6048:7:6", + "src": "7092:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4415,11 +4595,11 @@ }, { "constant": false, - "id": 704, + "id": 3990, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 720, - "src": "6067:11:6", + "scope": 4006, + "src": "7111:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4427,10 +4607,10 @@ "typeString": "address" }, "typeName": { - "id": 703, + "id": 3989, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6067:7:6", + "src": "7111:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4441,11 +4621,11 @@ }, { "constant": false, - "id": 706, + "id": 3992, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 720, - "src": "6084:16:6", + "scope": 4006, + "src": "7128:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4453,10 +4633,10 @@ "typeString": "uint256" }, "typeName": { - "id": 705, + "id": 3991, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6084:7:6", + "src": "7128:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4466,26 +4646,26 @@ "visibility": "internal" } ], - "src": "6042:62:6" + "src": "7086:62:49" }, "payable": false, "returnParameters": { - "id": 711, + "id": 3997, "nodeType": "ParameterList", "parameters": [], - "src": "6144:0:6" + "src": "7188:0:49" }, - "scope": 986, - "src": "6017:225:6", + "scope": 4267, + "src": "7061:225:49", "stateMutability": "nonpayable", - "superFunction": 391, + "superFunction": 3662, "visibility": "public" }, { "body": { - "id": 749, + "id": 4035, "nodeType": "Block", - "src": "7073:158:6", + "src": "8112:158:49", "statements": [ { "expression": { @@ -4493,12 +4673,12 @@ "arguments": [ { "argumentTypes": null, - "id": 735, + "id": 4021, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "7092:5:6", + "referencedDeclaration": 4008, + "src": "8131:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4506,12 +4686,12 @@ }, { "argumentTypes": null, - "id": 736, + "id": 4022, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "7099:3:6", + "referencedDeclaration": 4010, + "src": "8138:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4519,12 +4699,12 @@ }, { "argumentTypes": null, - "id": 737, + "id": 4023, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 726, - "src": "7104:8:6", + "referencedDeclaration": 4012, + "src": "8143:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4546,20 +4726,20 @@ "typeString": "uint256" } ], - "id": 734, + "id": 4020, "name": "transferFrom", "nodeType": "Identifier", "overloadedDeclarations": [ - 700 + 3986 ], - "referencedDeclaration": 700, - "src": "7079:12:6", + "referencedDeclaration": 3986, + "src": "8118:12:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 738, + "id": 4024, "isConstant": false, "isLValue": false, "isPure": false, @@ -4567,15 +4747,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7079:34:6", + "src": "8118:34:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 739, + "id": 4025, "nodeType": "ExpressionStatement", - "src": "7079:34:6" + "src": "8118:34:49" }, { "expression": { @@ -4586,12 +4766,12 @@ "arguments": [ { "argumentTypes": null, - "id": 742, + "id": 4028, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "7197:5:6", + "referencedDeclaration": 4008, + "src": "8236:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4599,12 +4779,12 @@ }, { "argumentTypes": null, - "id": 743, + "id": 4029, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "7204:3:6", + "referencedDeclaration": 4010, + "src": "8243:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4612,12 +4792,12 @@ }, { "argumentTypes": null, - "id": 744, + "id": 4030, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 726, - "src": "7209:8:6", + "referencedDeclaration": 4012, + "src": "8248:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4625,12 +4805,12 @@ }, { "argumentTypes": null, - "id": 745, + "id": 4031, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "7219:5:6", + "referencedDeclaration": 4014, + "src": "8258:5:49", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -4656,18 +4836,18 @@ "typeString": "bytes memory" } ], - "id": 741, + "id": 4027, "name": "checkAndCallSafeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 985, - "src": "7172:24:6", + "referencedDeclaration": 4266, + "src": "8211:24:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,address,uint256,bytes memory) returns (bool)" } }, - "id": 746, + "id": 4032, "isConstant": false, "isLValue": false, "isPure": false, @@ -4675,7 +4855,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7172:53:6", + "src": "8211:53:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4689,21 +4869,21 @@ "typeString": "bool" } ], - "id": 740, + "id": 4026, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "7164:7:6", + "referencedDeclaration": 4882, + "src": "8203:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 747, + "id": 4033, "isConstant": false, "isLValue": false, "isPure": false, @@ -4711,20 +4891,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7164:62:6", + "src": "8203:62:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 748, + "id": 4034, "nodeType": "ExpressionStatement", - "src": "7164:62:6" + "src": "8203:62:49" } ] }, - "documentation": "@dev Safely transfers the ownership of a given token ID to another address\n@dev If the target address is a contract, it must implement `onERC721Received`,\n which is called upon a safe transfer, and return the magic value\n `bytes4(keccak256(\"onERC721Received(address,uint256,bytes)\"))`; otherwise,\n the transfer is reverted.\n@dev Requires the msg sender to be the owner, approved, or operator\n@param _from current owner of the token\n@param _to address to receive the ownership of the given token ID\n@param _tokenId uint256 ID of the token to be transferred\n@param _data bytes data to send along with a safe transfer check", - "id": 750, + "documentation": "@dev Safely transfers the ownership of a given token ID to another address\nIf the target address is a contract, it must implement `onERC721Received`,\nwhich is called upon a safe transfer, and return the magic value\n`bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise,\nthe transfer is reverted.\nRequires the msg sender to be the owner, approved, or operator\n@param _from current owner of the token\n@param _to address to receive the ownership of the given token ID\n@param _tokenId uint256 ID of the token to be transferred\n@param _data bytes data to send along with a safe transfer check", + "id": 4036, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -4733,49 +4913,49 @@ "arguments": [ { "argumentTypes": null, - "id": 731, + "id": 4017, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 726, - "src": "7061:8:6", + "referencedDeclaration": 4012, + "src": "8100:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 732, + "id": 4018, "modifierName": { "argumentTypes": null, - "id": 730, + "id": 4016, "name": "canTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "7049:11:6", + "referencedDeclaration": 3747, + "src": "8088:11:49", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", "typeString": "modifier (uint256)" } }, "nodeType": "ModifierInvocation", - "src": "7049:21:6" + "src": "8088:21:49" } ], "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 729, + "id": 4015, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 722, + "id": 4008, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 750, - "src": "6960:13:6", + "scope": 4036, + "src": "7999:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4783,10 +4963,10 @@ "typeString": "address" }, "typeName": { - "id": 721, + "id": 4007, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6960:7:6", + "src": "7999:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4797,11 +4977,11 @@ }, { "constant": false, - "id": 724, + "id": 4010, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 750, - "src": "6979:11:6", + "scope": 4036, + "src": "8018:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4809,10 +4989,10 @@ "typeString": "address" }, "typeName": { - "id": 723, + "id": 4009, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6979:7:6", + "src": "8018:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4823,11 +5003,11 @@ }, { "constant": false, - "id": 726, + "id": 4012, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 750, - "src": "6996:16:6", + "scope": 4036, + "src": "8035:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4835,10 +5015,10 @@ "typeString": "uint256" }, "typeName": { - "id": 725, + "id": 4011, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6996:7:6", + "src": "8035:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4849,11 +5029,11 @@ }, { "constant": false, - "id": 728, + "id": 4014, "name": "_data", "nodeType": "VariableDeclaration", - "scope": 750, - "src": "7018:11:6", + "scope": 4036, + "src": "8057:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4861,10 +5041,10 @@ "typeString": "bytes" }, "typeName": { - "id": 727, + "id": 4013, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7018:5:6", + "src": "8057:5:49", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4874,39 +5054,39 @@ "visibility": "internal" } ], - "src": "6954:79:6" + "src": "7993:79:49" }, "payable": false, "returnParameters": { - "id": 733, + "id": 4019, "nodeType": "ParameterList", "parameters": [], - "src": "7073:0:6" + "src": "8112:0:49" }, - "scope": 986, - "src": "6929:302:6", + "scope": 4267, + "src": "7968:302:49", "stateMutability": "nonpayable", - "superFunction": 402, + "superFunction": 3673, "visibility": "public" }, { "body": { - "id": 780, + "id": 4067, "nodeType": "Block", - "src": "7670:148:6", + "src": "8735:320:49", "statements": [ { "assignments": [ - 760 + 4046 ], "declarations": [ { "constant": false, - "id": 760, + "id": 4046, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 781, - "src": "7676:13:6", + "scope": 4068, + "src": "8741:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4914,10 +5094,10 @@ "typeString": "address" }, "typeName": { - "id": 759, + "id": 4045, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7676:7:6", + "src": "8741:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4927,18 +5107,18 @@ "visibility": "internal" } ], - "id": 764, + "id": 4050, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 762, + "id": 4048, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7700:8:6", + "referencedDeclaration": 4040, + "src": "8765:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4952,20 +5132,20 @@ "typeString": "uint256" } ], - "id": 761, + "id": 4047, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 511 + 3812 ], - "referencedDeclaration": 511, - "src": "7692:7:6", + "referencedDeclaration": 3812, + "src": "8757:7:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 763, + "id": 4049, "isConstant": false, "isLValue": false, "isPure": false, @@ -4973,134 +5153,234 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7692:17:6", + "src": "8757:17:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "7676:33:6" + "src": "8741:33:49" }, { "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "components": [ + { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "id": 767, + "id": 4064, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 765, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "7722:8:6", + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4051, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4038, + "src": "8941:8:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 4052, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4046, + "src": "8953:5:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8941:17:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4055, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "8980:8:49", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4054, + "name": "getApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3889 + ], + "referencedDeclaration": 3889, + "src": "8968:11:49", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 4056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8968:21:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 4057, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4038, + "src": "8993:8:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8968:33:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8941:60:49", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "nodeType": "BinaryOperation", - "operator": "==", + "operator": "||", "rightExpression": { - "argumentTypes": null, - "id": 766, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 760, - "src": "7734:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7722:17:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 769, - "name": "_tokenId", + "id": 4061, + "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7755:8:6", + "referencedDeclaration": 4046, + "src": "9028:5:49", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4062, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4038, + "src": "9035:8:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 768, - "name": "getApproved", + "id": 4060, + "name": "isApprovedForAll", "nodeType": "Identifier", "overloadedDeclarations": [ - 603 + 3936 ], - "referencedDeclaration": 603, - "src": "7743:11:6", + "referencedDeclaration": 3936, + "src": "9011:16:49", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" } }, - "id": 770, + "id": 4063, "isConstant": false, "isLValue": false, "isPure": false, @@ -5108,124 +5388,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7743:21:6", + "src": "9011:33:49", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 771, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "7768:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7743:33:6", + "src": "8941:103:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } - }, - "src": "7722:54:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 775, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 760, - "src": "7797:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 776, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "7804:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 774, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 650 - ], - "referencedDeclaration": 650, - "src": "7780:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7780:33:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7722:91:6", + ], + "id": 4065, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8933:117:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 758, - "id": 779, + "functionReturnParameters": 4044, + "id": 4066, "nodeType": "Return", - "src": "7715:98:6" + "src": "8926:124:49" } ] }, "documentation": "@dev Returns whether the given spender can transfer a given token ID\n@param _spender address of the spender to query\n@param _tokenId uint256 ID of the token to be transferred\n@return bool whether the msg.sender is approved for the given token ID,\n is an operator of the owner, or is the owner of the token", - "id": 781, + "id": 4068, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -5233,16 +5430,16 @@ "name": "isApprovedOrOwner", "nodeType": "FunctionDefinition", "parameters": { - "id": 755, + "id": 4041, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 752, + "id": 4038, "name": "_spender", "nodeType": "VariableDeclaration", - "scope": 781, - "src": "7605:16:6", + "scope": 4068, + "src": "8649:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5250,10 +5447,10 @@ "typeString": "address" }, "typeName": { - "id": 751, + "id": 4037, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7605:7:6", + "src": "8649:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5264,11 +5461,11 @@ }, { "constant": false, - "id": 754, + "id": 4040, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 781, - "src": "7623:16:6", + "scope": 4068, + "src": "8671:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5276,10 +5473,10 @@ "typeString": "uint256" }, "typeName": { - "id": 753, + "id": 4039, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7623:7:6", + "src": "8671:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5289,20 +5486,20 @@ "visibility": "internal" } ], - "src": "7604:36:6" + "src": "8643:48:49" }, "payable": false, "returnParameters": { - "id": 758, + "id": 4044, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 757, + "id": 4043, "name": "", "nodeType": "VariableDeclaration", - "scope": 781, - "src": "7664:4:6", + "scope": 4068, + "src": "8727:4:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5310,10 +5507,10 @@ "typeString": "bool" }, "typeName": { - "id": 756, + "id": 4042, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7664:4:6", + "src": "8727:4:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5323,19 +5520,19 @@ "visibility": "internal" } ], - "src": "7663:6:6" + "src": "8726:6:49" }, - "scope": 986, - "src": "7578:240:6", + "scope": 4267, + "src": "8617:438:49", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 809, + "id": 4096, "nodeType": "Block", - "src": "8127:114:6", + "src": "9359:114:49", "statements": [ { "expression": { @@ -5347,19 +5544,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 793, + "id": 4080, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 789, + "id": 4076, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "8141:3:6", + "referencedDeclaration": 4070, + "src": "9373:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5373,14 +5570,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 791, + "id": 4078, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8156:1:6", + "src": "9388:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5396,20 +5593,20 @@ "typeString": "int_const 0" } ], - "id": 790, + "id": 4077, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8148:7:6", + "src": "9380:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 792, + "id": 4079, "isConstant": false, "isLValue": false, "isPure": true, @@ -5417,13 +5614,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8148:10:6", + "src": "9380:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "8141:17:6", + "src": "9373:17:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5437,21 +5634,21 @@ "typeString": "bool" } ], - "id": 788, + "id": 4075, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "8133:7:6", + "referencedDeclaration": 4882, + "src": "9365:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 794, + "id": 4081, "isConstant": false, "isLValue": false, "isPure": false, @@ -5459,15 +5656,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8133:26:6", + "src": "9365:26:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 795, + "id": 4082, "nodeType": "ExpressionStatement", - "src": "8133:26:6" + "src": "9365:26:49" }, { "expression": { @@ -5475,12 +5672,12 @@ "arguments": [ { "argumentTypes": null, - "id": 797, + "id": 4084, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "8176:3:6", + "referencedDeclaration": 4070, + "src": "9408:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5488,12 +5685,12 @@ }, { "argumentTypes": null, - "id": 798, + "id": 4085, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "8181:8:6", + "referencedDeclaration": 4072, + "src": "9413:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5511,18 +5708,18 @@ "typeString": "uint256" } ], - "id": 796, + "id": 4083, "name": "addTokenTo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "8165:10:6", + "referencedDeclaration": 4191, + "src": "9397:10:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 799, + "id": 4086, "isConstant": false, "isLValue": false, "isPure": false, @@ -5530,15 +5727,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8165:25:6", + "src": "9397:25:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 800, + "id": 4087, "nodeType": "ExpressionStatement", - "src": "8165:25:6" + "src": "9397:25:49" }, { "eventCall": { @@ -5550,14 +5747,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 803, + "id": 4090, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8218:1:6", + "src": "9450:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5573,20 +5770,20 @@ "typeString": "int_const 0" } ], - "id": 802, + "id": 4089, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8210:7:6", + "src": "9442:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 804, + "id": 4091, "isConstant": false, "isLValue": false, "isPure": true, @@ -5594,7 +5791,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8210:10:6", + "src": "9442:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5602,12 +5799,12 @@ }, { "argumentTypes": null, - "id": 805, + "id": 4092, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "8222:3:6", + "referencedDeclaration": 4070, + "src": "9454:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5615,12 +5812,12 @@ }, { "argumentTypes": null, - "id": 806, + "id": 4093, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "8227:8:6", + "referencedDeclaration": 4072, + "src": "9459:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5642,18 +5839,18 @@ "typeString": "uint256" } ], - "id": 801, + "id": 4088, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 306, - "src": "8201:8:6", + "referencedDeclaration": 3577, + "src": "9433:8:49", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 807, + "id": 4094, "isConstant": false, "isLValue": false, "isPure": false, @@ -5661,20 +5858,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8201:35:6", + "src": "9433:35:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 808, + "id": 4095, "nodeType": "EmitStatement", - "src": "8196:40:6" + "src": "9428:40:49" } ] }, - "documentation": "@dev Internal function to mint a new token\n@dev Reverts if the given token ID already exists\n@param _to The address that will own the minted token\n@param _tokenId uint256 ID of the token to be minted by the msg.sender", - "id": 810, + "documentation": "@dev Internal function to mint a new token\nReverts if the given token ID already exists\n@param _to The address that will own the minted token\n@param _tokenId uint256 ID of the token to be minted by the msg.sender", + "id": 4097, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5682,16 +5879,16 @@ "name": "_mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 786, + "id": 4073, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 783, + "id": 4070, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 810, - "src": "8087:11:6", + "scope": 4097, + "src": "9319:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5699,10 +5896,10 @@ "typeString": "address" }, "typeName": { - "id": 782, + "id": 4069, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8087:7:6", + "src": "9319:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5713,11 +5910,11 @@ }, { "constant": false, - "id": 785, + "id": 4072, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 810, - "src": "8100:16:6", + "scope": 4097, + "src": "9332:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5725,10 +5922,10 @@ "typeString": "uint256" }, "typeName": { - "id": 784, + "id": 4071, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8100:7:6", + "src": "9332:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5738,26 +5935,26 @@ "visibility": "internal" } ], - "src": "8086:31:6" + "src": "9318:31:49" }, "payable": false, "returnParameters": { - "id": 787, + "id": 4074, "nodeType": "ParameterList", "parameters": [], - "src": "8127:0:6" + "src": "9359:0:49" }, - "scope": 986, - "src": "8072:169:6", + "scope": 4267, + "src": "9304:169:49", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 835, + "id": 4122, "nodeType": "Block", - "src": "8490:130:6", + "src": "9717:130:49", "statements": [ { "expression": { @@ -5765,12 +5962,12 @@ "arguments": [ { "argumentTypes": null, - "id": 818, + "id": 4105, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "8510:6:6", + "referencedDeclaration": 4099, + "src": "9737:6:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5778,12 +5975,12 @@ }, { "argumentTypes": null, - "id": 819, + "id": 4106, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "8518:8:6", + "referencedDeclaration": 4101, + "src": "9745:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5801,18 +5998,18 @@ "typeString": "uint256" } ], - "id": 817, + "id": 4104, "name": "clearApproval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 877, - "src": "8496:13:6", + "referencedDeclaration": 4156, + "src": "9723:13:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 820, + "id": 4107, "isConstant": false, "isLValue": false, "isPure": false, @@ -5820,15 +6017,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8496:31:6", + "src": "9723:31:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 821, + "id": 4108, "nodeType": "ExpressionStatement", - "src": "8496:31:6" + "src": "9723:31:49" }, { "expression": { @@ -5836,12 +6033,12 @@ "arguments": [ { "argumentTypes": null, - "id": 823, + "id": 4110, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "8549:6:6", + "referencedDeclaration": 4099, + "src": "9776:6:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5849,12 +6046,12 @@ }, { "argumentTypes": null, - "id": 824, + "id": 4111, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "8557:8:6", + "referencedDeclaration": 4101, + "src": "9784:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5872,18 +6069,18 @@ "typeString": "uint256" } ], - "id": 822, + "id": 4109, "name": "removeTokenFrom", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 947, - "src": "8533:15:6", + "referencedDeclaration": 4226, + "src": "9760:15:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 825, + "id": 4112, "isConstant": false, "isLValue": false, "isPure": false, @@ -5891,15 +6088,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8533:33:6", + "src": "9760:33:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 826, + "id": 4113, "nodeType": "ExpressionStatement", - "src": "8533:33:6" + "src": "9760:33:49" }, { "eventCall": { @@ -5907,12 +6104,12 @@ "arguments": [ { "argumentTypes": null, - "id": 828, + "id": 4115, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "8586:6:6", + "referencedDeclaration": 4099, + "src": "9813:6:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5924,14 +6121,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 830, + "id": 4117, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8602:1:6", + "src": "9829:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5947,20 +6144,20 @@ "typeString": "int_const 0" } ], - "id": 829, + "id": 4116, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8594:7:6", + "src": "9821:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 831, + "id": 4118, "isConstant": false, "isLValue": false, "isPure": true, @@ -5968,7 +6165,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8594:10:6", + "src": "9821:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5976,12 +6173,12 @@ }, { "argumentTypes": null, - "id": 832, + "id": 4119, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "8606:8:6", + "referencedDeclaration": 4101, + "src": "9833:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6003,18 +6200,18 @@ "typeString": "uint256" } ], - "id": 827, + "id": 4114, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 306, - "src": "8577:8:6", + "referencedDeclaration": 3577, + "src": "9804:8:49", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 833, + "id": 4120, "isConstant": false, "isLValue": false, "isPure": false, @@ -6022,20 +6219,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8577:38:6", + "src": "9804:38:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 834, + "id": 4121, "nodeType": "EmitStatement", - "src": "8572:43:6" + "src": "9799:43:49" } ] }, - "documentation": "@dev Internal function to burn a specific token\n@dev Reverts if the token does not exist\n@param _tokenId uint256 ID of the token being burned by the msg.sender", - "id": 836, + "documentation": "@dev Internal function to burn a specific token\nReverts if the token does not exist\n@param _tokenId uint256 ID of the token being burned by the msg.sender", + "id": 4123, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6043,16 +6240,16 @@ "name": "_burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 815, + "id": 4102, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 812, + "id": 4099, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 836, - "src": "8447:14:6", + "scope": 4123, + "src": "9674:14:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6060,10 +6257,10 @@ "typeString": "address" }, "typeName": { - "id": 811, + "id": 4098, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8447:7:6", + "src": "9674:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6074,11 +6271,11 @@ }, { "constant": false, - "id": 814, + "id": 4101, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 836, - "src": "8463:16:6", + "scope": 4123, + "src": "9690:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6086,10 +6283,10 @@ "typeString": "uint256" }, "typeName": { - "id": 813, + "id": 4100, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8463:7:6", + "src": "9690:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6099,26 +6296,26 @@ "visibility": "internal" } ], - "src": "8446:34:6" + "src": "9673:34:49" }, "payable": false, "returnParameters": { - "id": 816, + "id": 4103, "nodeType": "ParameterList", "parameters": [], - "src": "8490:0:6" + "src": "9717:0:49" }, - "scope": 986, - "src": "8432:188:6", + "scope": 4267, + "src": "9659:188:49", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 876, + "id": 4155, "nodeType": "Block", - "src": "8953:199:6", + "src": "10175:148:49", "statements": [ { "expression": { @@ -6130,7 +6327,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 848, + "id": 4135, "isConstant": false, "isLValue": false, "isPure": false, @@ -6140,12 +6337,12 @@ "arguments": [ { "argumentTypes": null, - "id": 845, + "id": 4132, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 840, - "src": "8975:8:6", + "referencedDeclaration": 4127, + "src": "10197:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6159,20 +6356,20 @@ "typeString": "uint256" } ], - "id": 844, + "id": 4131, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 511 + 3812 ], - "referencedDeclaration": 511, - "src": "8967:7:6", + "referencedDeclaration": 3812, + "src": "10189:7:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 846, + "id": 4133, "isConstant": false, "isLValue": false, "isPure": false, @@ -6180,7 +6377,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8967:17:6", + "src": "10189:17:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6190,18 +6387,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 847, + "id": 4134, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "8988:6:6", + "referencedDeclaration": 4125, + "src": "10210:6:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "8967:27:6", + "src": "10189:27:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6215,21 +6412,21 @@ "typeString": "bool" } ], - "id": 843, + "id": 4130, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "8959:7:6", + "referencedDeclaration": 4882, + "src": "10181:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 849, + "id": 4136, "isConstant": false, "isLValue": false, "isPure": false, @@ -6237,15 +6434,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8959:36:6", + "src": "10181:36:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 850, + "id": 4137, "nodeType": "ExpressionStatement", - "src": "8959:36:6" + "src": "10181:36:49" }, { "condition": { @@ -6254,7 +6451,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 857, + "id": 4144, "isConstant": false, "isLValue": false, "isPure": false, @@ -6263,26 +6460,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 851, + "id": 4138, "name": "tokenApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "9005:14:6", + "referencedDeclaration": 3708, + "src": "10227:14:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 853, + "id": 4140, "indexExpression": { "argumentTypes": null, - "id": 852, + "id": 4139, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 840, - "src": "9020:8:6", + "referencedDeclaration": 4127, + "src": "10242:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6293,7 +6490,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9005:24:6", + "src": "10227:24:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6307,14 +6504,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 855, + "id": 4142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9041:1:6", + "src": "10263:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6330,20 +6527,20 @@ "typeString": "int_const 0" } ], - "id": 854, + "id": 4141, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9033:7:6", + "src": "10255:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 856, + "id": 4143, "isConstant": false, "isLValue": false, "isPure": true, @@ -6351,31 +6548,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9033:10:6", + "src": "10255:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "9005:38:6", + "src": "10227:38:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 875, + "id": 4154, "nodeType": "IfStatement", - "src": "9001:147:6", + "src": "10223:96:49", "trueBody": { - "id": 874, + "id": 4153, "nodeType": "Block", - "src": "9045:103:6", + "src": "10267:52:49", "statements": [ { "expression": { "argumentTypes": null, - "id": 864, + "id": 4151, "isConstant": false, "isLValue": false, "isPure": false, @@ -6384,26 +6581,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 858, + "id": 4145, "name": "tokenApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "9053:14:6", + "referencedDeclaration": 3708, + "src": "10275:14:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 860, + "id": 4147, "indexExpression": { "argumentTypes": null, - "id": 859, + "id": 4146, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 840, - "src": "9068:8:6", + "referencedDeclaration": 4127, + "src": "10290:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6414,7 +6611,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9053:24:6", + "src": "10275:24:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6428,14 +6625,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 862, + "id": 4149, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9088:1:6", + "src": "10310:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6451,20 +6648,20 @@ "typeString": "int_const 0" } ], - "id": 861, + "id": 4148, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9080:7:6", + "src": "10302:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 863, + "id": 4150, "isConstant": false, "isLValue": false, "isPure": true, @@ -6472,160 +6669,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9080:10:6", + "src": "10302:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "9053:37:6", + "src": "10275:37:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 865, + "id": 4152, "nodeType": "ExpressionStatement", - "src": "9053:37:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 867, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "9112:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 869, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9128:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9120:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 870, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9120:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 871, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 840, - "src": "9132:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 866, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 314, - "src": "9103:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9103:38:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 873, - "nodeType": "EmitStatement", - "src": "9098:43:6" + "src": "10275:37:49" } ] } } ] }, - "documentation": "@dev Internal function to clear current approval of a given token ID\n@dev Reverts if the given address is not indeed the owner of the token\n@param _owner owner of the token\n@param _tokenId uint256 ID of the token to be transferred", - "id": 877, + "documentation": "@dev Internal function to clear current approval of a given token ID\nReverts if the given address is not indeed the owner of the token\n@param _owner owner of the token\n@param _tokenId uint256 ID of the token to be transferred", + "id": 4156, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6633,16 +6699,16 @@ "name": "clearApproval", "nodeType": "FunctionDefinition", "parameters": { - "id": 841, + "id": 4128, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 838, + "id": 4125, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 877, - "src": "8910:14:6", + "scope": 4156, + "src": "10132:14:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6650,10 +6716,10 @@ "typeString": "address" }, "typeName": { - "id": 837, + "id": 4124, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8910:7:6", + "src": "10132:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6664,11 +6730,11 @@ }, { "constant": false, - "id": 840, + "id": 4127, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 877, - "src": "8926:16:6", + "scope": 4156, + "src": "10148:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6676,10 +6742,10 @@ "typeString": "uint256" }, "typeName": { - "id": 839, + "id": 4126, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8926:7:6", + "src": "10148:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6689,26 +6755,26 @@ "visibility": "internal" } ], - "src": "8909:34:6" + "src": "10131:34:49" }, "payable": false, "returnParameters": { - "id": 842, + "id": 4129, "nodeType": "ParameterList", "parameters": [], - "src": "8953:0:6" + "src": "10175:0:49" }, - "scope": 986, - "src": "8887:265:6", + "scope": 4267, + "src": "10109:214:49", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 911, + "id": 4190, "nodeType": "Block", - "src": "9475:144:6", + "src": "10646:144:49", "statements": [ { "expression": { @@ -6720,7 +6786,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 891, + "id": 4170, "isConstant": false, "isLValue": false, "isPure": false, @@ -6729,26 +6795,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 885, + "id": 4164, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "9489:10:6", + "referencedDeclaration": 3704, + "src": "10660:10:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 887, + "id": 4166, "indexExpression": { "argumentTypes": null, - "id": 886, + "id": 4165, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "9500:8:6", + "referencedDeclaration": 4160, + "src": "10671:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6759,7 +6825,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9489:20:6", + "src": "10660:20:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6773,14 +6839,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 889, + "id": 4168, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9521:1:6", + "src": "10692:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6796,20 +6862,20 @@ "typeString": "int_const 0" } ], - "id": 888, + "id": 4167, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9513:7:6", + "src": "10684:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 890, + "id": 4169, "isConstant": false, "isLValue": false, "isPure": true, @@ -6817,13 +6883,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9513:10:6", + "src": "10684:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "9489:34:6", + "src": "10660:34:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6837,21 +6903,21 @@ "typeString": "bool" } ], - "id": 884, + "id": 4163, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "9481:7:6", + "referencedDeclaration": 4882, + "src": "10652:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 892, + "id": 4171, "isConstant": false, "isLValue": false, "isPure": false, @@ -6859,20 +6925,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9481:43:6", + "src": "10652:43:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 893, + "id": 4172, "nodeType": "ExpressionStatement", - "src": "9481:43:6" + "src": "10652:43:49" }, { "expression": { "argumentTypes": null, - "id": 898, + "id": 4177, "isConstant": false, "isLValue": false, "isPure": false, @@ -6881,26 +6947,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 894, + "id": 4173, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "9530:10:6", + "referencedDeclaration": 3704, + "src": "10701:10:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 896, + "id": 4175, "indexExpression": { "argumentTypes": null, - "id": 895, + "id": 4174, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "9541:8:6", + "referencedDeclaration": 4160, + "src": "10712:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6911,7 +6977,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9530:20:6", + "src": "10701:20:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6921,31 +6987,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 897, + "id": 4176, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9553:3:6", + "referencedDeclaration": 4158, + "src": "10724:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "9530:26:6", + "src": "10701:26:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 899, + "id": 4178, "nodeType": "ExpressionStatement", - "src": "9530:26:6" + "src": "10701:26:49" }, { "expression": { "argumentTypes": null, - "id": 909, + "id": 4188, "isConstant": false, "isLValue": false, "isPure": false, @@ -6954,26 +7020,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 900, + "id": 4179, "name": "ownedTokensCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "9562:16:6", + "referencedDeclaration": 3712, + "src": "10733:16:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 902, + "id": 4181, "indexExpression": { "argumentTypes": null, - "id": 901, + "id": 4180, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9579:3:6", + "referencedDeclaration": 4158, + "src": "10750:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6984,7 +7050,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9562:21:6", + "src": "10733:21:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6998,14 +7064,14 @@ { "argumentTypes": null, "hexValue": "31", - "id": 907, + "id": 4186, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9612:1:6", + "src": "10783:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -7025,26 +7091,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 903, + "id": 4182, "name": "ownedTokensCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "9586:16:6", + "referencedDeclaration": 3712, + "src": "10757:16:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 905, + "id": 4184, "indexExpression": { "argumentTypes": null, - "id": 904, + "id": 4183, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9603:3:6", + "referencedDeclaration": 4158, + "src": "10774:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7055,27 +7121,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9586:21:6", + "src": "10757:21:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 906, + "id": 4185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 111, - "src": "9586:25:6", + "referencedDeclaration": 578, + "src": "10757:25:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 908, + "id": 4187, "isConstant": false, "isLValue": false, "isPure": false, @@ -7083,26 +7149,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9586:28:6", + "src": "10757:28:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9562:52:6", + "src": "10733:52:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 910, + "id": 4189, "nodeType": "ExpressionStatement", - "src": "9562:52:6" + "src": "10733:52:49" } ] }, "documentation": "@dev Internal function to add a token ID to the list of a given address\n@param _to address representing the new owner of the given token ID\n@param _tokenId uint256 ID of the token to be added to the tokens list of the given address", - "id": 912, + "id": 4191, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -7110,16 +7176,16 @@ "name": "addTokenTo", "nodeType": "FunctionDefinition", "parameters": { - "id": 882, + "id": 4161, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 879, + "id": 4158, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 912, - "src": "9435:11:6", + "scope": 4191, + "src": "10606:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7127,10 +7193,10 @@ "typeString": "address" }, "typeName": { - "id": 878, + "id": 4157, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9435:7:6", + "src": "10606:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7141,11 +7207,11 @@ }, { "constant": false, - "id": 881, + "id": 4160, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 912, - "src": "9448:16:6", + "scope": 4191, + "src": "10619:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7153,10 +7219,10 @@ "typeString": "uint256" }, "typeName": { - "id": 880, + "id": 4159, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9448:7:6", + "src": "10619:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7166,26 +7232,26 @@ "visibility": "internal" } ], - "src": "9434:31:6" + "src": "10605:31:49" }, "payable": false, "returnParameters": { - "id": 883, + "id": 4162, "nodeType": "ParameterList", "parameters": [], - "src": "9475:0:6" + "src": "10646:0:49" }, - "scope": 986, - "src": "9415:204:6", + "scope": 4267, + "src": "10586:204:49", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 946, + "id": 4225, "nodeType": "Block", - "src": "9965:147:6", + "src": "11136:147:49", "statements": [ { "expression": { @@ -7197,7 +7263,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 924, + "id": 4203, "isConstant": false, "isLValue": false, "isPure": false, @@ -7207,12 +7273,12 @@ "arguments": [ { "argumentTypes": null, - "id": 921, + "id": 4200, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 916, - "src": "9987:8:6", + "referencedDeclaration": 4195, + "src": "11158:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7226,20 +7292,20 @@ "typeString": "uint256" } ], - "id": 920, + "id": 4199, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 511 + 3812 ], - "referencedDeclaration": 511, - "src": "9979:7:6", + "referencedDeclaration": 3812, + "src": "11150:7:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 922, + "id": 4201, "isConstant": false, "isLValue": false, "isPure": false, @@ -7247,7 +7313,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9979:17:6", + "src": "11150:17:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7257,18 +7323,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 923, + "id": 4202, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 914, - "src": "10000:5:6", + "referencedDeclaration": 4193, + "src": "11171:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "9979:26:6", + "src": "11150:26:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7282,21 +7348,21 @@ "typeString": "bool" } ], - "id": 919, + "id": 4198, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "9971:7:6", + "referencedDeclaration": 4882, + "src": "11142:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 925, + "id": 4204, "isConstant": false, "isLValue": false, "isPure": false, @@ -7304,20 +7370,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9971:35:6", + "src": "11142:35:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 926, + "id": 4205, "nodeType": "ExpressionStatement", - "src": "9971:35:6" + "src": "11142:35:49" }, { "expression": { "argumentTypes": null, - "id": 936, + "id": 4215, "isConstant": false, "isLValue": false, "isPure": false, @@ -7326,26 +7392,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 927, + "id": 4206, "name": "ownedTokensCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "10012:16:6", + "referencedDeclaration": 3712, + "src": "11183:16:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 929, + "id": 4208, "indexExpression": { "argumentTypes": null, - "id": 928, + "id": 4207, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 914, - "src": "10029:5:6", + "referencedDeclaration": 4193, + "src": "11200:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7356,7 +7422,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "10012:23:6", + "src": "11183:23:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7370,14 +7436,14 @@ { "argumentTypes": null, "hexValue": "31", - "id": 934, + "id": 4213, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10066:1:6", + "src": "11237:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -7397,26 +7463,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 930, + "id": 4209, "name": "ownedTokensCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "10038:16:6", + "referencedDeclaration": 3712, + "src": "11209:16:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 932, + "id": 4211, "indexExpression": { "argumentTypes": null, - "id": 931, + "id": 4210, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 914, - "src": "10055:5:6", + "referencedDeclaration": 4193, + "src": "11226:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7427,27 +7493,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10038:23:6", + "src": "11209:23:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 933, + "id": 4212, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "10038:27:6", + "referencedDeclaration": 554, + "src": "11209:27:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 935, + "id": 4214, "isConstant": false, "isLValue": false, "isPure": false, @@ -7455,26 +7521,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10038:30:6", + "src": "11209:30:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10012:56:6", + "src": "11183:56:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 937, + "id": 4216, "nodeType": "ExpressionStatement", - "src": "10012:56:6" + "src": "11183:56:49" }, { "expression": { "argumentTypes": null, - "id": 944, + "id": 4223, "isConstant": false, "isLValue": false, "isPure": false, @@ -7483,26 +7549,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 938, + "id": 4217, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "10074:10:6", + "referencedDeclaration": 3704, + "src": "11245:10:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 940, + "id": 4219, "indexExpression": { "argumentTypes": null, - "id": 939, + "id": 4218, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 916, - "src": "10085:8:6", + "referencedDeclaration": 4195, + "src": "11256:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7513,7 +7579,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "10074:20:6", + "src": "11245:20:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7527,14 +7593,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 942, + "id": 4221, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10105:1:6", + "src": "11276:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7550,20 +7616,20 @@ "typeString": "int_const 0" } ], - "id": 941, + "id": 4220, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "10097:7:6", + "src": "11268:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 943, + "id": 4222, "isConstant": false, "isLValue": false, "isPure": true, @@ -7571,26 +7637,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10097:10:6", + "src": "11268:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "10074:33:6", + "src": "11245:33:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 945, + "id": 4224, "nodeType": "ExpressionStatement", - "src": "10074:33:6" + "src": "11245:33:49" } ] }, "documentation": "@dev Internal function to remove a token ID from the list of a given address\n@param _from address representing the previous owner of the given token ID\n@param _tokenId uint256 ID of the token to be removed from the tokens list of the given address", - "id": 947, + "id": 4226, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -7598,16 +7664,16 @@ "name": "removeTokenFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 917, + "id": 4196, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 914, + "id": 4193, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 947, - "src": "9923:13:6", + "scope": 4226, + "src": "11094:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7615,10 +7681,10 @@ "typeString": "address" }, "typeName": { - "id": 913, + "id": 4192, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9923:7:6", + "src": "11094:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7629,11 +7695,11 @@ }, { "constant": false, - "id": 916, + "id": 4195, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 947, - "src": "9938:16:6", + "scope": 4226, + "src": "11109:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7641,10 +7707,10 @@ "typeString": "uint256" }, "typeName": { - "id": 915, + "id": 4194, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9938:7:6", + "src": "11109:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7654,31 +7720,31 @@ "visibility": "internal" } ], - "src": "9922:33:6" + "src": "11093:33:49" }, "payable": false, "returnParameters": { - "id": 918, + "id": 4197, "nodeType": "ParameterList", "parameters": [], - "src": "9965:0:6" + "src": "11136:0:49" }, - "scope": 986, - "src": "9898:214:6", + "scope": 4267, + "src": "11069:214:49", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 984, + "id": 4265, "nodeType": "Block", - "src": "10770:181:6", + "src": "11936:200:49", "statements": [ { "condition": { "argumentTypes": null, - "id": 963, + "id": 4242, "isConstant": false, "isLValue": false, "isPure": false, @@ -7686,7 +7752,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "10780:17:6", + "src": "11946:17:49", "subExpression": { "argumentTypes": null, "arguments": [], @@ -7694,18 +7760,18 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 960, + "id": 4239, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 951, - "src": "10781:3:6", + "referencedDeclaration": 4230, + "src": "11947:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 961, + "id": 4240, "isConstant": false, "isLValue": false, "isPure": false, @@ -7713,13 +7779,13 @@ "memberName": "isContract", "nodeType": "MemberAccess", "referencedDeclaration": 17, - "src": "10781:14:6", + "src": "11947:14:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", "typeString": "function (address) view returns (bool)" } }, - "id": 962, + "id": 4241, "isConstant": false, "isLValue": false, "isPure": false, @@ -7727,7 +7793,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10781:16:6", + "src": "11947:16:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7739,26 +7805,26 @@ } }, "falseBody": null, - "id": 967, + "id": 4246, "nodeType": "IfStatement", - "src": "10776:49:6", + "src": "11942:49:49", "trueBody": { - "id": 966, + "id": 4245, "nodeType": "Block", - "src": "10799:26:6", + "src": "11965:26:49", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 964, + "id": 4243, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "10814:4:6", + "src": "11980:4:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -7766,26 +7832,26 @@ }, "value": "true" }, - "functionReturnParameters": 959, - "id": 965, + "functionReturnParameters": 4238, + "id": 4244, "nodeType": "Return", - "src": "10807:11:6" + "src": "11973:11:49" } ] } }, { "assignments": [ - 969 + 4248 ], "declarations": [ { "constant": false, - "id": 969, + "id": 4248, "name": "retval", "nodeType": "VariableDeclaration", - "scope": 985, - "src": "10830:13:6", + "scope": 4266, + "src": "11996:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7793,10 +7859,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 968, + "id": 4247, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "10830:6:6", + "src": "11996:6:49", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -7806,18 +7872,34 @@ "visibility": "internal" } ], - "id": 978, + "id": 4259, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 974, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 949, - "src": "10883:5:6", + "expression": { + "argumentTypes": null, + "id": 4253, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4879, + "src": "12056:3:49", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12056:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7825,12 +7907,25 @@ }, { "argumentTypes": null, - "id": 975, + "id": 4255, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4228, + "src": "12068:5:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4256, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "10890:8:6", + "referencedDeclaration": 4232, + "src": "12075:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7838,12 +7933,12 @@ }, { "argumentTypes": null, - "id": 976, + "id": 4257, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 955, - "src": "10900:5:6", + "referencedDeclaration": 4234, + "src": "12085:5:49", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -7852,6 +7947,10 @@ ], "expression": { "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, { "typeIdentifier": "t_address", "typeString": "address" @@ -7870,12 +7969,12 @@ "arguments": [ { "argumentTypes": null, - "id": 971, + "id": 4250, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 951, - "src": "10861:3:6", + "referencedDeclaration": 4230, + "src": "12027:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7889,18 +7988,18 @@ "typeString": "address" } ], - "id": 970, + "id": 4249, "name": "ERC721Receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1003, - "src": "10846:14:6", + "referencedDeclaration": 4308, + "src": "12012:14:49", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Receiver_$1003_$", + "typeIdentifier": "t_type$_t_contract$_ERC721Receiver_$4308_$", "typeString": "type(contract ERC721Receiver)" } }, - "id": 972, + "id": 4251, "isConstant": false, "isLValue": false, "isPure": false, @@ -7908,27 +8007,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10846:19:6", + "src": "12012:19:49", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Receiver_$1003", + "typeIdentifier": "t_contract$_ERC721Receiver_$4308", "typeString": "contract ERC721Receiver" } }, - "id": 973, + "id": 4252, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "onERC721Received", "nodeType": "MemberAccess", - "referencedDeclaration": 1002, - "src": "10846:36:6", + "referencedDeclaration": 4307, + "src": "12012:36:49", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,uint256,bytes memory) external returns (bytes4)" + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", + "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" } }, - "id": 977, + "id": 4258, "isConstant": false, "isLValue": false, "isPure": false, @@ -7936,14 +8035,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10846:60:6", + "src": "12012:79:49", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "VariableDeclarationStatement", - "src": "10830:76:6" + "src": "11996:95:49" }, { "expression": { @@ -7955,19 +8054,19 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 981, + "id": 4262, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 979, + "id": 4260, "name": "retval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 969, - "src": "10920:6:6", + "referencedDeclaration": 4248, + "src": "12105:6:49", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -7977,46 +8076,46 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 980, + "id": 4261, "name": "ERC721_RECEIVED", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 420, - "src": "10930:15:6", + "referencedDeclaration": 3700, + "src": "12115:15:49", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "10920:25:6", + "src": "12105:25:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 982, + "id": 4263, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "10919:27:6", + "src": "12104:27:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 959, - "id": 983, + "functionReturnParameters": 4238, + "id": 4264, "nodeType": "Return", - "src": "10912:34:6" + "src": "12097:34:49" } ] }, - "documentation": "@dev Internal function to invoke `onERC721Received` on a target address\n@dev The call is not executed if the target address is not a contract\n@param _from address representing the previous owner of the given token ID\n@param _to target address that will receive the tokens\n@param _tokenId uint256 ID of the token to be transferred\n@param _data bytes optional data to send along with the call\n@return whether the call correctly returned the expected magic value", - "id": 985, + "documentation": "@dev Internal function to invoke `onERC721Received` on a target address\nThe call is not executed if the target address is not a contract\n@param _from address representing the previous owner of the given token ID\n@param _to target address that will receive the tokens\n@param _tokenId uint256 ID of the token to be transferred\n@param _data bytes optional data to send along with the call\n@return whether the call correctly returned the expected magic value", + "id": 4266, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -8024,16 +8123,16 @@ "name": "checkAndCallSafeTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 956, + "id": 4235, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 949, + "id": 4228, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 985, - "src": "10662:13:6", + "scope": 4266, + "src": "11828:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8041,10 +8140,10 @@ "typeString": "address" }, "typeName": { - "id": 948, + "id": 4227, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10662:7:6", + "src": "11828:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8055,11 +8154,11 @@ }, { "constant": false, - "id": 951, + "id": 4230, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 985, - "src": "10681:11:6", + "scope": 4266, + "src": "11847:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8067,10 +8166,10 @@ "typeString": "address" }, "typeName": { - "id": 950, + "id": 4229, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10681:7:6", + "src": "11847:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8081,11 +8180,11 @@ }, { "constant": false, - "id": 953, + "id": 4232, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 985, - "src": "10698:16:6", + "scope": 4266, + "src": "11864:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8093,10 +8192,10 @@ "typeString": "uint256" }, "typeName": { - "id": 952, + "id": 4231, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10698:7:6", + "src": "11864:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8107,11 +8206,11 @@ }, { "constant": false, - "id": 955, + "id": 4234, "name": "_data", "nodeType": "VariableDeclaration", - "scope": 985, - "src": "10720:11:6", + "scope": 4266, + "src": "11886:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8119,10 +8218,10 @@ "typeString": "bytes" }, "typeName": { - "id": 954, + "id": 4233, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "10720:5:6", + "src": "11886:5:49", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -8132,20 +8231,20 @@ "visibility": "internal" } ], - "src": "10656:79:6" + "src": "11822:79:49" }, "payable": false, "returnParameters": { - "id": 959, + "id": 4238, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 958, + "id": 4237, "name": "", "nodeType": "VariableDeclaration", - "scope": 985, - "src": "10762:4:6", + "scope": 4266, + "src": "11928:4:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8153,10 +8252,10 @@ "typeString": "bool" }, "typeName": { - "id": 957, + "id": 4236, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "10762:4:6", + "src": "11928:4:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8166,33 +8265,33 @@ "visibility": "internal" } ], - "src": "10761:6:6" + "src": "11927:6:49" }, - "scope": 986, - "src": "10623:328:6", + "scope": 4267, + "src": "11789:347:49", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 987, - "src": "301:10652:6" + "scope": 4268, + "src": "349:11789:49" } ], - "src": "0:10954:6" + "src": "0:12139:49" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721BasicToken.sol", "exportedSymbols": { "ERC721BasicToken": [ - 986 + 4267 ] }, - "id": 987, + "id": 4268, "nodeType": "SourceUnit", "nodes": [ { - "id": 405, + "id": 3676, "literals": [ "solidity", "^", @@ -8200,49 +8299,60 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:6" + "src": "0:24:49" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Basic.sol", "file": "./ERC721Basic.sol", - "id": 406, + "id": 3677, "nodeType": "ImportDirective", - "scope": 987, - "sourceUnit": 404, - "src": "26:27:6", + "scope": 4268, + "sourceUnit": 3675, + "src": "26:27:49", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Receiver.sol", "file": "./ERC721Receiver.sol", - "id": 407, + "id": 3678, "nodeType": "ImportDirective", - "scope": 987, - "sourceUnit": 1004, - "src": "54:30:6", + "scope": 4268, + "sourceUnit": 4309, + "src": "54:30:49", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 408, + "id": 3679, "nodeType": "ImportDirective", - "scope": 987, - "sourceUnit": 113, - "src": "85:33:6", + "scope": 4268, + "sourceUnit": 580, + "src": "85:33:49", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/AddressUtils.sol", "file": "../../AddressUtils.sol", - "id": 409, + "id": 3680, "nodeType": "ImportDirective", - "scope": 987, + "scope": 4268, "sourceUnit": 19, - "src": "119:32:6", + "src": "119:32:49", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/introspection/ERC165Support.sol", + "file": "../../introspection/ERC165Support.sol", + "id": 3681, + "nodeType": "ImportDirective", + "scope": 4268, + "sourceUnit": 337, + "src": "152:47:49", "symbolAliases": [], "unitAlias": "" }, @@ -8252,56 +8362,164 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 410, + "id": 3682, + "name": "ERC165Support", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 336, + "src": "378:13:49", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC165Support_$336", + "typeString": "contract ERC165Support" + } + }, + "id": 3683, + "nodeType": "InheritanceSpecifier", + "src": "378:13:49" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3684, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "330:11:6", + "referencedDeclaration": 3674, + "src": "393:11:49", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 411, + "id": 3685, "nodeType": "InheritanceSpecifier", - "src": "330:11:6" + "src": "393:11:49" } ], "contractDependencies": [ - 403 + 303, + 336, + 3674 ], "contractKind": "contract", "documentation": "@title ERC721 Non-Fungible Token Standard basic implementation\n@dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": true, - "id": 986, + "id": 4267, "linearizedBaseContracts": [ - 986, - 403 + 4267, + 3674, + 336, + 303 ], "name": "ERC721BasicToken", "nodeType": "ContractDefinition", "nodes": [ { - "id": 414, + "constant": true, + "id": 3688, + "name": "InterfaceId_ERC721", + "nodeType": "VariableDeclaration", + "scope": 4267, + "src": "410:55:49", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3686, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "410:6:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783830616335386364", + "id": 3687, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "455:10:49", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2158778573_by_1", + "typeString": "int_const 2158778573" + }, + "value": "0x80ac58cd" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 3691, + "name": "InterfaceId_ERC721Exists", + "nodeType": "VariableDeclaration", + "scope": 4267, + "src": "1045:61:49", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3689, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1045:6:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783466353538653739", + "id": 3690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1096:10:49", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1331007097_by_1", + "typeString": "int_const 1331007097" + }, + "value": "0x4f558e79" + }, + "visibility": "private" + }, + { + "id": 3694, "libraryName": { "contractScope": null, - "id": 412, + "id": 3692, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 112, - "src": "352:8:6", + "referencedDeclaration": 579, + "src": "1192:8:49", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$112", + "typeIdentifier": "t_contract$_SafeMath_$579", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "346:27:6", + "src": "1186:27:49", "typeName": { - "id": 413, + "id": 3693, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "365:7:6", + "src": "1205:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8309,26 +8527,26 @@ } }, { - "id": 417, + "id": 3697, "libraryName": { "contractScope": null, - "id": 415, + "id": 3695, "name": "AddressUtils", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 18, - "src": "382:12:6", + "src": "1222:12:49", "typeDescriptions": { "typeIdentifier": "t_contract$_AddressUtils_$18", "typeString": "library AddressUtils" } }, "nodeType": "UsingForDirective", - "src": "376:31:6", + "src": "1216:31:49", "typeName": { - "id": 416, + "id": 3696, "name": "address", "nodeType": "ElementaryTypeName", - "src": "399:7:6", + "src": "1239:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8337,11 +8555,11 @@ }, { "constant": true, - "id": 420, + "id": 3700, "name": "ERC721_RECEIVED", "nodeType": "VariableDeclaration", - "scope": 986, - "src": "570:44:6", + "scope": 4267, + "src": "1418:52:49", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -8349,10 +8567,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 418, + "id": 3698, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "570:6:6", + "src": "1418:6:49", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -8360,31 +8578,31 @@ }, "value": { "argumentTypes": null, - "hexValue": "30786630623965356261", - "id": 419, + "hexValue": "30783135306237613032", + "id": 3699, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "604:10:6", + "src": "1460:10:49", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_4038714810_by_1", - "typeString": "int_const 4038714810" + "typeIdentifier": "t_rational_353073666_by_1", + "typeString": "int_const 353073666" }, - "value": "0xf0b9e5ba" + "value": "0x150b7a02" }, - "visibility": "internal" + "visibility": "private" }, { "constant": false, - "id": 424, + "id": 3704, "name": "tokenOwner", "nodeType": "VariableDeclaration", - "scope": 986, - "src": "655:48:6", + "scope": 4267, + "src": "1511:48:49", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -8392,28 +8610,28 @@ "typeString": "mapping(uint256 => address)" }, "typeName": { - "id": 423, + "id": 3703, "keyType": { - "id": 421, + "id": 3701, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "664:7:6", + "src": "1520:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "655:28:6", + "src": "1511:28:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" }, "valueType": { - "id": 422, + "id": 3702, "name": "address", "nodeType": "ElementaryTypeName", - "src": "675:7:6", + "src": "1531:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8425,11 +8643,11 @@ }, { "constant": false, - "id": 428, + "id": 3708, "name": "tokenApprovals", "nodeType": "VariableDeclaration", - "scope": 986, - "src": "755:52:6", + "scope": 4267, + "src": "1611:52:49", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -8437,28 +8655,28 @@ "typeString": "mapping(uint256 => address)" }, "typeName": { - "id": 427, + "id": 3707, "keyType": { - "id": 425, + "id": 3705, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "764:7:6", + "src": "1620:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "755:28:6", + "src": "1611:28:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" }, "valueType": { - "id": 426, + "id": 3706, "name": "address", "nodeType": "ElementaryTypeName", - "src": "775:7:6", + "src": "1631:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8470,11 +8688,11 @@ }, { "constant": false, - "id": 432, + "id": 3712, "name": "ownedTokensCount", "nodeType": "VariableDeclaration", - "scope": 986, - "src": "861:54:6", + "scope": 4267, + "src": "1717:54:49", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -8482,28 +8700,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 431, + "id": 3711, "keyType": { - "id": 429, + "id": 3709, "name": "address", "nodeType": "ElementaryTypeName", - "src": "870:7:6", + "src": "1726:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "861:28:6", + "src": "1717:28:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 430, + "id": 3710, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "881:7:6", + "src": "1737:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8515,11 +8733,11 @@ }, { "constant": false, - "id": 438, + "id": 3718, "name": "operatorApprovals", "nodeType": "VariableDeclaration", - "scope": 986, - "src": "966:73:6", + "scope": 4267, + "src": "1822:73:49", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -8527,46 +8745,46 @@ "typeString": "mapping(address => mapping(address => bool))" }, "typeName": { - "id": 437, + "id": 3717, "keyType": { - "id": 433, + "id": 3713, "name": "address", "nodeType": "ElementaryTypeName", - "src": "975:7:6", + "src": "1831:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "966:46:6", + "src": "1822:46:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", "typeString": "mapping(address => mapping(address => bool))" }, "valueType": { - "id": 436, + "id": 3716, "keyType": { - "id": 434, + "id": 3714, "name": "address", "nodeType": "ElementaryTypeName", - "src": "995:7:6", + "src": "1851:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "986:25:6", + "src": "1842:25:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 435, + "id": 3715, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1006:4:6", + "src": "1862:4:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8579,9 +8797,9 @@ }, { "body": { - "id": 452, + "id": 3732, "nodeType": "Block", - "src": "1248:58:6", + "src": "2104:58:49", "statements": [ { "expression": { @@ -8593,7 +8811,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 448, + "id": 3728, "isConstant": false, "isLValue": false, "isPure": false, @@ -8603,12 +8821,12 @@ "arguments": [ { "argumentTypes": null, - "id": 444, + "id": 3724, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 440, - "src": "1270:8:6", + "referencedDeclaration": 3720, + "src": "2126:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8622,20 +8840,20 @@ "typeString": "uint256" } ], - "id": 443, + "id": 3723, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 511 + 3812 ], - "referencedDeclaration": 511, - "src": "1262:7:6", + "referencedDeclaration": 3812, + "src": "2118:7:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 445, + "id": 3725, "isConstant": false, "isLValue": false, "isPure": false, @@ -8643,7 +8861,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1262:17:6", + "src": "2118:17:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8655,18 +8873,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 446, + "id": 3726, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, - "src": "1283:3:6", + "referencedDeclaration": 4879, + "src": "2139:3:49", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 447, + "id": 3727, "isConstant": false, "isLValue": false, "isPure": false, @@ -8674,13 +8892,13 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1283:10:6", + "src": "2139:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1262:31:6", + "src": "2118:31:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8694,21 +8912,21 @@ "typeString": "bool" } ], - "id": 442, + "id": 3722, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "1254:7:6", + "referencedDeclaration": 4882, + "src": "2110:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 449, + "id": 3729, "isConstant": false, "isLValue": false, "isPure": false, @@ -8716,38 +8934,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1254:40:6", + "src": "2110:40:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 450, + "id": 3730, "nodeType": "ExpressionStatement", - "src": "1254:40:6" + "src": "2110:40:49" }, { - "id": 451, + "id": 3731, "nodeType": "PlaceholderStatement", - "src": "1300:1:6" + "src": "2156:1:49" } ] }, "documentation": "@dev Guarantees msg.sender is owner of the given token\n@param _tokenId uint256 ID of the token to validate its ownership belongs to msg.sender", - "id": 453, + "id": 3733, "name": "onlyOwnerOf", "nodeType": "ModifierDefinition", "parameters": { - "id": 441, + "id": 3721, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 440, + "id": 3720, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 453, - "src": "1230:16:6", + "scope": 3733, + "src": "2086:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8755,10 +8973,10 @@ "typeString": "uint256" }, "typeName": { - "id": 439, + "id": 3719, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1230:7:6", + "src": "2086:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8768,16 +8986,16 @@ "visibility": "internal" } ], - "src": "1229:18:6" + "src": "2085:18:49" }, - "src": "1209:97:6", + "src": "2065:97:49", "visibility": "internal" }, { "body": { - "id": 466, + "id": 3746, "nodeType": "Block", - "src": "1506:66:6", + "src": "2362:66:49", "statements": [ { "expression": { @@ -8790,18 +9008,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 459, + "id": 3739, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, - "src": "1538:3:6", + "referencedDeclaration": 4879, + "src": "2394:3:49", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 460, + "id": 3740, "isConstant": false, "isLValue": false, "isPure": false, @@ -8809,7 +9027,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1538:10:6", + "src": "2394:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8817,12 +9035,12 @@ }, { "argumentTypes": null, - "id": 461, + "id": 3741, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 455, - "src": "1550:8:6", + "referencedDeclaration": 3735, + "src": "2406:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8840,18 +9058,18 @@ "typeString": "uint256" } ], - "id": 458, + "id": 3738, "name": "isApprovedOrOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 781, - "src": "1520:17:6", + "referencedDeclaration": 4068, + "src": "2376:17:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) view returns (bool)" } }, - "id": 462, + "id": 3742, "isConstant": false, "isLValue": false, "isPure": false, @@ -8859,7 +9077,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1520:39:6", + "src": "2376:39:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8873,21 +9091,21 @@ "typeString": "bool" } ], - "id": 457, + "id": 3737, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "1512:7:6", + "referencedDeclaration": 4882, + "src": "2368:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 463, + "id": 3743, "isConstant": false, "isLValue": false, "isPure": false, @@ -8895,38 +9113,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1512:48:6", + "src": "2368:48:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 464, + "id": 3744, "nodeType": "ExpressionStatement", - "src": "1512:48:6" + "src": "2368:48:49" }, { - "id": 465, + "id": 3745, "nodeType": "PlaceholderStatement", - "src": "1566:1:6" + "src": "2422:1:49" } ] }, "documentation": "@dev Checks msg.sender can transfer a token, by being owner, approved, or operator\n@param _tokenId uint256 ID of the token to validate", - "id": 467, + "id": 3747, "name": "canTransfer", "nodeType": "ModifierDefinition", "parameters": { - "id": 456, + "id": 3736, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 455, + "id": 3735, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 467, - "src": "1488:16:6", + "scope": 3747, + "src": "2344:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8934,10 +9152,10 @@ "typeString": "uint256" }, "typeName": { - "id": 454, + "id": 3734, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1488:7:6", + "src": "2344:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8947,16 +9165,304 @@ "visibility": "internal" } ], - "src": "1487:18:6" + "src": "2343:18:49" }, - "src": "1467:105:6", + "src": "2323:105:49", "visibility": "internal" }, { "body": { - "id": 486, + "id": 3767, "nodeType": "Block", - "src": "1829:77:6", + "src": "2524:150:49", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3756, + "name": "_interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3749, + "src": "2562:12:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "argumentTypes": null, + "id": 3754, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4945, + "src": "2537:5:49", + "typeDescriptions": { + "typeIdentifier": "t_super$_ERC721BasicToken_$4267", + "typeString": "contract super ERC721BasicToken" + } + }, + "id": 3755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "_supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 335, + "src": "2537:24:49", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 3757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2537:38:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 3760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3758, + "name": "_interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3749, + "src": "2585:12:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3759, + "name": "InterfaceId_ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3688, + "src": "2601:18:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "2585:34:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2537:82:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 3764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3762, + "name": "_interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3749, + "src": "2629:12:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3763, + "name": "InterfaceId_ERC721Exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3691, + "src": "2645:24:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "2629:40:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2537:132:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3753, + "id": 3766, + "nodeType": "Return", + "src": "2530:139:49" + } + ] + }, + "documentation": null, + "id": 3768, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "_supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3750, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3749, + "name": "_interfaceId", + "nodeType": "VariableDeclaration", + "scope": 3768, + "src": "2460:19:49", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3748, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2460:6:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2459:21:49" + }, + "payable": false, + "returnParameters": { + "id": 3753, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3752, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3768, + "src": "2516:4:49", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3751, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2516:4:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2515:6:49" + }, + "scope": 4267, + "src": "2432:242:49", + "stateMutability": "view", + "superFunction": 335, + "visibility": "internal" + }, + { + "body": { + "id": 3787, + "nodeType": "Block", + "src": "2931:77:49", "statements": [ { "expression": { @@ -8968,19 +9474,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 479, + "id": 3780, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 475, + "id": 3776, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 469, - "src": "1843:6:6", + "referencedDeclaration": 3770, + "src": "2945:6:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8994,14 +9500,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 477, + "id": 3778, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1861:1:6", + "src": "2963:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9017,20 +9523,20 @@ "typeString": "int_const 0" } ], - "id": 476, + "id": 3777, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1853:7:6", + "src": "2955:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 478, + "id": 3779, "isConstant": false, "isLValue": false, "isPure": true, @@ -9038,13 +9544,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1853:10:6", + "src": "2955:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1843:20:6", + "src": "2945:20:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9058,21 +9564,21 @@ "typeString": "bool" } ], - "id": 474, + "id": 3775, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "1835:7:6", + "referencedDeclaration": 4882, + "src": "2937:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 480, + "id": 3781, "isConstant": false, "isLValue": false, "isPure": false, @@ -9080,41 +9586,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1835:29:6", + "src": "2937:29:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 481, + "id": 3782, "nodeType": "ExpressionStatement", - "src": "1835:29:6" + "src": "2937:29:49" }, { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 482, + "id": 3783, "name": "ownedTokensCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "1877:16:6", + "referencedDeclaration": 3712, + "src": "2979:16:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 484, + "id": 3785, "indexExpression": { "argumentTypes": null, - "id": 483, + "id": 3784, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 469, - "src": "1894:6:6", + "referencedDeclaration": 3770, + "src": "2996:6:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9125,21 +9631,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1877:24:6", + "src": "2979:24:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 473, - "id": 485, + "functionReturnParameters": 3774, + "id": 3786, "nodeType": "Return", - "src": "1870:31:6" + "src": "2972:31:49" } ] }, "documentation": "@dev Gets the balance of the specified address\n@param _owner address to query the balance of\n@return uint256 representing the amount owned by the passed address", - "id": 487, + "id": 3788, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -9147,16 +9653,16 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 470, + "id": 3771, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 469, + "id": 3770, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 487, - "src": "1783:14:6", + "scope": 3788, + "src": "2885:14:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9164,10 +9670,10 @@ "typeString": "address" }, "typeName": { - "id": 468, + "id": 3769, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1783:7:6", + "src": "2885:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9177,20 +9683,20 @@ "visibility": "internal" } ], - "src": "1782:16:6" + "src": "2884:16:49" }, "payable": false, "returnParameters": { - "id": 473, + "id": 3774, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 472, + "id": 3773, "name": "", "nodeType": "VariableDeclaration", - "scope": 487, - "src": "1820:7:6", + "scope": 3788, + "src": "2922:7:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9198,10 +9704,10 @@ "typeString": "uint256" }, "typeName": { - "id": 471, + "id": 3772, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1820:7:6", + "src": "2922:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9211,32 +9717,32 @@ "visibility": "internal" } ], - "src": "1819:9:6" + "src": "2921:9:49" }, - "scope": 986, - "src": "1764:142:6", + "scope": 4267, + "src": "2866:142:49", "stateMutability": "view", - "superFunction": 329, + "superFunction": 3600, "visibility": "public" }, { "body": { - "id": 510, + "id": 3811, "nodeType": "Block", - "src": "2184:99:6", + "src": "3286:99:49", "statements": [ { "assignments": [ - 495 + 3796 ], "declarations": [ { "constant": false, - "id": 495, + "id": 3796, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 511, - "src": "2190:13:6", + "scope": 3812, + "src": "3292:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9244,10 +9750,10 @@ "typeString": "address" }, "typeName": { - "id": 494, + "id": 3795, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2190:7:6", + "src": "3292:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9257,31 +9763,31 @@ "visibility": "internal" } ], - "id": 499, + "id": 3800, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 496, + "id": 3797, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "2206:10:6", + "referencedDeclaration": 3704, + "src": "3308:10:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 498, + "id": 3799, "indexExpression": { "argumentTypes": null, - "id": 497, + "id": 3798, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "2217:8:6", + "referencedDeclaration": 3790, + "src": "3319:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9292,14 +9798,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2206:20:6", + "src": "3308:20:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "2190:36:6" + "src": "3292:36:49" }, { "expression": { @@ -9311,19 +9817,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 505, + "id": 3806, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 501, + "id": 3802, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "2240:5:6", + "referencedDeclaration": 3796, + "src": "3342:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9337,14 +9843,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 503, + "id": 3804, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2257:1:6", + "src": "3359:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9360,20 +9866,20 @@ "typeString": "int_const 0" } ], - "id": 502, + "id": 3803, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2249:7:6", + "src": "3351:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 504, + "id": 3805, "isConstant": false, "isLValue": false, "isPure": true, @@ -9381,13 +9887,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2249:10:6", + "src": "3351:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2240:19:6", + "src": "3342:19:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9401,21 +9907,21 @@ "typeString": "bool" } ], - "id": 500, + "id": 3801, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "2232:7:6", + "referencedDeclaration": 4882, + "src": "3334:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 506, + "id": 3807, "isConstant": false, "isLValue": false, "isPure": false, @@ -9423,39 +9929,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2232:28:6", + "src": "3334:28:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 507, + "id": 3808, "nodeType": "ExpressionStatement", - "src": "2232:28:6" + "src": "3334:28:49" }, { "expression": { "argumentTypes": null, - "id": 508, + "id": 3809, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "2273:5:6", + "referencedDeclaration": 3796, + "src": "3375:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 493, - "id": 509, + "functionReturnParameters": 3794, + "id": 3810, "nodeType": "Return", - "src": "2266:12:6" + "src": "3368:12:49" } ] }, "documentation": "@dev Gets the owner of the specified token ID\n@param _tokenId uint256 ID of the token to query the owner of\n@return owner address currently marked as the owner of the given token ID", - "id": 511, + "id": 3812, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -9463,16 +9969,16 @@ "name": "ownerOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 490, + "id": 3791, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 489, + "id": 3790, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 511, - "src": "2136:16:6", + "scope": 3812, + "src": "3238:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9480,10 +9986,10 @@ "typeString": "uint256" }, "typeName": { - "id": 488, + "id": 3789, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2136:7:6", + "src": "3238:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9493,20 +9999,20 @@ "visibility": "internal" } ], - "src": "2135:18:6" + "src": "3237:18:49" }, "payable": false, "returnParameters": { - "id": 493, + "id": 3794, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 492, + "id": 3793, "name": "", "nodeType": "VariableDeclaration", - "scope": 511, - "src": "2175:7:6", + "scope": 3812, + "src": "3277:7:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9514,10 +10020,10 @@ "typeString": "address" }, "typeName": { - "id": 491, + "id": 3792, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2175:7:6", + "src": "3277:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9527,32 +10033,32 @@ "visibility": "internal" } ], - "src": "2174:9:6" + "src": "3276:9:49" }, - "scope": 986, - "src": "2119:164:6", + "scope": 4267, + "src": "3221:164:49", "stateMutability": "view", - "superFunction": 336, + "superFunction": 3607, "visibility": "public" }, { "body": { - "id": 530, + "id": 3831, "nodeType": "Block", - "src": "2522:79:6", + "src": "3624:79:49", "statements": [ { "assignments": [ - 519 + 3820 ], "declarations": [ { "constant": false, - "id": 519, + "id": 3820, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 531, - "src": "2528:13:6", + "scope": 3832, + "src": "3630:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9560,10 +10066,10 @@ "typeString": "address" }, "typeName": { - "id": 518, + "id": 3819, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2528:7:6", + "src": "3630:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9573,31 +10079,31 @@ "visibility": "internal" } ], - "id": 523, + "id": 3824, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 520, + "id": 3821, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "2544:10:6", + "referencedDeclaration": 3704, + "src": "3646:10:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 522, + "id": 3823, "indexExpression": { "argumentTypes": null, - "id": 521, + "id": 3822, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "2555:8:6", + "referencedDeclaration": 3814, + "src": "3657:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9608,14 +10114,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2544:20:6", + "src": "3646:20:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "2528:36:6" + "src": "3630:36:49" }, { "expression": { @@ -9624,19 +10130,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 528, + "id": 3829, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 524, + "id": 3825, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "2577:5:6", + "referencedDeclaration": 3820, + "src": "3679:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9650,14 +10156,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 526, + "id": 3827, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2594:1:6", + "src": "3696:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9673,20 +10179,20 @@ "typeString": "int_const 0" } ], - "id": 525, + "id": 3826, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2586:7:6", + "src": "3688:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 527, + "id": 3828, "isConstant": false, "isLValue": false, "isPure": true, @@ -9694,27 +10200,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2586:10:6", + "src": "3688:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2577:19:6", + "src": "3679:19:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 517, - "id": 529, + "functionReturnParameters": 3818, + "id": 3830, "nodeType": "Return", - "src": "2570:26:6" + "src": "3672:26:49" } ] }, - "documentation": "@dev Returns whether the specified token exists\n@param _tokenId uint256 ID of the token to query the existance of\n@return whether the token exists", - "id": 531, + "documentation": "@dev Returns whether the specified token exists\n@param _tokenId uint256 ID of the token to query the existence of\n@return whether the token exists", + "id": 3832, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -9722,16 +10228,16 @@ "name": "exists", "nodeType": "FunctionDefinition", "parameters": { - "id": 514, + "id": 3815, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 513, + "id": 3814, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 531, - "src": "2477:16:6", + "scope": 3832, + "src": "3579:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9739,10 +10245,10 @@ "typeString": "uint256" }, "typeName": { - "id": 512, + "id": 3813, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2477:7:6", + "src": "3579:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9752,20 +10258,20 @@ "visibility": "internal" } ], - "src": "2476:18:6" + "src": "3578:18:49" }, "payable": false, "returnParameters": { - "id": 517, + "id": 3818, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 516, + "id": 3817, "name": "", "nodeType": "VariableDeclaration", - "scope": 531, - "src": "2516:4:6", + "scope": 3832, + "src": "3618:4:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9773,10 +10279,10 @@ "typeString": "bool" }, "typeName": { - "id": 515, + "id": 3816, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2516:4:6", + "src": "3618:4:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9786,32 +10292,32 @@ "visibility": "internal" } ], - "src": "2515:6:6" + "src": "3617:6:49" }, - "scope": 986, - "src": "2461:140:6", + "scope": 4267, + "src": "3563:140:49", "stateMutability": "view", - "superFunction": 343, + "superFunction": 3614, "visibility": "public" }, { "body": { - "id": 590, + "id": 3876, "nodeType": "Block", - "src": "3076:300:6", + "src": "4163:222:49", "statements": [ { "assignments": [ - 539 + 3840 ], "declarations": [ { "constant": false, - "id": 539, + "id": 3840, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 591, - "src": "3082:13:6", + "scope": 3877, + "src": "4169:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9819,10 +10325,10 @@ "typeString": "address" }, "typeName": { - "id": 538, + "id": 3839, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3082:7:6", + "src": "4169:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9832,18 +10338,18 @@ "visibility": "internal" } ], - "id": 543, + "id": 3844, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 541, + "id": 3842, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 535, - "src": "3106:8:6", + "referencedDeclaration": 3836, + "src": "4193:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9857,20 +10363,20 @@ "typeString": "uint256" } ], - "id": 540, + "id": 3841, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 511 + 3812 ], - "referencedDeclaration": 511, - "src": "3098:7:6", + "referencedDeclaration": 3812, + "src": "4185:7:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 542, + "id": 3843, "isConstant": false, "isLValue": false, "isPure": false, @@ -9878,14 +10384,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3098:17:6", + "src": "4185:17:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "3082:33:6" + "src": "4169:33:49" }, { "expression": { @@ -9897,19 +10403,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 547, + "id": 3848, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 545, + "id": 3846, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 533, - "src": "3129:3:6", + "referencedDeclaration": 3834, + "src": "4216:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9919,18 +10425,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 546, + "id": 3847, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 539, - "src": "3136:5:6", + "referencedDeclaration": 3840, + "src": "4223:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3129:12:6", + "src": "4216:12:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9944,21 +10450,21 @@ "typeString": "bool" } ], - "id": 544, + "id": 3845, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "3121:7:6", + "referencedDeclaration": 4882, + "src": "4208:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 548, + "id": 3849, "isConstant": false, "isLValue": false, "isPure": false, @@ -9966,15 +10472,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3121:21:6", + "src": "4208:21:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 549, + "id": 3850, "nodeType": "ExpressionStatement", - "src": "3121:21:6" + "src": "4208:21:49" }, { "expression": { @@ -9986,7 +10492,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 560, + "id": 3861, "isConstant": false, "isLValue": false, "isPure": false, @@ -9997,7 +10503,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 554, + "id": 3855, "isConstant": false, "isLValue": false, "isPure": false, @@ -10006,18 +10512,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 551, + "id": 3852, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, - "src": "3156:3:6", + "referencedDeclaration": 4879, + "src": "4243:3:49", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 552, + "id": 3853, "isConstant": false, "isLValue": false, "isPure": false, @@ -10025,7 +10531,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3156:10:6", + "src": "4243:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10035,18 +10541,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 553, + "id": 3854, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 539, - "src": "3170:5:6", + "referencedDeclaration": 3840, + "src": "4257:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3156:19:6", + "src": "4243:19:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10059,12 +10565,12 @@ "arguments": [ { "argumentTypes": null, - "id": 556, + "id": 3857, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 539, - "src": "3196:5:6", + "referencedDeclaration": 3840, + "src": "4283:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10074,18 +10580,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 557, + "id": 3858, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, - "src": "3203:3:6", + "referencedDeclaration": 4879, + "src": "4290:3:49", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 558, + "id": 3859, "isConstant": false, "isLValue": false, "isPure": false, @@ -10093,7 +10599,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3203:10:6", + "src": "4290:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10111,20 +10617,20 @@ "typeString": "address" } ], - "id": 555, + "id": 3856, "name": "isApprovedForAll", "nodeType": "Identifier", "overloadedDeclarations": [ - 650 + 3936 ], - "referencedDeclaration": 650, - "src": "3179:16:6", + "referencedDeclaration": 3936, + "src": "4266:16:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", "typeString": "function (address,address) view returns (bool)" } }, - "id": 559, + "id": 3860, "isConstant": false, "isLValue": false, "isPure": false, @@ -10132,13 +10638,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3179:35:6", + "src": "4266:35:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "3156:58:6", + "src": "4243:58:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10152,21 +10658,21 @@ "typeString": "bool" } ], - "id": 550, + "id": 3851, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "3148:7:6", + "referencedDeclaration": 4882, + "src": "4235:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 561, + "id": 3862, "isConstant": false, "isLValue": false, "isPure": false, @@ -10174,427 +10680,181 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3148:67:6", + "src": "4235:67:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 562, + "id": 3863, "nodeType": "ExpressionStatement", - "src": "3148:67:6" + "src": "4235:67:49" }, { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 575, + "id": 3868, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { "argumentTypes": null, - "commonType": { + "baseExpression": { + "argumentTypes": null, + "id": 3864, + "name": "tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3708, + "src": "4309:14:49", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 3866, + "indexExpression": { + "argumentTypes": null, + "id": 3865, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3836, + "src": "4324:8:49", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4309:24:49", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" - }, - "id": 569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 564, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 535, - "src": "3238:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 563, - "name": "getApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 603 - ], - "referencedDeclaration": 603, - "src": "3226:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3226:21:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3259:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3251:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3251:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3226:35:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, - "commonType": { + "id": 3867, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3834, + "src": "4336:3:49", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" - }, - "id": 574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + } + }, + "src": "4309:30:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3869, + "nodeType": "ExpressionStatement", + "src": "4309:30:49" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "id": 570, + "id": 3871, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3840, + "src": "4359:5:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3872, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 533, - "src": "3265:3:6", + "referencedDeclaration": 3834, + "src": "4366:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { + { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3280:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3272:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3272:10:6", + "id": 3873, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3836, + "src": "4371:8:49", "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "src": "3265:17:6", + ], + "id": 3870, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3585, + "src": "4350:8:49", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" } }, - "src": "3226:56:6", + "id": 3874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4350:30:49", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "falseBody": null, - "id": 589, - "nodeType": "IfStatement", - "src": "3222:150:6", - "trueBody": { - "id": 588, - "nodeType": "Block", - "src": "3284:88:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 576, - "name": "tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "3292:14:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 578, - "indexExpression": { - "argumentTypes": null, - "id": 577, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 535, - "src": "3307:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3292:24:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 579, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 533, - "src": "3319:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3292:30:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 581, - "nodeType": "ExpressionStatement", - "src": "3292:30:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 583, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 539, - "src": "3344:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 584, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 533, - "src": "3351:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 585, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 535, - "src": "3356:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 582, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 314, - "src": "3335:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3335:30:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 587, - "nodeType": "EmitStatement", - "src": "3330:35:6" - } - ] - } + "id": 3875, + "nodeType": "EmitStatement", + "src": "4345:35:49" } ] }, - "documentation": "@dev Approves another address to transfer the given token ID\n@dev The zero address indicates there is no approved address.\n@dev There can only be one approved address per token at a given time.\n@dev Can only be called by the token owner or an approved operator.\n@param _to address to be approved for the given token ID\n@param _tokenId uint256 ID of the token to be approved", - "id": 591, + "documentation": "@dev Approves another address to transfer the given token ID\nThe zero address indicates there is no approved address.\nThere can only be one approved address per token at a given time.\nCan only be called by the token owner or an approved operator.\n@param _to address to be approved for the given token ID\n@param _tokenId uint256 ID of the token to be approved", + "id": 3877, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -10602,16 +10862,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 536, + "id": 3837, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 533, + "id": 3834, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 591, - "src": "3038:11:6", + "scope": 3877, + "src": "4125:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10619,10 +10879,10 @@ "typeString": "address" }, "typeName": { - "id": 532, + "id": 3833, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3038:7:6", + "src": "4125:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10633,11 +10893,11 @@ }, { "constant": false, - "id": 535, + "id": 3836, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 591, - "src": "3051:16:6", + "scope": 3877, + "src": "4138:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10645,10 +10905,10 @@ "typeString": "uint256" }, "typeName": { - "id": 534, + "id": 3835, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3051:7:6", + "src": "4138:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10658,52 +10918,52 @@ "visibility": "internal" } ], - "src": "3037:31:6" + "src": "4124:31:49" }, "payable": false, "returnParameters": { - "id": 537, + "id": 3838, "nodeType": "ParameterList", "parameters": [], - "src": "3076:0:6" + "src": "4163:0:49" }, - "scope": 986, - "src": "3021:355:6", + "scope": 4267, + "src": "4108:277:49", "stateMutability": "nonpayable", - "superFunction": 350, + "superFunction": 3621, "visibility": "public" }, { "body": { - "id": 602, + "id": 3888, "nodeType": "Block", - "src": "3674:42:6", + "src": "4681:42:49", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 598, + "id": 3884, "name": "tokenApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "3687:14:6", + "referencedDeclaration": 3708, + "src": "4694:14:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 600, + "id": 3886, "indexExpression": { "argumentTypes": null, - "id": 599, + "id": 3885, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 593, - "src": "3702:8:6", + "referencedDeclaration": 3879, + "src": "4709:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10714,21 +10974,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3687:24:6", + "src": "4694:24:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 597, - "id": 601, + "functionReturnParameters": 3883, + "id": 3887, "nodeType": "Return", - "src": "3680:31:6" + "src": "4687:31:49" } ] }, - "documentation": "@dev Gets the approved address for a token ID, or zero if no address set\n@param _tokenId uint256 ID of the token to query the approval of\n@return address currently approved for a the given token ID", - "id": 603, + "documentation": "@dev Gets the approved address for a token ID, or zero if no address set\n@param _tokenId uint256 ID of the token to query the approval of\n@return address currently approved for the given token ID", + "id": 3889, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -10736,16 +10996,16 @@ "name": "getApproved", "nodeType": "FunctionDefinition", "parameters": { - "id": 594, + "id": 3880, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 593, + "id": 3879, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 603, - "src": "3626:16:6", + "scope": 3889, + "src": "4633:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10753,10 +11013,10 @@ "typeString": "uint256" }, "typeName": { - "id": 592, + "id": 3878, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3626:7:6", + "src": "4633:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10766,20 +11026,20 @@ "visibility": "internal" } ], - "src": "3625:18:6" + "src": "4632:18:49" }, "payable": false, "returnParameters": { - "id": 597, + "id": 3883, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 596, + "id": 3882, "name": "", "nodeType": "VariableDeclaration", - "scope": 603, - "src": "3665:7:6", + "scope": 3889, + "src": "4672:7:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10787,10 +11047,10 @@ "typeString": "address" }, "typeName": { - "id": 595, + "id": 3881, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3665:7:6", + "src": "4672:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10800,19 +11060,19 @@ "visibility": "internal" } ], - "src": "3664:9:6" + "src": "4671:9:49" }, - "scope": 986, - "src": "3605:111:6", + "scope": 4267, + "src": "4612:111:49", "stateMutability": "view", - "superFunction": 357, + "superFunction": 3628, "visibility": "public" }, { "body": { - "id": 633, + "id": 3919, "nodeType": "Block", - "src": "4064:142:6", + "src": "5066:142:49", "statements": [ { "expression": { @@ -10824,19 +11084,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 614, + "id": 3900, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 611, + "id": 3897, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 605, - "src": "4078:3:6", + "referencedDeclaration": 3891, + "src": "5080:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10848,18 +11108,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 612, + "id": 3898, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, - "src": "4085:3:6", + "referencedDeclaration": 4879, + "src": "5087:3:49", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 613, + "id": 3899, "isConstant": false, "isLValue": false, "isPure": false, @@ -10867,13 +11127,13 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4085:10:6", + "src": "5087:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "4078:17:6", + "src": "5080:17:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10887,21 +11147,21 @@ "typeString": "bool" } ], - "id": 610, + "id": 3896, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "4070:7:6", + "referencedDeclaration": 4882, + "src": "5072:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 615, + "id": 3901, "isConstant": false, "isLValue": false, "isPure": false, @@ -10909,20 +11169,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4070:26:6", + "src": "5072:26:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 616, + "id": 3902, "nodeType": "ExpressionStatement", - "src": "4070:26:6" + "src": "5072:26:49" }, { "expression": { "argumentTypes": null, - "id": 624, + "id": 3910, "isConstant": false, "isLValue": false, "isPure": false, @@ -10933,34 +11193,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 617, + "id": 3903, "name": "operatorApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 438, - "src": "4102:17:6", + "referencedDeclaration": 3718, + "src": "5104:17:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", "typeString": "mapping(address => mapping(address => bool))" } }, - "id": 621, + "id": 3907, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 618, + "id": 3904, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, - "src": "4120:3:6", + "referencedDeclaration": 4879, + "src": "5122:3:49", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 619, + "id": 3905, "isConstant": false, "isLValue": false, "isPure": false, @@ -10968,7 +11228,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4120:10:6", + "src": "5122:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10979,21 +11239,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4102:29:6", + "src": "5104:29:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 622, + "id": 3908, "indexExpression": { "argumentTypes": null, - "id": 620, + "id": 3906, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 605, - "src": "4132:3:6", + "referencedDeclaration": 3891, + "src": "5134:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11004,7 +11264,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4102:34:6", + "src": "5104:34:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11014,26 +11274,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 623, + "id": 3909, "name": "_approved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "4139:9:6", + "referencedDeclaration": 3893, + "src": "5141:9:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "4102:46:6", + "src": "5104:46:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 625, + "id": 3911, "nodeType": "ExpressionStatement", - "src": "4102:46:6" + "src": "5104:46:49" }, { "eventCall": { @@ -11043,18 +11303,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 627, + "id": 3913, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, - "src": "4174:3:6", + "referencedDeclaration": 4879, + "src": "5176:3:49", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 628, + "id": 3914, "isConstant": false, "isLValue": false, "isPure": false, @@ -11062,7 +11322,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4174:10:6", + "src": "5176:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11070,12 +11330,12 @@ }, { "argumentTypes": null, - "id": 629, + "id": 3915, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 605, - "src": "4186:3:6", + "referencedDeclaration": 3891, + "src": "5188:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11083,12 +11343,12 @@ }, { "argumentTypes": null, - "id": 630, + "id": 3916, "name": "_approved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "4191:9:6", + "referencedDeclaration": 3893, + "src": "5193:9:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11110,18 +11370,18 @@ "typeString": "bool" } ], - "id": 626, + "id": 3912, "name": "ApprovalForAll", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 322, - "src": "4159:14:6", + "referencedDeclaration": 3593, + "src": "5161:14:49", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", "typeString": "function (address,address,bool)" } }, - "id": 631, + "id": 3917, "isConstant": false, "isLValue": false, "isPure": false, @@ -11129,20 +11389,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4159:42:6", + "src": "5161:42:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 632, + "id": 3918, "nodeType": "EmitStatement", - "src": "4154:47:6" + "src": "5156:47:49" } ] }, - "documentation": "@dev Sets or unsets the approval of a given operator\n@dev An operator is allowed to transfer all tokens of the sender on their behalf\n@param _to operator address to set the approval\n@param _approved representing the status of the approval to be set", - "id": 634, + "documentation": "@dev Sets or unsets the approval of a given operator\nAn operator is allowed to transfer all tokens of the sender on their behalf\n@param _to operator address to set the approval\n@param _approved representing the status of the approval to be set", + "id": 3920, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -11150,16 +11410,16 @@ "name": "setApprovalForAll", "nodeType": "FunctionDefinition", "parameters": { - "id": 608, + "id": 3894, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 605, + "id": 3891, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 634, - "src": "4028:11:6", + "scope": 3920, + "src": "5030:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11167,10 +11427,10 @@ "typeString": "address" }, "typeName": { - "id": 604, + "id": 3890, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4028:7:6", + "src": "5030:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11181,11 +11441,11 @@ }, { "constant": false, - "id": 607, + "id": 3893, "name": "_approved", "nodeType": "VariableDeclaration", - "scope": 634, - "src": "4041:14:6", + "scope": 3920, + "src": "5043:14:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11193,10 +11453,10 @@ "typeString": "bool" }, "typeName": { - "id": 606, + "id": 3892, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4041:4:6", + "src": "5043:4:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11206,26 +11466,26 @@ "visibility": "internal" } ], - "src": "4027:29:6" + "src": "5029:29:49" }, "payable": false, "returnParameters": { - "id": 609, + "id": 3895, "nodeType": "ParameterList", "parameters": [], - "src": "4064:0:6" + "src": "5066:0:49" }, - "scope": 986, - "src": "4001:205:6", + "scope": 4267, + "src": "5003:205:49", "stateMutability": "nonpayable", - "superFunction": 364, + "superFunction": 3635, "visibility": "public" }, { "body": { - "id": 649, + "id": 3935, "nodeType": "Block", - "src": "4603:54:6", + "src": "5631:54:49", "statements": [ { "expression": { @@ -11234,26 +11494,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 643, + "id": 3929, "name": "operatorApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 438, - "src": "4616:17:6", + "referencedDeclaration": 3718, + "src": "5644:17:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", "typeString": "mapping(address => mapping(address => bool))" } }, - "id": 645, + "id": 3931, "indexExpression": { "argumentTypes": null, - "id": 644, + "id": 3930, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 636, - "src": "4634:6:6", + "referencedDeclaration": 3922, + "src": "5662:6:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11264,21 +11524,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4616:25:6", + "src": "5644:25:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 647, + "id": 3933, "indexExpression": { "argumentTypes": null, - "id": 646, + "id": 3932, "name": "_operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 638, - "src": "4642:9:6", + "referencedDeclaration": 3924, + "src": "5670:9:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11289,21 +11549,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4616:36:6", + "src": "5644:36:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 642, - "id": 648, + "functionReturnParameters": 3928, + "id": 3934, "nodeType": "Return", - "src": "4609:43:6" + "src": "5637:43:49" } ] }, "documentation": "@dev Tells whether an operator is approved by a given owner\n@param _owner owner address which you want to query the approval of\n@param _operator operator address which you want to query the approval of\n@return bool whether the given operator is approved by the given owner", - "id": 650, + "id": 3936, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -11311,16 +11571,16 @@ "name": "isApprovedForAll", "nodeType": "FunctionDefinition", "parameters": { - "id": 639, + "id": 3925, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 636, + "id": 3922, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 650, - "src": "4541:14:6", + "scope": 3936, + "src": "5548:14:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11328,10 +11588,10 @@ "typeString": "address" }, "typeName": { - "id": 635, + "id": 3921, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4541:7:6", + "src": "5548:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11342,11 +11602,11 @@ }, { "constant": false, - "id": 638, + "id": 3924, "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 650, - "src": "4557:17:6", + "scope": 3936, + "src": "5568:17:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11354,10 +11614,10 @@ "typeString": "address" }, "typeName": { - "id": 637, + "id": 3923, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4557:7:6", + "src": "5568:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11367,20 +11627,20 @@ "visibility": "internal" } ], - "src": "4540:35:6" + "src": "5542:47:49" }, "payable": false, "returnParameters": { - "id": 642, + "id": 3928, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 641, + "id": 3927, "name": "", "nodeType": "VariableDeclaration", - "scope": 650, - "src": "4597:4:6", + "scope": 3936, + "src": "5623:4:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11388,10 +11648,10 @@ "typeString": "bool" }, "typeName": { - "id": 640, + "id": 3926, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4597:4:6", + "src": "5623:4:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11401,19 +11661,19 @@ "visibility": "internal" } ], - "src": "4596:6:6" + "src": "5622:6:49" }, - "scope": 986, - "src": "4515:142:6", + "scope": 4267, + "src": "5517:168:49", "stateMutability": "view", - "superFunction": 373, + "superFunction": 3644, "visibility": "public" }, { "body": { - "id": 699, + "id": 3985, "nodeType": "Block", - "src": "5182:219:6", + "src": "6226:219:49", "statements": [ { "expression": { @@ -11425,19 +11685,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 667, + "id": 3953, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 663, + "id": 3949, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 652, - "src": "5196:5:6", + "referencedDeclaration": 3938, + "src": "6240:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11451,14 +11711,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 665, + "id": 3951, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5213:1:6", + "src": "6257:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11474,20 +11734,20 @@ "typeString": "int_const 0" } ], - "id": 664, + "id": 3950, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5205:7:6", + "src": "6249:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 666, + "id": 3952, "isConstant": false, "isLValue": false, "isPure": true, @@ -11495,13 +11755,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5205:10:6", + "src": "6249:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5196:19:6", + "src": "6240:19:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11515,21 +11775,21 @@ "typeString": "bool" } ], - "id": 662, + "id": 3948, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "5188:7:6", + "referencedDeclaration": 4882, + "src": "6232:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 668, + "id": 3954, "isConstant": false, "isLValue": false, "isPure": false, @@ -11537,15 +11797,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5188:28:6", + "src": "6232:28:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 669, + "id": 3955, "nodeType": "ExpressionStatement", - "src": "5188:28:6" + "src": "6232:28:49" }, { "expression": { @@ -11557,19 +11817,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 675, + "id": 3961, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 671, + "id": 3957, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 654, - "src": "5230:3:6", + "referencedDeclaration": 3940, + "src": "6274:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11583,14 +11843,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 673, + "id": 3959, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5245:1:6", + "src": "6289:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11606,20 +11866,20 @@ "typeString": "int_const 0" } ], - "id": 672, + "id": 3958, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5237:7:6", + "src": "6281:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 674, + "id": 3960, "isConstant": false, "isLValue": false, "isPure": true, @@ -11627,13 +11887,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5237:10:6", + "src": "6281:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5230:17:6", + "src": "6274:17:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11647,21 +11907,21 @@ "typeString": "bool" } ], - "id": 670, + "id": 3956, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "5222:7:6", + "referencedDeclaration": 4882, + "src": "6266:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 676, + "id": 3962, "isConstant": false, "isLValue": false, "isPure": false, @@ -11669,15 +11929,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5222:26:6", + "src": "6266:26:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 677, + "id": 3963, "nodeType": "ExpressionStatement", - "src": "5222:26:6" + "src": "6266:26:49" }, { "expression": { @@ -11685,12 +11945,12 @@ "arguments": [ { "argumentTypes": null, - "id": 679, + "id": 3965, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 652, - "src": "5269:5:6", + "referencedDeclaration": 3938, + "src": "6313:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11698,12 +11958,12 @@ }, { "argumentTypes": null, - "id": 680, + "id": 3966, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "5276:8:6", + "referencedDeclaration": 3942, + "src": "6320:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11721,18 +11981,18 @@ "typeString": "uint256" } ], - "id": 678, + "id": 3964, "name": "clearApproval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 877, - "src": "5255:13:6", + "referencedDeclaration": 4156, + "src": "6299:13:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 681, + "id": 3967, "isConstant": false, "isLValue": false, "isPure": false, @@ -11740,15 +12000,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5255:30:6", + "src": "6299:30:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 682, + "id": 3968, "nodeType": "ExpressionStatement", - "src": "5255:30:6" + "src": "6299:30:49" }, { "expression": { @@ -11756,12 +12016,12 @@ "arguments": [ { "argumentTypes": null, - "id": 684, + "id": 3970, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 652, - "src": "5307:5:6", + "referencedDeclaration": 3938, + "src": "6351:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11769,12 +12029,12 @@ }, { "argumentTypes": null, - "id": 685, + "id": 3971, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "5314:8:6", + "referencedDeclaration": 3942, + "src": "6358:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11792,18 +12052,18 @@ "typeString": "uint256" } ], - "id": 683, + "id": 3969, "name": "removeTokenFrom", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 947, - "src": "5291:15:6", + "referencedDeclaration": 4226, + "src": "6335:15:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 686, + "id": 3972, "isConstant": false, "isLValue": false, "isPure": false, @@ -11811,15 +12071,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5291:32:6", + "src": "6335:32:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 687, + "id": 3973, "nodeType": "ExpressionStatement", - "src": "5291:32:6" + "src": "6335:32:49" }, { "expression": { @@ -11827,12 +12087,12 @@ "arguments": [ { "argumentTypes": null, - "id": 689, + "id": 3975, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 654, - "src": "5340:3:6", + "referencedDeclaration": 3940, + "src": "6384:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11840,12 +12100,12 @@ }, { "argumentTypes": null, - "id": 690, + "id": 3976, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "5345:8:6", + "referencedDeclaration": 3942, + "src": "6389:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11863,18 +12123,18 @@ "typeString": "uint256" } ], - "id": 688, + "id": 3974, "name": "addTokenTo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "5329:10:6", + "referencedDeclaration": 4191, + "src": "6373:10:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 691, + "id": 3977, "isConstant": false, "isLValue": false, "isPure": false, @@ -11882,15 +12142,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5329:25:6", + "src": "6373:25:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 692, + "id": 3978, "nodeType": "ExpressionStatement", - "src": "5329:25:6" + "src": "6373:25:49" }, { "eventCall": { @@ -11898,12 +12158,12 @@ "arguments": [ { "argumentTypes": null, - "id": 694, + "id": 3980, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 652, - "src": "5375:5:6", + "referencedDeclaration": 3938, + "src": "6419:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11911,12 +12171,12 @@ }, { "argumentTypes": null, - "id": 695, + "id": 3981, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 654, - "src": "5382:3:6", + "referencedDeclaration": 3940, + "src": "6426:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11924,12 +12184,12 @@ }, { "argumentTypes": null, - "id": 696, + "id": 3982, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "5387:8:6", + "referencedDeclaration": 3942, + "src": "6431:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11951,18 +12211,18 @@ "typeString": "uint256" } ], - "id": 693, + "id": 3979, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 306, - "src": "5366:8:6", + "referencedDeclaration": 3577, + "src": "6410:8:49", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 697, + "id": 3983, "isConstant": false, "isLValue": false, "isPure": false, @@ -11970,20 +12230,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5366:30:6", + "src": "6410:30:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 698, + "id": 3984, "nodeType": "EmitStatement", - "src": "5361:35:6" + "src": "6405:35:49" } ] }, - "documentation": "@dev Transfers the ownership of a given token ID to another address\n@dev Usage of this method is discouraged, use `safeTransferFrom` whenever possible\n@dev Requires the msg sender to be the owner, approved, or operator\n@param _from current owner of the token\n@param _to address to receive the ownership of the given token ID\n@param _tokenId uint256 ID of the token to be transferred", - "id": 700, + "documentation": "@dev Transfers the ownership of a given token ID to another address\nUsage of this method is discouraged, use `safeTransferFrom` whenever possible\nRequires the msg sender to be the owner, approved, or operator\n@param _from current owner of the token\n@param _to address to receive the ownership of the given token ID\n@param _tokenId uint256 ID of the token to be transferred", + "id": 3986, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -11992,49 +12252,49 @@ "arguments": [ { "argumentTypes": null, - "id": 659, + "id": 3945, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "5172:8:6", + "referencedDeclaration": 3942, + "src": "6214:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 660, + "id": 3946, "modifierName": { "argumentTypes": null, - "id": 658, + "id": 3944, "name": "canTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "5160:11:6", + "referencedDeclaration": 3747, + "src": "6202:11:49", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", "typeString": "modifier (uint256)" } }, "nodeType": "ModifierInvocation", - "src": "5160:21:6" + "src": "6202:21:49" } ], "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 657, + "id": 3943, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 652, + "id": 3938, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "5107:13:6", + "scope": 3986, + "src": "6130:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12042,10 +12302,10 @@ "typeString": "address" }, "typeName": { - "id": 651, + "id": 3937, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5107:7:6", + "src": "6130:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12056,11 +12316,11 @@ }, { "constant": false, - "id": 654, + "id": 3940, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "5122:11:6", + "scope": 3986, + "src": "6149:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12068,10 +12328,10 @@ "typeString": "address" }, "typeName": { - "id": 653, + "id": 3939, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5122:7:6", + "src": "6149:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12082,11 +12342,11 @@ }, { "constant": false, - "id": 656, + "id": 3942, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "5135:16:6", + "scope": 3986, + "src": "6166:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12094,10 +12354,10 @@ "typeString": "uint256" }, "typeName": { - "id": 655, + "id": 3941, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5135:7:6", + "src": "6166:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12107,26 +12367,26 @@ "visibility": "internal" } ], - "src": "5106:46:6" + "src": "6124:62:49" }, "payable": false, "returnParameters": { - "id": 661, + "id": 3947, "nodeType": "ParameterList", "parameters": [], - "src": "5182:0:6" + "src": "6226:0:49" }, - "scope": 986, - "src": "5085:316:6", + "scope": 4267, + "src": "6103:342:49", "stateMutability": "nonpayable", - "superFunction": 382, + "superFunction": 3653, "visibility": "public" }, { "body": { - "id": 719, + "id": 4005, "nodeType": "Block", - "src": "6144:98:6", + "src": "7188:98:49", "statements": [ { "expression": { @@ -12134,12 +12394,12 @@ "arguments": [ { "argumentTypes": null, - "id": 713, + "id": 3999, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 702, - "src": "6212:5:6", + "referencedDeclaration": 3988, + "src": "7256:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12147,12 +12407,12 @@ }, { "argumentTypes": null, - "id": 714, + "id": 4000, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 704, - "src": "6219:3:6", + "referencedDeclaration": 3990, + "src": "7263:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12160,12 +12420,12 @@ }, { "argumentTypes": null, - "id": 715, + "id": 4001, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 706, - "src": "6224:8:6", + "referencedDeclaration": 3992, + "src": "7268:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12174,14 +12434,14 @@ { "argumentTypes": null, "hexValue": "", - "id": 716, + "id": 4002, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6234:2:6", + "src": "7278:2:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", @@ -12209,21 +12469,21 @@ "typeString": "literal_string \"\"" } ], - "id": 712, + "id": 3998, "name": "safeTransferFrom", "nodeType": "Identifier", "overloadedDeclarations": [ - 720, - 750 + 4006, + 4036 ], - "referencedDeclaration": 750, - "src": "6195:16:6", + "referencedDeclaration": 4036, + "src": "7239:16:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,address,uint256,bytes memory)" } }, - "id": 717, + "id": 4003, "isConstant": false, "isLValue": false, "isPure": false, @@ -12231,20 +12491,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6195:42:6", + "src": "7239:42:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 718, + "id": 4004, "nodeType": "ExpressionStatement", - "src": "6195:42:6" + "src": "7239:42:49" } ] }, - "documentation": "@dev Safely transfers the ownership of a given token ID to another address\n@dev If the target address is a contract, it must implement `onERC721Received`,\n which is called upon a safe transfer, and return the magic value\n `bytes4(keccak256(\"onERC721Received(address,uint256,bytes)\"))`; otherwise,\n the transfer is reverted.\n@dev Requires the msg sender to be the owner, approved, or operator\n@param _from current owner of the token\n@param _to address to receive the ownership of the given token ID\n@param _tokenId uint256 ID of the token to be transferred", - "id": 720, + "documentation": "@dev Safely transfers the ownership of a given token ID to another address\nIf the target address is a contract, it must implement `onERC721Received`,\nwhich is called upon a safe transfer, and return the magic value\n`bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise,\nthe transfer is reverted.\n * Requires the msg sender to be the owner, approved, or operator\n@param _from current owner of the token\n@param _to address to receive the ownership of the given token ID\n@param _tokenId uint256 ID of the token to be transferred", + "id": 4006, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -12253,49 +12513,49 @@ "arguments": [ { "argumentTypes": null, - "id": 709, + "id": 3995, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 706, - "src": "6132:8:6", + "referencedDeclaration": 3992, + "src": "7176:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 710, + "id": 3996, "modifierName": { "argumentTypes": null, - "id": 708, + "id": 3994, "name": "canTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "6120:11:6", + "referencedDeclaration": 3747, + "src": "7164:11:49", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", "typeString": "modifier (uint256)" } }, "nodeType": "ModifierInvocation", - "src": "6120:21:6" + "src": "7164:21:49" } ], "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 707, + "id": 3993, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 702, + "id": 3988, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 720, - "src": "6048:13:6", + "scope": 4006, + "src": "7092:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12303,10 +12563,10 @@ "typeString": "address" }, "typeName": { - "id": 701, + "id": 3987, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6048:7:6", + "src": "7092:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12317,11 +12577,11 @@ }, { "constant": false, - "id": 704, + "id": 3990, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 720, - "src": "6067:11:6", + "scope": 4006, + "src": "7111:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12329,10 +12589,10 @@ "typeString": "address" }, "typeName": { - "id": 703, + "id": 3989, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6067:7:6", + "src": "7111:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12343,11 +12603,11 @@ }, { "constant": false, - "id": 706, + "id": 3992, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 720, - "src": "6084:16:6", + "scope": 4006, + "src": "7128:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12355,10 +12615,10 @@ "typeString": "uint256" }, "typeName": { - "id": 705, + "id": 3991, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6084:7:6", + "src": "7128:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12368,26 +12628,26 @@ "visibility": "internal" } ], - "src": "6042:62:6" + "src": "7086:62:49" }, "payable": false, "returnParameters": { - "id": 711, + "id": 3997, "nodeType": "ParameterList", "parameters": [], - "src": "6144:0:6" + "src": "7188:0:49" }, - "scope": 986, - "src": "6017:225:6", + "scope": 4267, + "src": "7061:225:49", "stateMutability": "nonpayable", - "superFunction": 391, + "superFunction": 3662, "visibility": "public" }, { "body": { - "id": 749, + "id": 4035, "nodeType": "Block", - "src": "7073:158:6", + "src": "8112:158:49", "statements": [ { "expression": { @@ -12395,12 +12655,12 @@ "arguments": [ { "argumentTypes": null, - "id": 735, + "id": 4021, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "7092:5:6", + "referencedDeclaration": 4008, + "src": "8131:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12408,12 +12668,12 @@ }, { "argumentTypes": null, - "id": 736, + "id": 4022, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "7099:3:6", + "referencedDeclaration": 4010, + "src": "8138:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12421,12 +12681,12 @@ }, { "argumentTypes": null, - "id": 737, + "id": 4023, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 726, - "src": "7104:8:6", + "referencedDeclaration": 4012, + "src": "8143:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12448,20 +12708,20 @@ "typeString": "uint256" } ], - "id": 734, + "id": 4020, "name": "transferFrom", "nodeType": "Identifier", "overloadedDeclarations": [ - 700 + 3986 ], - "referencedDeclaration": 700, - "src": "7079:12:6", + "referencedDeclaration": 3986, + "src": "8118:12:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 738, + "id": 4024, "isConstant": false, "isLValue": false, "isPure": false, @@ -12469,15 +12729,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7079:34:6", + "src": "8118:34:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 739, + "id": 4025, "nodeType": "ExpressionStatement", - "src": "7079:34:6" + "src": "8118:34:49" }, { "expression": { @@ -12488,12 +12748,12 @@ "arguments": [ { "argumentTypes": null, - "id": 742, + "id": 4028, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "7197:5:6", + "referencedDeclaration": 4008, + "src": "8236:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12501,12 +12761,12 @@ }, { "argumentTypes": null, - "id": 743, + "id": 4029, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "7204:3:6", + "referencedDeclaration": 4010, + "src": "8243:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12514,12 +12774,12 @@ }, { "argumentTypes": null, - "id": 744, + "id": 4030, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 726, - "src": "7209:8:6", + "referencedDeclaration": 4012, + "src": "8248:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12527,12 +12787,12 @@ }, { "argumentTypes": null, - "id": 745, + "id": 4031, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "7219:5:6", + "referencedDeclaration": 4014, + "src": "8258:5:49", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -12558,18 +12818,18 @@ "typeString": "bytes memory" } ], - "id": 741, + "id": 4027, "name": "checkAndCallSafeTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 985, - "src": "7172:24:6", + "referencedDeclaration": 4266, + "src": "8211:24:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,address,uint256,bytes memory) returns (bool)" } }, - "id": 746, + "id": 4032, "isConstant": false, "isLValue": false, "isPure": false, @@ -12577,7 +12837,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7172:53:6", + "src": "8211:53:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12591,21 +12851,21 @@ "typeString": "bool" } ], - "id": 740, + "id": 4026, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "7164:7:6", + "referencedDeclaration": 4882, + "src": "8203:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 747, + "id": 4033, "isConstant": false, "isLValue": false, "isPure": false, @@ -12613,20 +12873,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7164:62:6", + "src": "8203:62:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 748, + "id": 4034, "nodeType": "ExpressionStatement", - "src": "7164:62:6" + "src": "8203:62:49" } ] }, - "documentation": "@dev Safely transfers the ownership of a given token ID to another address\n@dev If the target address is a contract, it must implement `onERC721Received`,\n which is called upon a safe transfer, and return the magic value\n `bytes4(keccak256(\"onERC721Received(address,uint256,bytes)\"))`; otherwise,\n the transfer is reverted.\n@dev Requires the msg sender to be the owner, approved, or operator\n@param _from current owner of the token\n@param _to address to receive the ownership of the given token ID\n@param _tokenId uint256 ID of the token to be transferred\n@param _data bytes data to send along with a safe transfer check", - "id": 750, + "documentation": "@dev Safely transfers the ownership of a given token ID to another address\nIf the target address is a contract, it must implement `onERC721Received`,\nwhich is called upon a safe transfer, and return the magic value\n`bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise,\nthe transfer is reverted.\nRequires the msg sender to be the owner, approved, or operator\n@param _from current owner of the token\n@param _to address to receive the ownership of the given token ID\n@param _tokenId uint256 ID of the token to be transferred\n@param _data bytes data to send along with a safe transfer check", + "id": 4036, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -12635,49 +12895,49 @@ "arguments": [ { "argumentTypes": null, - "id": 731, + "id": 4017, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 726, - "src": "7061:8:6", + "referencedDeclaration": 4012, + "src": "8100:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 732, + "id": 4018, "modifierName": { "argumentTypes": null, - "id": 730, + "id": 4016, "name": "canTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "7049:11:6", + "referencedDeclaration": 3747, + "src": "8088:11:49", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", "typeString": "modifier (uint256)" } }, "nodeType": "ModifierInvocation", - "src": "7049:21:6" + "src": "8088:21:49" } ], "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 729, + "id": 4015, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 722, + "id": 4008, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 750, - "src": "6960:13:6", + "scope": 4036, + "src": "7999:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12685,10 +12945,10 @@ "typeString": "address" }, "typeName": { - "id": 721, + "id": 4007, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6960:7:6", + "src": "7999:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12699,11 +12959,11 @@ }, { "constant": false, - "id": 724, + "id": 4010, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 750, - "src": "6979:11:6", + "scope": 4036, + "src": "8018:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12711,10 +12971,10 @@ "typeString": "address" }, "typeName": { - "id": 723, + "id": 4009, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6979:7:6", + "src": "8018:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12725,11 +12985,11 @@ }, { "constant": false, - "id": 726, + "id": 4012, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 750, - "src": "6996:16:6", + "scope": 4036, + "src": "8035:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12737,10 +12997,10 @@ "typeString": "uint256" }, "typeName": { - "id": 725, + "id": 4011, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6996:7:6", + "src": "8035:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12751,11 +13011,11 @@ }, { "constant": false, - "id": 728, + "id": 4014, "name": "_data", "nodeType": "VariableDeclaration", - "scope": 750, - "src": "7018:11:6", + "scope": 4036, + "src": "8057:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12763,10 +13023,10 @@ "typeString": "bytes" }, "typeName": { - "id": 727, + "id": 4013, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7018:5:6", + "src": "8057:5:49", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -12776,39 +13036,39 @@ "visibility": "internal" } ], - "src": "6954:79:6" + "src": "7993:79:49" }, "payable": false, "returnParameters": { - "id": 733, + "id": 4019, "nodeType": "ParameterList", "parameters": [], - "src": "7073:0:6" + "src": "8112:0:49" }, - "scope": 986, - "src": "6929:302:6", + "scope": 4267, + "src": "7968:302:49", "stateMutability": "nonpayable", - "superFunction": 402, + "superFunction": 3673, "visibility": "public" }, { "body": { - "id": 780, + "id": 4067, "nodeType": "Block", - "src": "7670:148:6", + "src": "8735:320:49", "statements": [ { "assignments": [ - 760 + 4046 ], "declarations": [ { "constant": false, - "id": 760, + "id": 4046, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 781, - "src": "7676:13:6", + "scope": 4068, + "src": "8741:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12816,10 +13076,10 @@ "typeString": "address" }, "typeName": { - "id": 759, + "id": 4045, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7676:7:6", + "src": "8741:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12829,18 +13089,18 @@ "visibility": "internal" } ], - "id": 764, + "id": 4050, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 762, + "id": 4048, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7700:8:6", + "referencedDeclaration": 4040, + "src": "8765:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12854,20 +13114,20 @@ "typeString": "uint256" } ], - "id": 761, + "id": 4047, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 511 + 3812 ], - "referencedDeclaration": 511, - "src": "7692:7:6", + "referencedDeclaration": 3812, + "src": "8757:7:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 763, + "id": 4049, "isConstant": false, "isLValue": false, "isPure": false, @@ -12875,134 +13135,234 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7692:17:6", + "src": "8757:17:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "7676:33:6" + "src": "8741:33:49" }, { "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "components": [ + { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "id": 767, + "id": 4064, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 765, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "7722:8:6", + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4051, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4038, + "src": "8941:8:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 4052, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4046, + "src": "8953:5:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8941:17:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4055, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "8980:8:49", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4054, + "name": "getApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3889 + ], + "referencedDeclaration": 3889, + "src": "8968:11:49", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 4056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8968:21:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 4057, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4038, + "src": "8993:8:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8968:33:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8941:60:49", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "nodeType": "BinaryOperation", - "operator": "==", + "operator": "||", "rightExpression": { - "argumentTypes": null, - "id": 766, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 760, - "src": "7734:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7722:17:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 769, - "name": "_tokenId", + "id": 4061, + "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7755:8:6", + "referencedDeclaration": 4046, + "src": "9028:5:49", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4062, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4038, + "src": "9035:8:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 768, - "name": "getApproved", + "id": 4060, + "name": "isApprovedForAll", "nodeType": "Identifier", "overloadedDeclarations": [ - 603 + 3936 ], - "referencedDeclaration": 603, - "src": "7743:11:6", + "referencedDeclaration": 3936, + "src": "9011:16:49", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" } }, - "id": 770, + "id": 4063, "isConstant": false, "isLValue": false, "isPure": false, @@ -13010,124 +13370,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7743:21:6", + "src": "9011:33:49", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 771, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "7768:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7743:33:6", + "src": "8941:103:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } - }, - "src": "7722:54:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 775, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 760, - "src": "7797:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 776, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "7804:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 774, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 650 - ], - "referencedDeclaration": 650, - "src": "7780:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7780:33:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7722:91:6", + ], + "id": 4065, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8933:117:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 758, - "id": 779, + "functionReturnParameters": 4044, + "id": 4066, "nodeType": "Return", - "src": "7715:98:6" + "src": "8926:124:49" } ] }, "documentation": "@dev Returns whether the given spender can transfer a given token ID\n@param _spender address of the spender to query\n@param _tokenId uint256 ID of the token to be transferred\n@return bool whether the msg.sender is approved for the given token ID,\n is an operator of the owner, or is the owner of the token", - "id": 781, + "id": 4068, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -13135,16 +13412,16 @@ "name": "isApprovedOrOwner", "nodeType": "FunctionDefinition", "parameters": { - "id": 755, + "id": 4041, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 752, + "id": 4038, "name": "_spender", "nodeType": "VariableDeclaration", - "scope": 781, - "src": "7605:16:6", + "scope": 4068, + "src": "8649:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13152,10 +13429,10 @@ "typeString": "address" }, "typeName": { - "id": 751, + "id": 4037, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7605:7:6", + "src": "8649:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13166,11 +13443,11 @@ }, { "constant": false, - "id": 754, + "id": 4040, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 781, - "src": "7623:16:6", + "scope": 4068, + "src": "8671:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13178,10 +13455,10 @@ "typeString": "uint256" }, "typeName": { - "id": 753, + "id": 4039, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7623:7:6", + "src": "8671:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13191,20 +13468,20 @@ "visibility": "internal" } ], - "src": "7604:36:6" + "src": "8643:48:49" }, "payable": false, "returnParameters": { - "id": 758, + "id": 4044, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 757, + "id": 4043, "name": "", "nodeType": "VariableDeclaration", - "scope": 781, - "src": "7664:4:6", + "scope": 4068, + "src": "8727:4:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13212,10 +13489,10 @@ "typeString": "bool" }, "typeName": { - "id": 756, + "id": 4042, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7664:4:6", + "src": "8727:4:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13225,19 +13502,19 @@ "visibility": "internal" } ], - "src": "7663:6:6" + "src": "8726:6:49" }, - "scope": 986, - "src": "7578:240:6", + "scope": 4267, + "src": "8617:438:49", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 809, + "id": 4096, "nodeType": "Block", - "src": "8127:114:6", + "src": "9359:114:49", "statements": [ { "expression": { @@ -13249,19 +13526,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 793, + "id": 4080, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 789, + "id": 4076, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "8141:3:6", + "referencedDeclaration": 4070, + "src": "9373:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13275,14 +13552,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 791, + "id": 4078, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8156:1:6", + "src": "9388:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13298,20 +13575,20 @@ "typeString": "int_const 0" } ], - "id": 790, + "id": 4077, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8148:7:6", + "src": "9380:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 792, + "id": 4079, "isConstant": false, "isLValue": false, "isPure": true, @@ -13319,13 +13596,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8148:10:6", + "src": "9380:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "8141:17:6", + "src": "9373:17:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13339,21 +13616,21 @@ "typeString": "bool" } ], - "id": 788, + "id": 4075, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "8133:7:6", + "referencedDeclaration": 4882, + "src": "9365:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 794, + "id": 4081, "isConstant": false, "isLValue": false, "isPure": false, @@ -13361,15 +13638,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8133:26:6", + "src": "9365:26:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 795, + "id": 4082, "nodeType": "ExpressionStatement", - "src": "8133:26:6" + "src": "9365:26:49" }, { "expression": { @@ -13377,12 +13654,12 @@ "arguments": [ { "argumentTypes": null, - "id": 797, + "id": 4084, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "8176:3:6", + "referencedDeclaration": 4070, + "src": "9408:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13390,12 +13667,12 @@ }, { "argumentTypes": null, - "id": 798, + "id": 4085, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "8181:8:6", + "referencedDeclaration": 4072, + "src": "9413:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13413,18 +13690,18 @@ "typeString": "uint256" } ], - "id": 796, + "id": 4083, "name": "addTokenTo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "8165:10:6", + "referencedDeclaration": 4191, + "src": "9397:10:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 799, + "id": 4086, "isConstant": false, "isLValue": false, "isPure": false, @@ -13432,15 +13709,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8165:25:6", + "src": "9397:25:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 800, + "id": 4087, "nodeType": "ExpressionStatement", - "src": "8165:25:6" + "src": "9397:25:49" }, { "eventCall": { @@ -13452,14 +13729,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 803, + "id": 4090, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8218:1:6", + "src": "9450:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13475,20 +13752,20 @@ "typeString": "int_const 0" } ], - "id": 802, + "id": 4089, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8210:7:6", + "src": "9442:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 804, + "id": 4091, "isConstant": false, "isLValue": false, "isPure": true, @@ -13496,7 +13773,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8210:10:6", + "src": "9442:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13504,12 +13781,12 @@ }, { "argumentTypes": null, - "id": 805, + "id": 4092, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "8222:3:6", + "referencedDeclaration": 4070, + "src": "9454:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13517,12 +13794,12 @@ }, { "argumentTypes": null, - "id": 806, + "id": 4093, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "8227:8:6", + "referencedDeclaration": 4072, + "src": "9459:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13544,18 +13821,18 @@ "typeString": "uint256" } ], - "id": 801, + "id": 4088, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 306, - "src": "8201:8:6", + "referencedDeclaration": 3577, + "src": "9433:8:49", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 807, + "id": 4094, "isConstant": false, "isLValue": false, "isPure": false, @@ -13563,20 +13840,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8201:35:6", + "src": "9433:35:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 808, + "id": 4095, "nodeType": "EmitStatement", - "src": "8196:40:6" + "src": "9428:40:49" } ] }, - "documentation": "@dev Internal function to mint a new token\n@dev Reverts if the given token ID already exists\n@param _to The address that will own the minted token\n@param _tokenId uint256 ID of the token to be minted by the msg.sender", - "id": 810, + "documentation": "@dev Internal function to mint a new token\nReverts if the given token ID already exists\n@param _to The address that will own the minted token\n@param _tokenId uint256 ID of the token to be minted by the msg.sender", + "id": 4097, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -13584,16 +13861,16 @@ "name": "_mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 786, + "id": 4073, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 783, + "id": 4070, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 810, - "src": "8087:11:6", + "scope": 4097, + "src": "9319:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13601,10 +13878,10 @@ "typeString": "address" }, "typeName": { - "id": 782, + "id": 4069, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8087:7:6", + "src": "9319:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13615,11 +13892,11 @@ }, { "constant": false, - "id": 785, + "id": 4072, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 810, - "src": "8100:16:6", + "scope": 4097, + "src": "9332:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13627,10 +13904,10 @@ "typeString": "uint256" }, "typeName": { - "id": 784, + "id": 4071, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8100:7:6", + "src": "9332:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13640,26 +13917,26 @@ "visibility": "internal" } ], - "src": "8086:31:6" + "src": "9318:31:49" }, "payable": false, "returnParameters": { - "id": 787, + "id": 4074, "nodeType": "ParameterList", "parameters": [], - "src": "8127:0:6" + "src": "9359:0:49" }, - "scope": 986, - "src": "8072:169:6", + "scope": 4267, + "src": "9304:169:49", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 835, + "id": 4122, "nodeType": "Block", - "src": "8490:130:6", + "src": "9717:130:49", "statements": [ { "expression": { @@ -13667,12 +13944,12 @@ "arguments": [ { "argumentTypes": null, - "id": 818, + "id": 4105, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "8510:6:6", + "referencedDeclaration": 4099, + "src": "9737:6:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13680,12 +13957,12 @@ }, { "argumentTypes": null, - "id": 819, + "id": 4106, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "8518:8:6", + "referencedDeclaration": 4101, + "src": "9745:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13703,18 +13980,18 @@ "typeString": "uint256" } ], - "id": 817, + "id": 4104, "name": "clearApproval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 877, - "src": "8496:13:6", + "referencedDeclaration": 4156, + "src": "9723:13:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 820, + "id": 4107, "isConstant": false, "isLValue": false, "isPure": false, @@ -13722,15 +13999,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8496:31:6", + "src": "9723:31:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 821, + "id": 4108, "nodeType": "ExpressionStatement", - "src": "8496:31:6" + "src": "9723:31:49" }, { "expression": { @@ -13738,12 +14015,12 @@ "arguments": [ { "argumentTypes": null, - "id": 823, + "id": 4110, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "8549:6:6", + "referencedDeclaration": 4099, + "src": "9776:6:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13751,12 +14028,12 @@ }, { "argumentTypes": null, - "id": 824, + "id": 4111, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "8557:8:6", + "referencedDeclaration": 4101, + "src": "9784:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13774,18 +14051,18 @@ "typeString": "uint256" } ], - "id": 822, + "id": 4109, "name": "removeTokenFrom", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 947, - "src": "8533:15:6", + "referencedDeclaration": 4226, + "src": "9760:15:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 825, + "id": 4112, "isConstant": false, "isLValue": false, "isPure": false, @@ -13793,15 +14070,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8533:33:6", + "src": "9760:33:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 826, + "id": 4113, "nodeType": "ExpressionStatement", - "src": "8533:33:6" + "src": "9760:33:49" }, { "eventCall": { @@ -13809,12 +14086,12 @@ "arguments": [ { "argumentTypes": null, - "id": 828, + "id": 4115, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "8586:6:6", + "referencedDeclaration": 4099, + "src": "9813:6:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13826,14 +14103,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 830, + "id": 4117, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8602:1:6", + "src": "9829:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13849,20 +14126,20 @@ "typeString": "int_const 0" } ], - "id": 829, + "id": 4116, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8594:7:6", + "src": "9821:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 831, + "id": 4118, "isConstant": false, "isLValue": false, "isPure": true, @@ -13870,7 +14147,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8594:10:6", + "src": "9821:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13878,12 +14155,12 @@ }, { "argumentTypes": null, - "id": 832, + "id": 4119, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "8606:8:6", + "referencedDeclaration": 4101, + "src": "9833:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13905,18 +14182,18 @@ "typeString": "uint256" } ], - "id": 827, + "id": 4114, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 306, - "src": "8577:8:6", + "referencedDeclaration": 3577, + "src": "9804:8:49", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 833, + "id": 4120, "isConstant": false, "isLValue": false, "isPure": false, @@ -13924,20 +14201,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8577:38:6", + "src": "9804:38:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 834, + "id": 4121, "nodeType": "EmitStatement", - "src": "8572:43:6" + "src": "9799:43:49" } ] }, - "documentation": "@dev Internal function to burn a specific token\n@dev Reverts if the token does not exist\n@param _tokenId uint256 ID of the token being burned by the msg.sender", - "id": 836, + "documentation": "@dev Internal function to burn a specific token\nReverts if the token does not exist\n@param _tokenId uint256 ID of the token being burned by the msg.sender", + "id": 4123, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -13945,16 +14222,16 @@ "name": "_burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 815, + "id": 4102, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 812, + "id": 4099, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 836, - "src": "8447:14:6", + "scope": 4123, + "src": "9674:14:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13962,10 +14239,10 @@ "typeString": "address" }, "typeName": { - "id": 811, + "id": 4098, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8447:7:6", + "src": "9674:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13976,11 +14253,11 @@ }, { "constant": false, - "id": 814, + "id": 4101, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 836, - "src": "8463:16:6", + "scope": 4123, + "src": "9690:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13988,10 +14265,10 @@ "typeString": "uint256" }, "typeName": { - "id": 813, + "id": 4100, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8463:7:6", + "src": "9690:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14001,26 +14278,26 @@ "visibility": "internal" } ], - "src": "8446:34:6" + "src": "9673:34:49" }, "payable": false, "returnParameters": { - "id": 816, + "id": 4103, "nodeType": "ParameterList", "parameters": [], - "src": "8490:0:6" + "src": "9717:0:49" }, - "scope": 986, - "src": "8432:188:6", + "scope": 4267, + "src": "9659:188:49", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 876, + "id": 4155, "nodeType": "Block", - "src": "8953:199:6", + "src": "10175:148:49", "statements": [ { "expression": { @@ -14032,7 +14309,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 848, + "id": 4135, "isConstant": false, "isLValue": false, "isPure": false, @@ -14042,12 +14319,12 @@ "arguments": [ { "argumentTypes": null, - "id": 845, + "id": 4132, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 840, - "src": "8975:8:6", + "referencedDeclaration": 4127, + "src": "10197:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14061,20 +14338,20 @@ "typeString": "uint256" } ], - "id": 844, + "id": 4131, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 511 + 3812 ], - "referencedDeclaration": 511, - "src": "8967:7:6", + "referencedDeclaration": 3812, + "src": "10189:7:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 846, + "id": 4133, "isConstant": false, "isLValue": false, "isPure": false, @@ -14082,7 +14359,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8967:17:6", + "src": "10189:17:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14092,18 +14369,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 847, + "id": 4134, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "8988:6:6", + "referencedDeclaration": 4125, + "src": "10210:6:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "8967:27:6", + "src": "10189:27:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14117,21 +14394,21 @@ "typeString": "bool" } ], - "id": 843, + "id": 4130, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "8959:7:6", + "referencedDeclaration": 4882, + "src": "10181:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 849, + "id": 4136, "isConstant": false, "isLValue": false, "isPure": false, @@ -14139,15 +14416,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8959:36:6", + "src": "10181:36:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 850, + "id": 4137, "nodeType": "ExpressionStatement", - "src": "8959:36:6" + "src": "10181:36:49" }, { "condition": { @@ -14156,7 +14433,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 857, + "id": 4144, "isConstant": false, "isLValue": false, "isPure": false, @@ -14165,26 +14442,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 851, + "id": 4138, "name": "tokenApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "9005:14:6", + "referencedDeclaration": 3708, + "src": "10227:14:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 853, + "id": 4140, "indexExpression": { "argumentTypes": null, - "id": 852, + "id": 4139, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 840, - "src": "9020:8:6", + "referencedDeclaration": 4127, + "src": "10242:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14195,7 +14472,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9005:24:6", + "src": "10227:24:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14209,14 +14486,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 855, + "id": 4142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9041:1:6", + "src": "10263:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14232,20 +14509,20 @@ "typeString": "int_const 0" } ], - "id": 854, + "id": 4141, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9033:7:6", + "src": "10255:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 856, + "id": 4143, "isConstant": false, "isLValue": false, "isPure": true, @@ -14253,31 +14530,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9033:10:6", + "src": "10255:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "9005:38:6", + "src": "10227:38:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 875, + "id": 4154, "nodeType": "IfStatement", - "src": "9001:147:6", + "src": "10223:96:49", "trueBody": { - "id": 874, + "id": 4153, "nodeType": "Block", - "src": "9045:103:6", + "src": "10267:52:49", "statements": [ { "expression": { "argumentTypes": null, - "id": 864, + "id": 4151, "isConstant": false, "isLValue": false, "isPure": false, @@ -14286,26 +14563,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 858, + "id": 4145, "name": "tokenApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "9053:14:6", + "referencedDeclaration": 3708, + "src": "10275:14:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 860, + "id": 4147, "indexExpression": { "argumentTypes": null, - "id": 859, + "id": 4146, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 840, - "src": "9068:8:6", + "referencedDeclaration": 4127, + "src": "10290:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14316,7 +14593,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9053:24:6", + "src": "10275:24:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14330,14 +14607,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 862, + "id": 4149, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9088:1:6", + "src": "10310:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14353,20 +14630,20 @@ "typeString": "int_const 0" } ], - "id": 861, + "id": 4148, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9080:7:6", + "src": "10302:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 863, + "id": 4150, "isConstant": false, "isLValue": false, "isPure": true, @@ -14374,160 +14651,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9080:10:6", + "src": "10302:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "9053:37:6", + "src": "10275:37:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 865, + "id": 4152, "nodeType": "ExpressionStatement", - "src": "9053:37:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 867, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "9112:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 869, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9128:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9120:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 870, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9120:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 871, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 840, - "src": "9132:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 866, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 314, - "src": "9103:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9103:38:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 873, - "nodeType": "EmitStatement", - "src": "9098:43:6" + "src": "10275:37:49" } ] } } ] }, - "documentation": "@dev Internal function to clear current approval of a given token ID\n@dev Reverts if the given address is not indeed the owner of the token\n@param _owner owner of the token\n@param _tokenId uint256 ID of the token to be transferred", - "id": 877, + "documentation": "@dev Internal function to clear current approval of a given token ID\nReverts if the given address is not indeed the owner of the token\n@param _owner owner of the token\n@param _tokenId uint256 ID of the token to be transferred", + "id": 4156, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -14535,16 +14681,16 @@ "name": "clearApproval", "nodeType": "FunctionDefinition", "parameters": { - "id": 841, + "id": 4128, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 838, + "id": 4125, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 877, - "src": "8910:14:6", + "scope": 4156, + "src": "10132:14:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14552,10 +14698,10 @@ "typeString": "address" }, "typeName": { - "id": 837, + "id": 4124, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8910:7:6", + "src": "10132:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14566,11 +14712,11 @@ }, { "constant": false, - "id": 840, + "id": 4127, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 877, - "src": "8926:16:6", + "scope": 4156, + "src": "10148:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14578,10 +14724,10 @@ "typeString": "uint256" }, "typeName": { - "id": 839, + "id": 4126, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8926:7:6", + "src": "10148:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14591,26 +14737,26 @@ "visibility": "internal" } ], - "src": "8909:34:6" + "src": "10131:34:49" }, "payable": false, "returnParameters": { - "id": 842, + "id": 4129, "nodeType": "ParameterList", "parameters": [], - "src": "8953:0:6" + "src": "10175:0:49" }, - "scope": 986, - "src": "8887:265:6", + "scope": 4267, + "src": "10109:214:49", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 911, + "id": 4190, "nodeType": "Block", - "src": "9475:144:6", + "src": "10646:144:49", "statements": [ { "expression": { @@ -14622,7 +14768,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 891, + "id": 4170, "isConstant": false, "isLValue": false, "isPure": false, @@ -14631,26 +14777,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 885, + "id": 4164, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "9489:10:6", + "referencedDeclaration": 3704, + "src": "10660:10:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 887, + "id": 4166, "indexExpression": { "argumentTypes": null, - "id": 886, + "id": 4165, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "9500:8:6", + "referencedDeclaration": 4160, + "src": "10671:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14661,7 +14807,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9489:20:6", + "src": "10660:20:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14675,14 +14821,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 889, + "id": 4168, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9521:1:6", + "src": "10692:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14698,20 +14844,20 @@ "typeString": "int_const 0" } ], - "id": 888, + "id": 4167, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9513:7:6", + "src": "10684:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 890, + "id": 4169, "isConstant": false, "isLValue": false, "isPure": true, @@ -14719,13 +14865,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9513:10:6", + "src": "10684:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "9489:34:6", + "src": "10660:34:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14739,21 +14885,21 @@ "typeString": "bool" } ], - "id": 884, + "id": 4163, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "9481:7:6", + "referencedDeclaration": 4882, + "src": "10652:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 892, + "id": 4171, "isConstant": false, "isLValue": false, "isPure": false, @@ -14761,20 +14907,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9481:43:6", + "src": "10652:43:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 893, + "id": 4172, "nodeType": "ExpressionStatement", - "src": "9481:43:6" + "src": "10652:43:49" }, { "expression": { "argumentTypes": null, - "id": 898, + "id": 4177, "isConstant": false, "isLValue": false, "isPure": false, @@ -14783,26 +14929,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 894, + "id": 4173, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "9530:10:6", + "referencedDeclaration": 3704, + "src": "10701:10:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 896, + "id": 4175, "indexExpression": { "argumentTypes": null, - "id": 895, + "id": 4174, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "9541:8:6", + "referencedDeclaration": 4160, + "src": "10712:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14813,7 +14959,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9530:20:6", + "src": "10701:20:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14823,31 +14969,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 897, + "id": 4176, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9553:3:6", + "referencedDeclaration": 4158, + "src": "10724:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "9530:26:6", + "src": "10701:26:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 899, + "id": 4178, "nodeType": "ExpressionStatement", - "src": "9530:26:6" + "src": "10701:26:49" }, { "expression": { "argumentTypes": null, - "id": 909, + "id": 4188, "isConstant": false, "isLValue": false, "isPure": false, @@ -14856,26 +15002,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 900, + "id": 4179, "name": "ownedTokensCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "9562:16:6", + "referencedDeclaration": 3712, + "src": "10733:16:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 902, + "id": 4181, "indexExpression": { "argumentTypes": null, - "id": 901, + "id": 4180, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9579:3:6", + "referencedDeclaration": 4158, + "src": "10750:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14886,7 +15032,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9562:21:6", + "src": "10733:21:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14900,14 +15046,14 @@ { "argumentTypes": null, "hexValue": "31", - "id": 907, + "id": 4186, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9612:1:6", + "src": "10783:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -14927,26 +15073,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 903, + "id": 4182, "name": "ownedTokensCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "9586:16:6", + "referencedDeclaration": 3712, + "src": "10757:16:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 905, + "id": 4184, "indexExpression": { "argumentTypes": null, - "id": 904, + "id": 4183, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9603:3:6", + "referencedDeclaration": 4158, + "src": "10774:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14957,27 +15103,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9586:21:6", + "src": "10757:21:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 906, + "id": 4185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 111, - "src": "9586:25:6", + "referencedDeclaration": 578, + "src": "10757:25:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 908, + "id": 4187, "isConstant": false, "isLValue": false, "isPure": false, @@ -14985,26 +15131,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9586:28:6", + "src": "10757:28:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9562:52:6", + "src": "10733:52:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 910, + "id": 4189, "nodeType": "ExpressionStatement", - "src": "9562:52:6" + "src": "10733:52:49" } ] }, "documentation": "@dev Internal function to add a token ID to the list of a given address\n@param _to address representing the new owner of the given token ID\n@param _tokenId uint256 ID of the token to be added to the tokens list of the given address", - "id": 912, + "id": 4191, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -15012,16 +15158,16 @@ "name": "addTokenTo", "nodeType": "FunctionDefinition", "parameters": { - "id": 882, + "id": 4161, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 879, + "id": 4158, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 912, - "src": "9435:11:6", + "scope": 4191, + "src": "10606:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15029,10 +15175,10 @@ "typeString": "address" }, "typeName": { - "id": 878, + "id": 4157, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9435:7:6", + "src": "10606:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15043,11 +15189,11 @@ }, { "constant": false, - "id": 881, + "id": 4160, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 912, - "src": "9448:16:6", + "scope": 4191, + "src": "10619:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15055,10 +15201,10 @@ "typeString": "uint256" }, "typeName": { - "id": 880, + "id": 4159, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9448:7:6", + "src": "10619:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15068,26 +15214,26 @@ "visibility": "internal" } ], - "src": "9434:31:6" + "src": "10605:31:49" }, "payable": false, "returnParameters": { - "id": 883, + "id": 4162, "nodeType": "ParameterList", "parameters": [], - "src": "9475:0:6" + "src": "10646:0:49" }, - "scope": 986, - "src": "9415:204:6", + "scope": 4267, + "src": "10586:204:49", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 946, + "id": 4225, "nodeType": "Block", - "src": "9965:147:6", + "src": "11136:147:49", "statements": [ { "expression": { @@ -15099,7 +15245,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 924, + "id": 4203, "isConstant": false, "isLValue": false, "isPure": false, @@ -15109,12 +15255,12 @@ "arguments": [ { "argumentTypes": null, - "id": 921, + "id": 4200, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 916, - "src": "9987:8:6", + "referencedDeclaration": 4195, + "src": "11158:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15128,20 +15274,20 @@ "typeString": "uint256" } ], - "id": 920, + "id": 4199, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 511 + 3812 ], - "referencedDeclaration": 511, - "src": "9979:7:6", + "referencedDeclaration": 3812, + "src": "11150:7:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 922, + "id": 4201, "isConstant": false, "isLValue": false, "isPure": false, @@ -15149,7 +15295,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9979:17:6", + "src": "11150:17:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15159,18 +15305,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 923, + "id": 4202, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 914, - "src": "10000:5:6", + "referencedDeclaration": 4193, + "src": "11171:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "9979:26:6", + "src": "11150:26:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15184,21 +15330,21 @@ "typeString": "bool" } ], - "id": 919, + "id": 4198, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "9971:7:6", + "referencedDeclaration": 4882, + "src": "11142:7:49", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 925, + "id": 4204, "isConstant": false, "isLValue": false, "isPure": false, @@ -15206,20 +15352,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9971:35:6", + "src": "11142:35:49", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 926, + "id": 4205, "nodeType": "ExpressionStatement", - "src": "9971:35:6" + "src": "11142:35:49" }, { "expression": { "argumentTypes": null, - "id": 936, + "id": 4215, "isConstant": false, "isLValue": false, "isPure": false, @@ -15228,26 +15374,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 927, + "id": 4206, "name": "ownedTokensCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "10012:16:6", + "referencedDeclaration": 3712, + "src": "11183:16:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 929, + "id": 4208, "indexExpression": { "argumentTypes": null, - "id": 928, + "id": 4207, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 914, - "src": "10029:5:6", + "referencedDeclaration": 4193, + "src": "11200:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15258,7 +15404,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "10012:23:6", + "src": "11183:23:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15272,14 +15418,14 @@ { "argumentTypes": null, "hexValue": "31", - "id": 934, + "id": 4213, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10066:1:6", + "src": "11237:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15299,26 +15445,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 930, + "id": 4209, "name": "ownedTokensCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "10038:16:6", + "referencedDeclaration": 3712, + "src": "11209:16:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 932, + "id": 4211, "indexExpression": { "argumentTypes": null, - "id": 931, + "id": 4210, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 914, - "src": "10055:5:6", + "referencedDeclaration": 4193, + "src": "11226:5:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15329,27 +15475,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10038:23:6", + "src": "11209:23:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 933, + "id": 4212, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "10038:27:6", + "referencedDeclaration": 554, + "src": "11209:27:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 935, + "id": 4214, "isConstant": false, "isLValue": false, "isPure": false, @@ -15357,26 +15503,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10038:30:6", + "src": "11209:30:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10012:56:6", + "src": "11183:56:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 937, + "id": 4216, "nodeType": "ExpressionStatement", - "src": "10012:56:6" + "src": "11183:56:49" }, { "expression": { "argumentTypes": null, - "id": 944, + "id": 4223, "isConstant": false, "isLValue": false, "isPure": false, @@ -15385,26 +15531,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 938, + "id": 4217, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 424, - "src": "10074:10:6", + "referencedDeclaration": 3704, + "src": "11245:10:49", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 940, + "id": 4219, "indexExpression": { "argumentTypes": null, - "id": 939, + "id": 4218, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 916, - "src": "10085:8:6", + "referencedDeclaration": 4195, + "src": "11256:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15415,7 +15561,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "10074:20:6", + "src": "11245:20:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15429,14 +15575,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 942, + "id": 4221, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10105:1:6", + "src": "11276:1:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15452,20 +15598,20 @@ "typeString": "int_const 0" } ], - "id": 941, + "id": 4220, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "10097:7:6", + "src": "11268:7:49", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 943, + "id": 4222, "isConstant": false, "isLValue": false, "isPure": true, @@ -15473,26 +15619,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10097:10:6", + "src": "11268:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "10074:33:6", + "src": "11245:33:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 945, + "id": 4224, "nodeType": "ExpressionStatement", - "src": "10074:33:6" + "src": "11245:33:49" } ] }, "documentation": "@dev Internal function to remove a token ID from the list of a given address\n@param _from address representing the previous owner of the given token ID\n@param _tokenId uint256 ID of the token to be removed from the tokens list of the given address", - "id": 947, + "id": 4226, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -15500,16 +15646,16 @@ "name": "removeTokenFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 917, + "id": 4196, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 914, + "id": 4193, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 947, - "src": "9923:13:6", + "scope": 4226, + "src": "11094:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15517,10 +15663,10 @@ "typeString": "address" }, "typeName": { - "id": 913, + "id": 4192, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9923:7:6", + "src": "11094:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15531,11 +15677,11 @@ }, { "constant": false, - "id": 916, + "id": 4195, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 947, - "src": "9938:16:6", + "scope": 4226, + "src": "11109:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15543,10 +15689,10 @@ "typeString": "uint256" }, "typeName": { - "id": 915, + "id": 4194, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9938:7:6", + "src": "11109:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15556,31 +15702,31 @@ "visibility": "internal" } ], - "src": "9922:33:6" + "src": "11093:33:49" }, "payable": false, "returnParameters": { - "id": 918, + "id": 4197, "nodeType": "ParameterList", "parameters": [], - "src": "9965:0:6" + "src": "11136:0:49" }, - "scope": 986, - "src": "9898:214:6", + "scope": 4267, + "src": "11069:214:49", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 984, + "id": 4265, "nodeType": "Block", - "src": "10770:181:6", + "src": "11936:200:49", "statements": [ { "condition": { "argumentTypes": null, - "id": 963, + "id": 4242, "isConstant": false, "isLValue": false, "isPure": false, @@ -15588,7 +15734,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "10780:17:6", + "src": "11946:17:49", "subExpression": { "argumentTypes": null, "arguments": [], @@ -15596,18 +15742,18 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 960, + "id": 4239, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 951, - "src": "10781:3:6", + "referencedDeclaration": 4230, + "src": "11947:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 961, + "id": 4240, "isConstant": false, "isLValue": false, "isPure": false, @@ -15615,13 +15761,13 @@ "memberName": "isContract", "nodeType": "MemberAccess", "referencedDeclaration": 17, - "src": "10781:14:6", + "src": "11947:14:49", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", "typeString": "function (address) view returns (bool)" } }, - "id": 962, + "id": 4241, "isConstant": false, "isLValue": false, "isPure": false, @@ -15629,7 +15775,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10781:16:6", + "src": "11947:16:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15641,26 +15787,26 @@ } }, "falseBody": null, - "id": 967, + "id": 4246, "nodeType": "IfStatement", - "src": "10776:49:6", + "src": "11942:49:49", "trueBody": { - "id": 966, + "id": 4245, "nodeType": "Block", - "src": "10799:26:6", + "src": "11965:26:49", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 964, + "id": 4243, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "10814:4:6", + "src": "11980:4:49", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -15668,26 +15814,26 @@ }, "value": "true" }, - "functionReturnParameters": 959, - "id": 965, + "functionReturnParameters": 4238, + "id": 4244, "nodeType": "Return", - "src": "10807:11:6" + "src": "11973:11:49" } ] } }, { "assignments": [ - 969 + 4248 ], "declarations": [ { "constant": false, - "id": 969, + "id": 4248, "name": "retval", "nodeType": "VariableDeclaration", - "scope": 985, - "src": "10830:13:6", + "scope": 4266, + "src": "11996:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15695,10 +15841,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 968, + "id": 4247, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "10830:6:6", + "src": "11996:6:49", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -15708,18 +15854,34 @@ "visibility": "internal" } ], - "id": 978, + "id": 4259, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 974, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 949, - "src": "10883:5:6", + "expression": { + "argumentTypes": null, + "id": 4253, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4879, + "src": "12056:3:49", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12056:10:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15727,12 +15889,25 @@ }, { "argumentTypes": null, - "id": 975, + "id": 4255, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4228, + "src": "12068:5:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4256, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "10890:8:6", + "referencedDeclaration": 4232, + "src": "12075:8:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15740,12 +15915,12 @@ }, { "argumentTypes": null, - "id": 976, + "id": 4257, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 955, - "src": "10900:5:6", + "referencedDeclaration": 4234, + "src": "12085:5:49", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -15754,6 +15929,10 @@ ], "expression": { "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, { "typeIdentifier": "t_address", "typeString": "address" @@ -15772,12 +15951,12 @@ "arguments": [ { "argumentTypes": null, - "id": 971, + "id": 4250, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 951, - "src": "10861:3:6", + "referencedDeclaration": 4230, + "src": "12027:3:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15791,18 +15970,18 @@ "typeString": "address" } ], - "id": 970, + "id": 4249, "name": "ERC721Receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1003, - "src": "10846:14:6", + "referencedDeclaration": 4308, + "src": "12012:14:49", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Receiver_$1003_$", + "typeIdentifier": "t_type$_t_contract$_ERC721Receiver_$4308_$", "typeString": "type(contract ERC721Receiver)" } }, - "id": 972, + "id": 4251, "isConstant": false, "isLValue": false, "isPure": false, @@ -15810,27 +15989,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10846:19:6", + "src": "12012:19:49", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Receiver_$1003", + "typeIdentifier": "t_contract$_ERC721Receiver_$4308", "typeString": "contract ERC721Receiver" } }, - "id": 973, + "id": 4252, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "onERC721Received", "nodeType": "MemberAccess", - "referencedDeclaration": 1002, - "src": "10846:36:6", + "referencedDeclaration": 4307, + "src": "12012:36:49", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,uint256,bytes memory) external returns (bytes4)" + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", + "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" } }, - "id": 977, + "id": 4258, "isConstant": false, "isLValue": false, "isPure": false, @@ -15838,14 +16017,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10846:60:6", + "src": "12012:79:49", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "VariableDeclarationStatement", - "src": "10830:76:6" + "src": "11996:95:49" }, { "expression": { @@ -15857,19 +16036,19 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 981, + "id": 4262, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 979, + "id": 4260, "name": "retval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 969, - "src": "10920:6:6", + "referencedDeclaration": 4248, + "src": "12105:6:49", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -15879,46 +16058,46 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 980, + "id": 4261, "name": "ERC721_RECEIVED", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 420, - "src": "10930:15:6", + "referencedDeclaration": 3700, + "src": "12115:15:49", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "10920:25:6", + "src": "12105:25:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 982, + "id": 4263, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "10919:27:6", + "src": "12104:27:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 959, - "id": 983, + "functionReturnParameters": 4238, + "id": 4264, "nodeType": "Return", - "src": "10912:34:6" + "src": "12097:34:49" } ] }, - "documentation": "@dev Internal function to invoke `onERC721Received` on a target address\n@dev The call is not executed if the target address is not a contract\n@param _from address representing the previous owner of the given token ID\n@param _to target address that will receive the tokens\n@param _tokenId uint256 ID of the token to be transferred\n@param _data bytes optional data to send along with the call\n@return whether the call correctly returned the expected magic value", - "id": 985, + "documentation": "@dev Internal function to invoke `onERC721Received` on a target address\nThe call is not executed if the target address is not a contract\n@param _from address representing the previous owner of the given token ID\n@param _to target address that will receive the tokens\n@param _tokenId uint256 ID of the token to be transferred\n@param _data bytes optional data to send along with the call\n@return whether the call correctly returned the expected magic value", + "id": 4266, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -15926,16 +16105,16 @@ "name": "checkAndCallSafeTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 956, + "id": 4235, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 949, + "id": 4228, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 985, - "src": "10662:13:6", + "scope": 4266, + "src": "11828:13:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15943,10 +16122,10 @@ "typeString": "address" }, "typeName": { - "id": 948, + "id": 4227, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10662:7:6", + "src": "11828:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15957,11 +16136,11 @@ }, { "constant": false, - "id": 951, + "id": 4230, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 985, - "src": "10681:11:6", + "scope": 4266, + "src": "11847:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15969,10 +16148,10 @@ "typeString": "address" }, "typeName": { - "id": 950, + "id": 4229, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10681:7:6", + "src": "11847:7:49", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15983,11 +16162,11 @@ }, { "constant": false, - "id": 953, + "id": 4232, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 985, - "src": "10698:16:6", + "scope": 4266, + "src": "11864:16:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15995,10 +16174,10 @@ "typeString": "uint256" }, "typeName": { - "id": 952, + "id": 4231, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10698:7:6", + "src": "11864:7:49", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16009,11 +16188,11 @@ }, { "constant": false, - "id": 955, + "id": 4234, "name": "_data", "nodeType": "VariableDeclaration", - "scope": 985, - "src": "10720:11:6", + "scope": 4266, + "src": "11886:11:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16021,10 +16200,10 @@ "typeString": "bytes" }, "typeName": { - "id": 954, + "id": 4233, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "10720:5:6", + "src": "11886:5:49", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -16034,20 +16213,20 @@ "visibility": "internal" } ], - "src": "10656:79:6" + "src": "11822:79:49" }, "payable": false, "returnParameters": { - "id": 959, + "id": 4238, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 958, + "id": 4237, "name": "", "nodeType": "VariableDeclaration", - "scope": 985, - "src": "10762:4:6", + "scope": 4266, + "src": "11928:4:49", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16055,10 +16234,10 @@ "typeString": "bool" }, "typeName": { - "id": 957, + "id": 4236, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "10762:4:6", + "src": "11928:4:49", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16068,20 +16247,20 @@ "visibility": "internal" } ], - "src": "10761:6:6" + "src": "11927:6:49" }, - "scope": 986, - "src": "10623:328:6", + "scope": 4267, + "src": "11789:347:49", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 987, - "src": "301:10652:6" + "scope": 4268, + "src": "349:11789:49" } ], - "src": "0:10954:6" + "src": "0:12139:49" }, "compiler": { "name": "solc", @@ -16089,5 +16268,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-08-23T17:26:04.161Z" + "updatedAt": "2018-08-27T20:45:00.219Z" } \ No newline at end of file diff --git a/build/contracts/ERC721BasicTokenMock.json b/build/contracts/ERC721BasicTokenMock.json index a638c89d3..e701fcd57 100644 --- a/build/contracts/ERC721BasicTokenMock.json +++ b/build/contracts/ERC721BasicTokenMock.json @@ -1,6 +1,25 @@ { "contractName": "ERC721BasicTokenMock", "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [ @@ -242,7 +261,7 @@ "type": "address" }, { - "indexed": false, + "indexed": true, "name": "_tokenId", "type": "uint256" } @@ -305,24 +324,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5061143f806100206000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063081812fc146100bf578063095ea7b31461012c57806323b872dd1461017957806340c10f19146101e657806342842e0e1461023357806342966c68146102a05780634f558e79146102cd5780636352211e1461031257806370a082311461037f578063a22cb465146103d6578063b88d4fde14610425578063e985e9c5146104d8575b600080fd5b3480156100cb57600080fd5b506100ea60048036038101908080359060200190929190505050610553565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b50610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610590565b005b34801561018557600080fd5b506101e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610756565b005b3480156101f257600080fd5b50610231600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610863565b005b34801561023f57600080fd5b5061029e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610871565b005b3480156102ac57600080fd5b506102cb600480360381019080803590602001909291905050506108a9565b005b3480156102d957600080fd5b506102f8600480360381019080803590602001909291905050506108be565b604051808215151515815260200191505060405180910390f35b34801561031e57600080fd5b5061033d6004803603810190808035906020019092919050505061092f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561038b57600080fd5b506103c0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ac565b6040518082815260200191505060405180910390f35b3480156103e257600080fd5b50610423600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610a30565b005b34801561043157600080fd5b506104d6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b6c565b005b3480156104e457600080fd5b50610539600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bab565b604051808215151515815260200191505060405180910390f35b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061059b8261092f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156105d857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061061857506106178133610bab565b5b151561062357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff1661064483610553565b73ffffffffffffffffffffffffffffffffffffffff161415806106945750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561075157826001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a35b505050565b806107613382610c3f565b151561076c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156107a857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156107e457600080fd5b6107ee8483610cd4565b6107f88483610e3d565b6108028383610f6b565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b61086d82826110c3565b5050565b8061087c3382610c3f565b151561088757600080fd5b6108a38484846020604051908101604052806000815250610b6c565b50505050565b6108bb6108b58261092f565b82611169565b50565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a357600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156109e957600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610a6b57600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b81610b773382610c3f565b1515610b8257600080fd5b610b8d858585610756565b610b99858585856111dd565b1515610ba457600080fd5b5050505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080610c4b8361092f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610cba57508373ffffffffffffffffffffffffffffffffffffffff16610ca284610553565b73ffffffffffffffffffffffffffffffffffffffff16145b80610ccb5750610cca8185610bab565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff16610cf48261092f565b73ffffffffffffffffffffffffffffffffffffffff16141515610d1657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610e395760006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35b5050565b8173ffffffffffffffffffffffffffffffffffffffff16610e5d8261092f565b73ffffffffffffffffffffffffffffffffffffffff16141515610e7f57600080fd5b610ed26001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113cb90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600080600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610fd857600080fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061107c6001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113e490919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156110ff57600080fd5b6111098282610f6b565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6111738282610cd4565b61117d8282610e3d565b80600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000806111ff8573ffffffffffffffffffffffffffffffffffffffff16611400565b151561120e57600191506113c2565b8473ffffffffffffffffffffffffffffffffffffffff1663f0b9e5ba8786866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156112d05780820151818401526020810190506112b5565b50505050905090810190601f1680156112fd5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15801561131e57600080fd5b505af1158015611332573d6000803e3d6000fd5b505050506040513d602081101561134857600080fd5b8101908080519060200190929190505050905063f0b9e5ba7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b60008282111515156113d957fe5b818303905092915050565b600081830190508281101515156113f757fe5b80905092915050565b600080823b9050600081119150509190505600a165627a7a723058204059a65975a1cf43781453850bf18291783885ed2babd591f0a86a4da21fa1900029", - "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063081812fc146100bf578063095ea7b31461012c57806323b872dd1461017957806340c10f19146101e657806342842e0e1461023357806342966c68146102a05780634f558e79146102cd5780636352211e1461031257806370a082311461037f578063a22cb465146103d6578063b88d4fde14610425578063e985e9c5146104d8575b600080fd5b3480156100cb57600080fd5b506100ea60048036038101908080359060200190929190505050610553565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b50610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610590565b005b34801561018557600080fd5b506101e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610756565b005b3480156101f257600080fd5b50610231600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610863565b005b34801561023f57600080fd5b5061029e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610871565b005b3480156102ac57600080fd5b506102cb600480360381019080803590602001909291905050506108a9565b005b3480156102d957600080fd5b506102f8600480360381019080803590602001909291905050506108be565b604051808215151515815260200191505060405180910390f35b34801561031e57600080fd5b5061033d6004803603810190808035906020019092919050505061092f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561038b57600080fd5b506103c0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ac565b6040518082815260200191505060405180910390f35b3480156103e257600080fd5b50610423600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610a30565b005b34801561043157600080fd5b506104d6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b6c565b005b3480156104e457600080fd5b50610539600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bab565b604051808215151515815260200191505060405180910390f35b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061059b8261092f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156105d857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061061857506106178133610bab565b5b151561062357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff1661064483610553565b73ffffffffffffffffffffffffffffffffffffffff161415806106945750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561075157826001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a35b505050565b806107613382610c3f565b151561076c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156107a857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156107e457600080fd5b6107ee8483610cd4565b6107f88483610e3d565b6108028383610f6b565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b61086d82826110c3565b5050565b8061087c3382610c3f565b151561088757600080fd5b6108a38484846020604051908101604052806000815250610b6c565b50505050565b6108bb6108b58261092f565b82611169565b50565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a357600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156109e957600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610a6b57600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b81610b773382610c3f565b1515610b8257600080fd5b610b8d858585610756565b610b99858585856111dd565b1515610ba457600080fd5b5050505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080610c4b8361092f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610cba57508373ffffffffffffffffffffffffffffffffffffffff16610ca284610553565b73ffffffffffffffffffffffffffffffffffffffff16145b80610ccb5750610cca8185610bab565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff16610cf48261092f565b73ffffffffffffffffffffffffffffffffffffffff16141515610d1657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610e395760006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35b5050565b8173ffffffffffffffffffffffffffffffffffffffff16610e5d8261092f565b73ffffffffffffffffffffffffffffffffffffffff16141515610e7f57600080fd5b610ed26001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113cb90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600080600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610fd857600080fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061107c6001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113e490919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156110ff57600080fd5b6111098282610f6b565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6111738282610cd4565b61117d8282610e3d565b80600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000806111ff8573ffffffffffffffffffffffffffffffffffffffff16611400565b151561120e57600191506113c2565b8473ffffffffffffffffffffffffffffffffffffffff1663f0b9e5ba8786866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156112d05780820151818401526020810190506112b5565b50505050905090810190601f1680156112fd5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15801561131e57600080fd5b505af1158015611332573d6000803e3d6000fd5b505050506040513d602081101561134857600080fd5b8101908080519060200190929190505050905063f0b9e5ba7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b60008282111515156113d957fe5b818303905092915050565b600081830190508281101515156113f757fe5b80905092915050565b600080823b9050600081119150509190505600a165627a7a723058204059a65975a1cf43781453850bf18291783885ed2babd591f0a86a4da21fa1900029", - "sourceMap": "195:239:12:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;195:239:12;;;;;;;", - "deployedSourceMap": "195:239:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3605:111:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3605:111:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3021:355;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3021:355:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5085:316;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5085:316:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;249:89:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;249:89:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6017:225:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6017:225:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;342:90:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;342:90:12;;;;;;;;;;;;;;;;;;;;;;;;;;2461:140:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2461:140:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2119:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2119:164:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1764:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1764:142:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4001:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4001:205:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6929:302;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6929:302:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4515:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4515:142:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3605:111;3665:7;3687:14;:24;3702:8;3687:24;;;;;;;;;;;;;;;;;;;;;3680:31;;3605:111;;;:::o;3021:355::-;3082:13;3098:17;3106:8;3098:7;:17::i;:::-;3082:33;;3136:5;3129:12;;:3;:12;;;;3121:21;;;;;;;;3170:5;3156:19;;:10;:19;;;:58;;;;3179:35;3196:5;3203:10;3179:16;:35::i;:::-;3156:58;3148:67;;;;;;;;3259:1;3226:35;;:21;3238:8;3226:11;:21::i;:::-;:35;;;;:56;;;;3280:1;3265:17;;:3;:17;;;;3226:56;3222:150;;;3319:3;3292:14;:24;3307:8;3292:24;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;3351:3;3335:30;;3344:5;3335:30;;;3356:8;3335:30;;;;;;;;;;;;;;;;;;3222:150;3021:355;;;:::o;5085:316::-;5172:8;1520:39;1538:10;1550:8;1520:17;:39::i;:::-;1512:48;;;;;;;;5213:1;5196:19;;:5;:19;;;;5188:28;;;;;;;;5245:1;5230:17;;:3;:17;;;;5222:26;;;;;;;;5255:30;5269:5;5276:8;5255:13;:30::i;:::-;5291:32;5307:5;5314:8;5291:15;:32::i;:::-;5329:25;5340:3;5345:8;5329:10;:25::i;:::-;5387:8;5382:3;5366:30;;5375:5;5366:30;;;;;;;;;;;;5085:316;;;;:::o;249:89:12:-;307:26;319:3;324:8;307:11;:26::i;:::-;249:89;;:::o;6017:225:47:-;6132:8;1520:39;1538:10;1550:8;1520:17;:39::i;:::-;1512:48;;;;;;;;6195:42;6212:5;6219:3;6224:8;6195:42;;;;;;;;;;;;;:16;:42::i;:::-;6017:225;;;;:::o;342:90:12:-;387:40;399:17;407:8;399:7;:17::i;:::-;418:8;387:11;:40::i;:::-;342:90;:::o;2461:140:47:-;2516:4;2528:13;2544:10;:20;2555:8;2544:20;;;;;;;;;;;;;;;;;;;;;2528:36;;2594:1;2577:19;;:5;:19;;;;2570:26;;2461:140;;;;:::o;2119:164::-;2175:7;2190:13;2206:10;:20;2217:8;2206:20;;;;;;;;;;;;;;;;;;;;;2190:36;;2257:1;2240:19;;:5;:19;;;;2232:28;;;;;;;;2273:5;2266:12;;2119:164;;;;:::o;1764:142::-;1820:7;1861:1;1843:20;;:6;:20;;;;1835:29;;;;;;;;1877:16;:24;1894:6;1877:24;;;;;;;;;;;;;;;;1870:31;;1764:142;;;:::o;4001:205::-;4085:10;4078:17;;:3;:17;;;;4070:26;;;;;;;;4139:9;4102:17;:29;4120:10;4102:29;;;;;;;;;;;;;;;:34;4132:3;4102:34;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;4186:3;4159:42;;4174:10;4159:42;;;4191:9;4159:42;;;;;;;;;;;;;;;;;;;;;;4001:205;;:::o;6929:302::-;7061:8;1520:39;1538:10;1550:8;1520:17;:39::i;:::-;1512:48;;;;;;;;7079:34;7092:5;7099:3;7104:8;7079:12;:34::i;:::-;7172:53;7197:5;7204:3;7209:8;7219:5;7172:24;:53::i;:::-;7164:62;;;;;;;;6929:302;;;;;:::o;4515:142::-;4597:4;4616:17;:25;4634:6;4616:25;;;;;;;;;;;;;;;:36;4642:9;4616:36;;;;;;;;;;;;;;;;;;;;;;;;;4609:43;;4515:142;;;;:::o;7578:240::-;7664:4;7676:13;7692:17;7700:8;7692:7;:17::i;:::-;7676:33;;7734:5;7722:17;;:8;:17;;;:54;;;;7768:8;7743:33;;:21;7755:8;7743:11;:21::i;:::-;:33;;;7722:54;:91;;;;7780:33;7797:5;7804:8;7780:16;:33::i;:::-;7722:91;7715:98;;7578:240;;;;;:::o;8887:265::-;8988:6;8967:27;;:17;8975:8;8967:7;:17::i;:::-;:27;;;8959:36;;;;;;;;9041:1;9005:38;;:14;:24;9020:8;9005:24;;;;;;;;;;;;;;;;;;;;;:38;;;;9001:147;;;9088:1;9053:14;:24;9068:8;9053:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;9128:1;9103:38;;9112:6;9103:38;;;9132:8;9103:38;;;;;;;;;;;;;;;;;;9001:147;8887:265;;:::o;9898:214::-;10000:5;9979:26;;:17;9987:8;9979:7;:17::i;:::-;:26;;;9971:35;;;;;;;;10038:30;10066:1;10038:16;:23;10055:5;10038:23;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;10012:16;:23;10029:5;10012:23;;;;;;;;;;;;;;;:56;;;;10105:1;10074:10;:20;10085:8;10074:20;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;9898:214;;:::o;9415:204::-;9521:1;9489:34;;:10;:20;9500:8;9489:20;;;;;;;;;;;;;;;;;;;;;:34;;;9481:43;;;;;;;;9553:3;9530:10;:20;9541:8;9530:20;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;9586:28;9612:1;9586:16;:21;9603:3;9586:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;9562:16;:21;9579:3;9562:21;;;;;;;;;;;;;;;:52;;;;9415:204;;:::o;8072:169::-;8156:1;8141:17;;:3;:17;;;;8133:26;;;;;;;;8165:25;8176:3;8181:8;8165:10;:25::i;:::-;8227:8;8222:3;8201:35;;8218:1;8201:35;;;;;;;;;;;;8072:169;;:::o;8432:188::-;8496:31;8510:6;8518:8;8496:13;:31::i;:::-;8533:33;8549:6;8557:8;8533:15;:33::i;:::-;8606:8;8602:1;8577:38;;8586:6;8577:38;;;;;;;;;;;;8432:188;;:::o;10623:328::-;10762:4;10830:13;10781:16;:3;:14;;;:16::i;:::-;10780:17;10776:49;;;10814:4;10807:11;;;;10776:49;10861:3;10846:36;;;10883:5;10890:8;10900:5;10846:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;10846:60:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10846:60:47;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10846:60:47;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10846:60:47;;;;;;;;;;;;;;;;10830:76;;604:10;10930:15;;10920:25;;;:6;:25;;;;10912:34;;10623:328;;;;;;;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;438:568:0:-;495:4;507:12;922:4;910:17;902:25;;1000:1;993:4;:8;986:15;;438:568;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b50611562806100206000396000f3006080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ffc9a7146100ca578063081812fc1461012e578063095ea7b31461019b57806323b872dd146101e857806340c10f191461025557806342842e0e146102a257806342966c681461030f5780634f558e791461033c5780636352211e1461038157806370a08231146103ee578063a22cb46514610445578063b88d4fde14610494578063e985e9c514610547575b600080fd5b3480156100d657600080fd5b5061011460048036038101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506105c2565b604051808215151515815260200191505060405180910390f35b34801561013a57600080fd5b50610159600480360381019080803590602001909291905050506105d4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101a757600080fd5b506101e6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610611565b005b3480156101f457600080fd5b50610253600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610756565b005b34801561026157600080fd5b506102a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610863565b005b3480156102ae57600080fd5b5061030d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610871565b005b34801561031b57600080fd5b5061033a600480360381019080803590602001909291905050506108a9565b005b34801561034857600080fd5b50610367600480360381019080803590602001909291905050506108be565b604051808215151515815260200191505060405180910390f35b34801561038d57600080fd5b506103ac6004803603810190808035906020019092919050505061092f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103fa57600080fd5b5061042f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ac565b6040518082815260200191505060405180910390f35b34801561045157600080fd5b50610492600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610a30565b005b3480156104a057600080fd5b50610545600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b6c565b005b34801561055357600080fd5b506105a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bab565b604051808215151515815260200191505060405180910390f35b60006105cd82610c3f565b9050919050565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061061c8261092f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561065957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061069957506106988133610bab565b5b15156106a457600080fd5b826001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b806107613382610d27565b151561076c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156107a857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156107e457600080fd5b6107ee8483610dbc565b6107f88483610ebf565b6108028383610fed565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b61086d8282611145565b5050565b8061087c3382610d27565b151561088757600080fd5b6108a38484846020604051908101604052806000815250610b6c565b50505050565b6108bb6108b58261092f565b826111eb565b50565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a357600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156109e957600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610a6b57600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b81610b773382610d27565b1515610b8257600080fd5b610b8d858585610756565b610b998585858561125f565b1515610ba457600080fd5b5050505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000610c4a82611481565b80610cb557506380ac58cd7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610d205750634f558e797c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600080610d338361092f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610da257508373ffffffffffffffffffffffffffffffffffffffff16610d8a846105d4565b73ffffffffffffffffffffffffffffffffffffffff16145b80610db35750610db28185610bab565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff16610ddc8261092f565b73ffffffffffffffffffffffffffffffffffffffff16141515610dfe57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ebb5760006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b8173ffffffffffffffffffffffffffffffffffffffff16610edf8261092f565b73ffffffffffffffffffffffffffffffffffffffff16141515610f0157600080fd5b610f546001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114ee90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600080600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561105a57600080fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110fe6001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461150790919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561118157600080fd5b61118b8282610fed565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6111f58282610dbc565b6111ff8282610ebf565b80600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000806112818573ffffffffffffffffffffffffffffffffffffffff16611523565b15156112905760019150611478565b8473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561138557808201518184015260208101905061136a565b50505050905090810190601f1680156113b25780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156113d457600080fd5b505af11580156113e8573d6000803e3d6000fd5b505050506040513d60208110156113fe57600080fd5b8101908080519060200190929190505050905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b60006301ffc9a77c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008282111515156114fc57fe5b818303905092915050565b6000818301905082811015151561151a57fe5b80905092915050565b600080823b9050600081119150509190505600a165627a7a723058205d016f477df109300b1a677aee4e47e22d13b15f4eca9ae56f717b55816037970029", + "deployedBytecode": "0x6080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ffc9a7146100ca578063081812fc1461012e578063095ea7b31461019b57806323b872dd146101e857806340c10f191461025557806342842e0e146102a257806342966c681461030f5780634f558e791461033c5780636352211e1461038157806370a08231146103ee578063a22cb46514610445578063b88d4fde14610494578063e985e9c514610547575b600080fd5b3480156100d657600080fd5b5061011460048036038101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506105c2565b604051808215151515815260200191505060405180910390f35b34801561013a57600080fd5b50610159600480360381019080803590602001909291905050506105d4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101a757600080fd5b506101e6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610611565b005b3480156101f457600080fd5b50610253600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610756565b005b34801561026157600080fd5b506102a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610863565b005b3480156102ae57600080fd5b5061030d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610871565b005b34801561031b57600080fd5b5061033a600480360381019080803590602001909291905050506108a9565b005b34801561034857600080fd5b50610367600480360381019080803590602001909291905050506108be565b604051808215151515815260200191505060405180910390f35b34801561038d57600080fd5b506103ac6004803603810190808035906020019092919050505061092f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103fa57600080fd5b5061042f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ac565b6040518082815260200191505060405180910390f35b34801561045157600080fd5b50610492600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610a30565b005b3480156104a057600080fd5b50610545600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b6c565b005b34801561055357600080fd5b506105a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bab565b604051808215151515815260200191505060405180910390f35b60006105cd82610c3f565b9050919050565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061061c8261092f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561065957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061069957506106988133610bab565b5b15156106a457600080fd5b826001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b806107613382610d27565b151561076c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156107a857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156107e457600080fd5b6107ee8483610dbc565b6107f88483610ebf565b6108028383610fed565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b61086d8282611145565b5050565b8061087c3382610d27565b151561088757600080fd5b6108a38484846020604051908101604052806000815250610b6c565b50505050565b6108bb6108b58261092f565b826111eb565b50565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a357600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156109e957600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610a6b57600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b81610b773382610d27565b1515610b8257600080fd5b610b8d858585610756565b610b998585858561125f565b1515610ba457600080fd5b5050505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000610c4a82611481565b80610cb557506380ac58cd7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610d205750634f558e797c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600080610d338361092f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610da257508373ffffffffffffffffffffffffffffffffffffffff16610d8a846105d4565b73ffffffffffffffffffffffffffffffffffffffff16145b80610db35750610db28185610bab565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff16610ddc8261092f565b73ffffffffffffffffffffffffffffffffffffffff16141515610dfe57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ebb5760006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b8173ffffffffffffffffffffffffffffffffffffffff16610edf8261092f565b73ffffffffffffffffffffffffffffffffffffffff16141515610f0157600080fd5b610f546001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114ee90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600080600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561105a57600080fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110fe6001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461150790919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561118157600080fd5b61118b8282610fed565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6111f58282610dbc565b6111ff8282610ebf565b80600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000806112818573ffffffffffffffffffffffffffffffffffffffff16611523565b15156112905760019150611478565b8473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561138557808201518184015260208101905061136a565b50505050905090810190601f1680156113b25780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156113d457600080fd5b505af11580156113e8573d6000803e3d6000fd5b505050506040513d60208110156113fe57600080fd5b8101908080519060200190929190505050905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b60006301ffc9a77c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008282111515156114fc57fe5b818303905092915050565b6000818301905082811015151561151a57fe5b80905092915050565b600080823b9050600081119150509190505600a165627a7a723058205d016f477df109300b1a677aee4e47e22d13b15f4eca9ae56f717b55816037970029", + "sourceMap": "195:239:14:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;195:239:14;;;;;;;", + "deployedSourceMap": "195:239:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;340:143:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;340:143:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4612:111:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4612:111:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4108:277;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4108:277:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6103:342;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6103:342:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;249:89:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;249:89:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7061:225:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7061:225:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;342:90:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;342:90:14;;;;;;;;;;;;;;;;;;;;;;;;;;3563:140:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:140:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3221:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3221:164:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2866:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2866:142:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5003:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5003:205:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7968:302;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7968:302:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5517:168;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5517:168:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;340:143:5;423:4;444:32;463:12;444:18;:32::i;:::-;437:39;;340:143;;;:::o;4612:111:49:-;4672:7;4694:14;:24;4709:8;4694:24;;;;;;;;;;;;;;;;;;;;;4687:31;;4612:111;;;:::o;4108:277::-;4169:13;4185:17;4193:8;4185:7;:17::i;:::-;4169:33;;4223:5;4216:12;;:3;:12;;;;4208:21;;;;;;;;4257:5;4243:19;;:10;:19;;;:58;;;;4266:35;4283:5;4290:10;4266:16;:35::i;:::-;4243:58;4235:67;;;;;;;;4336:3;4309:14;:24;4324:8;4309:24;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;4371:8;4366:3;4350:30;;4359:5;4350:30;;;;;;;;;;;;4108:277;;;:::o;6103:342::-;6214:8;2376:39;2394:10;2406:8;2376:17;:39::i;:::-;2368:48;;;;;;;;6257:1;6240:19;;:5;:19;;;;6232:28;;;;;;;;6289:1;6274:17;;:3;:17;;;;6266:26;;;;;;;;6299:30;6313:5;6320:8;6299:13;:30::i;:::-;6335:32;6351:5;6358:8;6335:15;:32::i;:::-;6373:25;6384:3;6389:8;6373:10;:25::i;:::-;6431:8;6426:3;6410:30;;6419:5;6410:30;;;;;;;;;;;;6103:342;;;;:::o;249:89:14:-;307:26;319:3;324:8;307:11;:26::i;:::-;249:89;;:::o;7061:225:49:-;7176:8;2376:39;2394:10;2406:8;2376:17;:39::i;:::-;2368:48;;;;;;;;7239:42;7256:5;7263:3;7268:8;7239:42;;;;;;;;;;;;;:16;:42::i;:::-;7061:225;;;;:::o;342:90:14:-;387:40;399:17;407:8;399:7;:17::i;:::-;418:8;387:11;:40::i;:::-;342:90;:::o;3563:140:49:-;3618:4;3630:13;3646:10;:20;3657:8;3646:20;;;;;;;;;;;;;;;;;;;;;3630:36;;3696:1;3679:19;;:5;:19;;;;3672:26;;3563:140;;;;:::o;3221:164::-;3277:7;3292:13;3308:10;:20;3319:8;3308:20;;;;;;;;;;;;;;;;;;;;;3292:36;;3359:1;3342:19;;:5;:19;;;;3334:28;;;;;;;;3375:5;3368:12;;3221:164;;;;:::o;2866:142::-;2922:7;2963:1;2945:20;;:6;:20;;;;2937:29;;;;;;;;2979:16;:24;2996:6;2979:24;;;;;;;;;;;;;;;;2972:31;;2866:142;;;:::o;5003:205::-;5087:10;5080:17;;:3;:17;;;;5072:26;;;;;;;;5141:9;5104:17;:29;5122:10;5104:29;;;;;;;;;;;;;;;:34;5134:3;5104:34;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;5188:3;5161:42;;5176:10;5161:42;;;5193:9;5161:42;;;;;;;;;;;;;;;;;;;;;;5003:205;;:::o;7968:302::-;8100:8;2376:39;2394:10;2406:8;2376:17;:39::i;:::-;2368:48;;;;;;;;8118:34;8131:5;8138:3;8143:8;8118:12;:34::i;:::-;8211:53;8236:5;8243:3;8248:8;8258:5;8211:24;:53::i;:::-;8203:62;;;;;;;;7968:302;;;;;:::o;5517:168::-;5623:4;5644:17;:25;5662:6;5644:25;;;;;;;;;;;;;;;:36;5670:9;5644:36;;;;;;;;;;;;;;;;;;;;;;;;;5637:43;;5517:168;;;;:::o;2432:242::-;2516:4;2537:38;2562:12;2537:24;:38::i;:::-;:82;;;;455:10;2601:18;;2585:34;;;:12;:34;;;;2537:82;:132;;;;1096:10;2645:24;;2629:40;;;:12;:40;;;;2537:132;2530:139;;2432:242;;;:::o;8617:438::-;8727:4;8741:13;8757:17;8765:8;8757:7;:17::i;:::-;8741:33;;8953:5;8941:17;;:8;:17;;;:60;;;;8993:8;8968:33;;:21;8980:8;8968:11;:21::i;:::-;:33;;;8941:60;:103;;;;9011:33;9028:5;9035:8;9011:16;:33::i;:::-;8941:103;8926:124;;8617:438;;;;;:::o;10109:214::-;10210:6;10189:27;;:17;10197:8;10189:7;:17::i;:::-;:27;;;10181:36;;;;;;;;10263:1;10227:38;;:14;:24;10242:8;10227:24;;;;;;;;;;;;;;;;;;;;;:38;;;;10223:96;;;10310:1;10275:14;:24;10290:8;10275:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;10223:96;10109:214;;:::o;11069:::-;11171:5;11150:26;;:17;11158:8;11150:7;:17::i;:::-;:26;;;11142:35;;;;;;;;11209:30;11237:1;11209:16;:23;11226:5;11209:23;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;11183:16;:23;11200:5;11183:23;;;;;;;;;;;;;;;:56;;;;11276:1;11245:10;:20;11256:8;11245:20;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;11069:214;;:::o;10586:204::-;10692:1;10660:34;;:10;:20;10671:8;10660:20;;;;;;;;;;;;;;;;;;;;;:34;;;10652:43;;;;;;;;10724:3;10701:10;:20;10712:8;10701:20;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;10757:28;10783:1;10757:16;:21;10774:3;10757:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;10733:16;:21;10750:3;10733:21;;;;;;;;;;;;;;;:52;;;;10586:204;;:::o;9304:169::-;9388:1;9373:17;;:3;:17;;;;9365:26;;;;;;;;9397:25;9408:3;9413:8;9397:10;:25::i;:::-;9459:8;9454:3;9433:35;;9450:1;9433:35;;;;;;;;;;;;9304:169;;:::o;9659:188::-;9723:31;9737:6;9745:8;9723:13;:31::i;:::-;9760:33;9776:6;9784:8;9760:15;:33::i;:::-;9833:8;9829:1;9804:38;;9813:6;9804:38;;;;;;;;;;;;9659:188;;:::o;11789:347::-;11928:4;11996:13;11947:16;:3;:14;;;:16::i;:::-;11946:17;11942:49;;;11980:4;11973:11;;;;11942:49;12027:3;12012:36;;;12056:10;12068:5;12075:8;12085:5;12012:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;12012:79:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12012:79:49;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12012:79:49;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12012:79:49;;;;;;;;;;;;;;;;11996:95;;1460:10;12115:15;;12105:25;;;:6;:25;;;;12097:34;;11789:347;;;;;;;;:::o;487:146:5:-;571:4;239:10;608:18;;592:34;;;:12;:34;;;;585:41;;487:146;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;438:568:0:-;495:4;507:12;922:4;910:17;902:25;;1000:1;993:4;:8;986:15;;438:568;;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"../token/ERC721/ERC721BasicToken.sol\";\n\n\n/**\n * @title ERC721BasicTokenMock\n * This mock just provides a public mint and burn functions for testing purposes\n */\ncontract ERC721BasicTokenMock is ERC721BasicToken {\n function mint(address _to, uint256 _tokenId) public {\n super._mint(_to, _tokenId);\n }\n\n function burn(uint256 _tokenId) public {\n super._burn(ownerOf(_tokenId), _tokenId);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/ERC721BasicTokenMock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/ERC721BasicTokenMock.sol", "exportedSymbols": { "ERC721BasicTokenMock": [ - 727 + 770 ] }, - "id": 728, + "id": 771, "nodeType": "SourceUnit", "nodes": [ { - "id": 693, + "id": 736, "literals": [ "solidity", "^", @@ -330,16 +349,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:12" + "src": "0:24:14" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721BasicToken.sol", "file": "../token/ERC721/ERC721BasicToken.sol", - "id": 694, + "id": 737, "nodeType": "ImportDirective", - "scope": 728, - "sourceUnit": 4207, - "src": "26:46:12", + "scope": 771, + "sourceUnit": 4268, + "src": "26:46:14", "symbolAliases": [], "unitAlias": "" }, @@ -349,42 +368,46 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 695, + "id": 738, "name": "ERC721BasicToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4206, - "src": "228:16:12", + "referencedDeclaration": 4267, + "src": "228:16:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721BasicToken_$4206", + "typeIdentifier": "t_contract$_ERC721BasicToken_$4267", "typeString": "contract ERC721BasicToken" } }, - "id": 696, + "id": 739, "nodeType": "InheritanceSpecifier", - "src": "228:16:12" + "src": "228:16:14" } ], "contractDependencies": [ - 3623, - 4206 + 303, + 336, + 3674, + 4267 ], "contractKind": "contract", "documentation": "@title ERC721BasicTokenMock\nThis mock just provides a public mint and burn functions for testing purposes", "fullyImplemented": true, - "id": 727, + "id": 770, "linearizedBaseContracts": [ - 727, - 4206, - 3623 + 770, + 4267, + 3674, + 336, + 303 ], "name": "ERC721BasicTokenMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 710, + "id": 753, "nodeType": "Block", - "src": "301:37:12", + "src": "301:37:14", "statements": [ { "expression": { @@ -392,12 +415,12 @@ "arguments": [ { "argumentTypes": null, - "id": 706, + "id": 749, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 698, - "src": "319:3:12", + "referencedDeclaration": 741, + "src": "319:3:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -405,12 +428,12 @@ }, { "argumentTypes": null, - "id": 707, + "id": 750, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "324:8:12", + "referencedDeclaration": 743, + "src": "324:8:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -430,32 +453,32 @@ ], "expression": { "argumentTypes": null, - "id": 703, + "id": 746, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "307:5:12", + "referencedDeclaration": 4947, + "src": "307:5:14", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721BasicTokenMock_$727", + "typeIdentifier": "t_super$_ERC721BasicTokenMock_$770", "typeString": "contract super ERC721BasicTokenMock" } }, - "id": 705, + "id": 748, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_mint", "nodeType": "MemberAccess", - "referencedDeclaration": 4030, - "src": "307:11:12", + "referencedDeclaration": 4097, + "src": "307:11:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 708, + "id": 751, "isConstant": false, "isLValue": false, "isPure": false, @@ -463,20 +486,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "307:26:12", + "src": "307:26:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 709, + "id": 752, "nodeType": "ExpressionStatement", - "src": "307:26:12" + "src": "307:26:14" } ] }, "documentation": null, - "id": 711, + "id": 754, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -484,16 +507,16 @@ "name": "mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 701, + "id": 744, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 698, + "id": 741, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "263:11:12", + "scope": 754, + "src": "263:11:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -501,10 +524,10 @@ "typeString": "address" }, "typeName": { - "id": 697, + "id": 740, "name": "address", "nodeType": "ElementaryTypeName", - "src": "263:7:12", + "src": "263:7:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -515,11 +538,11 @@ }, { "constant": false, - "id": 700, + "id": 743, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "276:16:12", + "scope": 754, + "src": "276:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -527,10 +550,10 @@ "typeString": "uint256" }, "typeName": { - "id": 699, + "id": 742, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "276:7:12", + "src": "276:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -540,26 +563,26 @@ "visibility": "internal" } ], - "src": "262:31:12" + "src": "262:31:14" }, "payable": false, "returnParameters": { - "id": 702, + "id": 745, "nodeType": "ParameterList", "parameters": [], - "src": "301:0:12" + "src": "301:0:14" }, - "scope": 727, - "src": "249:89:12", + "scope": 770, + "src": "249:89:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 725, + "id": 768, "nodeType": "Block", - "src": "381:51:12", + "src": "381:51:14", "statements": [ { "expression": { @@ -570,12 +593,12 @@ "arguments": [ { "argumentTypes": null, - "id": 720, + "id": 763, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "407:8:12", + "referencedDeclaration": 756, + "src": "407:8:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -589,20 +612,20 @@ "typeString": "uint256" } ], - "id": 719, + "id": 762, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 3731 + 3812 ], - "referencedDeclaration": 3731, - "src": "399:7:12", + "referencedDeclaration": 3812, + "src": "399:7:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 721, + "id": 764, "isConstant": false, "isLValue": false, "isPure": false, @@ -610,7 +633,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "399:17:12", + "src": "399:17:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -618,12 +641,12 @@ }, { "argumentTypes": null, - "id": 722, + "id": 765, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "418:8:12", + "referencedDeclaration": 756, + "src": "418:8:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -643,32 +666,32 @@ ], "expression": { "argumentTypes": null, - "id": 716, + "id": 759, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "387:5:12", + "referencedDeclaration": 4947, + "src": "387:5:14", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721BasicTokenMock_$727", + "typeIdentifier": "t_super$_ERC721BasicTokenMock_$770", "typeString": "contract super ERC721BasicTokenMock" } }, - "id": 718, + "id": 761, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_burn", "nodeType": "MemberAccess", - "referencedDeclaration": 4056, - "src": "387:11:12", + "referencedDeclaration": 4123, + "src": "387:11:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 723, + "id": 766, "isConstant": false, "isLValue": false, "isPure": false, @@ -676,20 +699,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "387:40:12", + "src": "387:40:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 724, + "id": 767, "nodeType": "ExpressionStatement", - "src": "387:40:12" + "src": "387:40:14" } ] }, "documentation": null, - "id": 726, + "id": 769, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -697,16 +720,16 @@ "name": "burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 714, + "id": 757, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 713, + "id": 756, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 726, - "src": "356:16:12", + "scope": 769, + "src": "356:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -714,10 +737,10 @@ "typeString": "uint256" }, "typeName": { - "id": 712, + "id": 755, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "356:7:12", + "src": "356:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -727,40 +750,40 @@ "visibility": "internal" } ], - "src": "355:18:12" + "src": "355:18:14" }, "payable": false, "returnParameters": { - "id": 715, + "id": 758, "nodeType": "ParameterList", "parameters": [], - "src": "381:0:12" + "src": "381:0:14" }, - "scope": 727, - "src": "342:90:12", + "scope": 770, + "src": "342:90:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 728, - "src": "195:239:12" + "scope": 771, + "src": "195:239:14" } ], - "src": "0:435:12" + "src": "0:435:14" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/ERC721BasicTokenMock.sol", "exportedSymbols": { "ERC721BasicTokenMock": [ - 727 + 770 ] }, - "id": 728, + "id": 771, "nodeType": "SourceUnit", "nodes": [ { - "id": 693, + "id": 736, "literals": [ "solidity", "^", @@ -768,16 +791,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:12" + "src": "0:24:14" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721BasicToken.sol", "file": "../token/ERC721/ERC721BasicToken.sol", - "id": 694, + "id": 737, "nodeType": "ImportDirective", - "scope": 728, - "sourceUnit": 4207, - "src": "26:46:12", + "scope": 771, + "sourceUnit": 4268, + "src": "26:46:14", "symbolAliases": [], "unitAlias": "" }, @@ -787,42 +810,46 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 695, + "id": 738, "name": "ERC721BasicToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4206, - "src": "228:16:12", + "referencedDeclaration": 4267, + "src": "228:16:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721BasicToken_$4206", + "typeIdentifier": "t_contract$_ERC721BasicToken_$4267", "typeString": "contract ERC721BasicToken" } }, - "id": 696, + "id": 739, "nodeType": "InheritanceSpecifier", - "src": "228:16:12" + "src": "228:16:14" } ], "contractDependencies": [ - 3623, - 4206 + 303, + 336, + 3674, + 4267 ], "contractKind": "contract", "documentation": "@title ERC721BasicTokenMock\nThis mock just provides a public mint and burn functions for testing purposes", "fullyImplemented": true, - "id": 727, + "id": 770, "linearizedBaseContracts": [ - 727, - 4206, - 3623 + 770, + 4267, + 3674, + 336, + 303 ], "name": "ERC721BasicTokenMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 710, + "id": 753, "nodeType": "Block", - "src": "301:37:12", + "src": "301:37:14", "statements": [ { "expression": { @@ -830,12 +857,12 @@ "arguments": [ { "argumentTypes": null, - "id": 706, + "id": 749, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 698, - "src": "319:3:12", + "referencedDeclaration": 741, + "src": "319:3:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -843,12 +870,12 @@ }, { "argumentTypes": null, - "id": 707, + "id": 750, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "324:8:12", + "referencedDeclaration": 743, + "src": "324:8:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -868,32 +895,32 @@ ], "expression": { "argumentTypes": null, - "id": 703, + "id": 746, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "307:5:12", + "referencedDeclaration": 4947, + "src": "307:5:14", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721BasicTokenMock_$727", + "typeIdentifier": "t_super$_ERC721BasicTokenMock_$770", "typeString": "contract super ERC721BasicTokenMock" } }, - "id": 705, + "id": 748, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_mint", "nodeType": "MemberAccess", - "referencedDeclaration": 4030, - "src": "307:11:12", + "referencedDeclaration": 4097, + "src": "307:11:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 708, + "id": 751, "isConstant": false, "isLValue": false, "isPure": false, @@ -901,20 +928,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "307:26:12", + "src": "307:26:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 709, + "id": 752, "nodeType": "ExpressionStatement", - "src": "307:26:12" + "src": "307:26:14" } ] }, "documentation": null, - "id": 711, + "id": 754, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -922,16 +949,16 @@ "name": "mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 701, + "id": 744, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 698, + "id": 741, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "263:11:12", + "scope": 754, + "src": "263:11:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -939,10 +966,10 @@ "typeString": "address" }, "typeName": { - "id": 697, + "id": 740, "name": "address", "nodeType": "ElementaryTypeName", - "src": "263:7:12", + "src": "263:7:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -953,11 +980,11 @@ }, { "constant": false, - "id": 700, + "id": 743, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "276:16:12", + "scope": 754, + "src": "276:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -965,10 +992,10 @@ "typeString": "uint256" }, "typeName": { - "id": 699, + "id": 742, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "276:7:12", + "src": "276:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -978,26 +1005,26 @@ "visibility": "internal" } ], - "src": "262:31:12" + "src": "262:31:14" }, "payable": false, "returnParameters": { - "id": 702, + "id": 745, "nodeType": "ParameterList", "parameters": [], - "src": "301:0:12" + "src": "301:0:14" }, - "scope": 727, - "src": "249:89:12", + "scope": 770, + "src": "249:89:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 725, + "id": 768, "nodeType": "Block", - "src": "381:51:12", + "src": "381:51:14", "statements": [ { "expression": { @@ -1008,12 +1035,12 @@ "arguments": [ { "argumentTypes": null, - "id": 720, + "id": 763, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "407:8:12", + "referencedDeclaration": 756, + "src": "407:8:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1027,20 +1054,20 @@ "typeString": "uint256" } ], - "id": 719, + "id": 762, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 3731 + 3812 ], - "referencedDeclaration": 3731, - "src": "399:7:12", + "referencedDeclaration": 3812, + "src": "399:7:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 721, + "id": 764, "isConstant": false, "isLValue": false, "isPure": false, @@ -1048,7 +1075,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "399:17:12", + "src": "399:17:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1056,12 +1083,12 @@ }, { "argumentTypes": null, - "id": 722, + "id": 765, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "418:8:12", + "referencedDeclaration": 756, + "src": "418:8:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1081,32 +1108,32 @@ ], "expression": { "argumentTypes": null, - "id": 716, + "id": 759, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "387:5:12", + "referencedDeclaration": 4947, + "src": "387:5:14", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721BasicTokenMock_$727", + "typeIdentifier": "t_super$_ERC721BasicTokenMock_$770", "typeString": "contract super ERC721BasicTokenMock" } }, - "id": 718, + "id": 761, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_burn", "nodeType": "MemberAccess", - "referencedDeclaration": 4056, - "src": "387:11:12", + "referencedDeclaration": 4123, + "src": "387:11:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 723, + "id": 766, "isConstant": false, "isLValue": false, "isPure": false, @@ -1114,20 +1141,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "387:40:12", + "src": "387:40:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 724, + "id": 767, "nodeType": "ExpressionStatement", - "src": "387:40:12" + "src": "387:40:14" } ] }, "documentation": null, - "id": 726, + "id": 769, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1135,16 +1162,16 @@ "name": "burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 714, + "id": 757, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 713, + "id": 756, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 726, - "src": "356:16:12", + "scope": 769, + "src": "356:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1152,10 +1179,10 @@ "typeString": "uint256" }, "typeName": { - "id": 712, + "id": 755, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "356:7:12", + "src": "356:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1165,33 +1192,33 @@ "visibility": "internal" } ], - "src": "355:18:12" + "src": "355:18:14" }, "payable": false, "returnParameters": { - "id": 715, + "id": 758, "nodeType": "ParameterList", "parameters": [], - "src": "381:0:12" + "src": "381:0:14" }, - "scope": 727, - "src": "342:90:12", + "scope": 770, + "src": "342:90:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 728, - "src": "195:239:12" + "scope": 771, + "src": "195:239:14" } ], - "src": "0:435:12" + "src": "0:435:14" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.618Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.205Z" } \ No newline at end of file diff --git a/build/contracts/ERC721Enumerable.json b/build/contracts/ERC721Enumerable.json index 6d5de23be..4a94bbc36 100644 --- a/build/contracts/ERC721Enumerable.json +++ b/build/contracts/ERC721Enumerable.json @@ -1,6 +1,25 @@ { "contractName": "ERC721Enumerable", "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [ @@ -333,26 +352,26 @@ "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", - "source": "pragma solidity ^0.4.21;\n\nimport \"./ERC721Basic.sol\";\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Enumerable is ERC721Basic {\n function totalSupply() public view returns (uint256);\n function tokenOfOwnerByIndex(address _owner, uint256 _index) public view returns (uint256 _tokenId);\n function tokenByIndex(uint256 _index) public view returns (uint256);\n}\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Metadata is ERC721Basic {\n function name() public view returns (string _name);\n function symbol() public view returns (string _symbol);\n function tokenURI(uint256 _tokenId) public view returns (string);\n}\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, full implementation interface\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721 is ERC721Basic, ERC721Enumerable, ERC721Metadata {\n}\n", + "source": "pragma solidity ^0.4.21;\n\nimport \"./ERC721Basic.sol\";\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Enumerable is ERC721Basic {\n function totalSupply() public view returns (uint256);\n function tokenOfOwnerByIndex(\n address _owner,\n uint256 _index\n )\n public\n view\n returns (uint256 _tokenId);\n\n function tokenByIndex(uint256 _index) public view returns (uint256);\n}\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Metadata is ERC721Basic {\n function name() external view returns (string _name);\n function symbol() external view returns (string _symbol);\n function tokenURI(uint256 _tokenId) public view returns (string);\n}\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, full implementation interface\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721 is ERC721Basic, ERC721Enumerable, ERC721Metadata {\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721.sol", "exportedSymbols": { "ERC721": [ - 296 + 3564 ], "ERC721Enumerable": [ - 269 + 3537 ], "ERC721Metadata": [ - 289 + 3557 ] }, - "id": 297, + "id": 3565, "nodeType": "SourceUnit", "nodes": [ { - "id": 244, + "id": 3512, "literals": [ "solidity", "^", @@ -360,16 +379,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:4" + "src": "0:24:47" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Basic.sol", "file": "./ERC721Basic.sol", - "id": 245, + "id": 3513, "nodeType": "ImportDirective", - "scope": 297, - "sourceUnit": 404, - "src": "26:27:4", + "scope": 3565, + "sourceUnit": 3675, + "src": "26:27:47", "symbolAliases": [], "unitAlias": "" }, @@ -379,31 +398,33 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 246, + "id": 3514, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "244:11:4", + "referencedDeclaration": 3674, + "src": "244:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 247, + "id": 3515, "nodeType": "InheritanceSpecifier", - "src": "244:11:4" + "src": "244:11:47" } ], "contractDependencies": [ - 403 + 303, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 269, + "id": 3537, "linearizedBaseContracts": [ - 269, - 403 + 3537, + 3674, + 303 ], "name": "ERC721Enumerable", "nodeType": "ContractDefinition", @@ -411,7 +432,7 @@ { "body": null, "documentation": null, - "id": 252, + "id": 3520, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -419,23 +440,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 248, + "id": 3516, "nodeType": "ParameterList", "parameters": [], - "src": "280:2:4" + "src": "280:2:47" }, "payable": false, "returnParameters": { - "id": 251, + "id": 3519, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 250, + "id": 3518, "name": "", "nodeType": "VariableDeclaration", - "scope": 252, - "src": "304:7:4", + "scope": 3520, + "src": "304:7:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -443,10 +464,10 @@ "typeString": "uint256" }, "typeName": { - "id": 249, + "id": 3517, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "304:7:4", + "src": "304:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -456,10 +477,10 @@ "visibility": "internal" } ], - "src": "303:9:4" + "src": "303:9:47" }, - "scope": 269, - "src": "260:53:4", + "scope": 3537, + "src": "260:53:47", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -467,7 +488,7 @@ { "body": null, "documentation": null, - "id": 261, + "id": 3529, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -475,16 +496,16 @@ "name": "tokenOfOwnerByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 257, + "id": 3525, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 254, + "id": 3522, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "345:14:4", + "scope": 3529, + "src": "350:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -492,10 +513,10 @@ "typeString": "address" }, "typeName": { - "id": 253, + "id": 3521, "name": "address", "nodeType": "ElementaryTypeName", - "src": "345:7:4", + "src": "350:7:47", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -506,11 +527,11 @@ }, { "constant": false, - "id": 256, + "id": 3524, "name": "_index", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "361:14:4", + "scope": 3529, + "src": "370:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -518,10 +539,10 @@ "typeString": "uint256" }, "typeName": { - "id": 255, + "id": 3523, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "361:7:4", + "src": "370:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -531,20 +552,20 @@ "visibility": "internal" } ], - "src": "344:32:4" + "src": "344:44:47" }, "payable": false, "returnParameters": { - "id": 260, + "id": 3528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 259, + "id": 3527, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "398:16:4", + "scope": 3529, + "src": "422:16:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -552,10 +573,10 @@ "typeString": "uint256" }, "typeName": { - "id": 258, + "id": 3526, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "398:7:4", + "src": "422:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -565,10 +586,10 @@ "visibility": "internal" } ], - "src": "397:18:4" + "src": "421:18:47" }, - "scope": 269, - "src": "316:100:4", + "scope": 3537, + "src": "316:124:47", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -576,7 +597,7 @@ { "body": null, "documentation": null, - "id": 268, + "id": 3536, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -584,16 +605,16 @@ "name": "tokenByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 264, + "id": 3532, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 263, + "id": 3531, "name": "_index", "nodeType": "VariableDeclaration", - "scope": 268, - "src": "441:14:4", + "scope": 3536, + "src": "466:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -601,10 +622,10 @@ "typeString": "uint256" }, "typeName": { - "id": 262, + "id": 3530, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "441:7:4", + "src": "466:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -614,20 +635,20 @@ "visibility": "internal" } ], - "src": "440:16:4" + "src": "465:16:47" }, "payable": false, "returnParameters": { - "id": 267, + "id": 3535, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 266, + "id": 3534, "name": "", "nodeType": "VariableDeclaration", - "scope": 268, - "src": "478:7:4", + "scope": 3536, + "src": "503:7:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -635,10 +656,10 @@ "typeString": "uint256" }, "typeName": { - "id": 265, + "id": 3533, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "478:7:4", + "src": "503:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -648,17 +669,17 @@ "visibility": "internal" } ], - "src": "477:9:4" + "src": "502:9:47" }, - "scope": 269, - "src": "419:68:4", + "scope": 3537, + "src": "444:68:47", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 297, - "src": "215:274:4" + "scope": 3565, + "src": "215:299:47" }, { "baseContracts": [ @@ -666,31 +687,33 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 270, + "id": 3538, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "675:11:4", + "referencedDeclaration": 3674, + "src": "700:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 271, + "id": 3539, "nodeType": "InheritanceSpecifier", - "src": "675:11:4" + "src": "700:11:47" } ], "contractDependencies": [ - 403 + 303, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, optional metadata extension\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 289, + "id": 3557, "linearizedBaseContracts": [ - 289, - 403 + 3557, + 3674, + 303 ], "name": "ERC721Metadata", "nodeType": "ContractDefinition", @@ -698,7 +721,7 @@ { "body": null, "documentation": null, - "id": 276, + "id": 3544, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -706,23 +729,23 @@ "name": "name", "nodeType": "FunctionDefinition", "parameters": { - "id": 272, + "id": 3540, "nodeType": "ParameterList", "parameters": [], - "src": "704:2:4" + "src": "729:2:47" }, "payable": false, "returnParameters": { - "id": 275, + "id": 3543, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 274, + "id": 3542, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 276, - "src": "728:12:4", + "scope": 3544, + "src": "755:12:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -730,10 +753,10 @@ "typeString": "string" }, "typeName": { - "id": 273, + "id": 3541, "name": "string", "nodeType": "ElementaryTypeName", - "src": "728:6:4", + "src": "755:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -743,18 +766,18 @@ "visibility": "internal" } ], - "src": "727:14:4" + "src": "754:14:47" }, - "scope": 289, - "src": "691:51:4", + "scope": 3557, + "src": "716:53:47", "stateMutability": "view", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { "body": null, "documentation": null, - "id": 281, + "id": 3549, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -762,23 +785,23 @@ "name": "symbol", "nodeType": "FunctionDefinition", "parameters": { - "id": 277, + "id": 3545, "nodeType": "ParameterList", "parameters": [], - "src": "760:2:4" + "src": "787:2:47" }, "payable": false, "returnParameters": { - "id": 280, + "id": 3548, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 279, + "id": 3547, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 281, - "src": "784:14:4", + "scope": 3549, + "src": "813:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -786,10 +809,10 @@ "typeString": "string" }, "typeName": { - "id": 278, + "id": 3546, "name": "string", "nodeType": "ElementaryTypeName", - "src": "784:6:4", + "src": "813:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -799,18 +822,18 @@ "visibility": "internal" } ], - "src": "783:16:4" + "src": "812:16:47" }, - "scope": 289, - "src": "745:55:4", + "scope": 3557, + "src": "772:57:47", "stateMutability": "view", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { "body": null, "documentation": null, - "id": 288, + "id": 3556, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -818,16 +841,16 @@ "name": "tokenURI", "nodeType": "FunctionDefinition", "parameters": { - "id": 284, + "id": 3552, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 283, + "id": 3551, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 288, - "src": "821:16:4", + "scope": 3556, + "src": "850:16:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -835,10 +858,10 @@ "typeString": "uint256" }, "typeName": { - "id": 282, + "id": 3550, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "821:7:4", + "src": "850:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -848,20 +871,20 @@ "visibility": "internal" } ], - "src": "820:18:4" + "src": "849:18:47" }, "payable": false, "returnParameters": { - "id": 287, + "id": 3555, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 286, + "id": 3554, "name": "", "nodeType": "VariableDeclaration", - "scope": 288, - "src": "860:6:4", + "scope": 3556, + "src": "889:6:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -869,10 +892,10 @@ "typeString": "string" }, "typeName": { - "id": 285, + "id": 3553, "name": "string", "nodeType": "ElementaryTypeName", - "src": "860:6:4", + "src": "889:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -882,17 +905,17 @@ "visibility": "internal" } ], - "src": "859:8:4" + "src": "888:8:47" }, - "scope": 289, - "src": "803:65:4", + "scope": 3557, + "src": "832:65:47", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 297, - "src": "648:222:4" + "scope": 3565, + "src": "673:226:47" }, { "baseContracts": [ @@ -900,99 +923,101 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 290, + "id": 3558, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "1050:11:4", + "referencedDeclaration": 3674, + "src": "1079:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 291, + "id": 3559, "nodeType": "InheritanceSpecifier", - "src": "1050:11:4" + "src": "1079:11:47" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 292, + "id": 3560, "name": "ERC721Enumerable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 269, - "src": "1063:16:4", + "referencedDeclaration": 3537, + "src": "1092:16:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Enumerable_$269", + "typeIdentifier": "t_contract$_ERC721Enumerable_$3537", "typeString": "contract ERC721Enumerable" } }, - "id": 293, + "id": 3561, "nodeType": "InheritanceSpecifier", - "src": "1063:16:4" + "src": "1092:16:47" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 294, + "id": 3562, "name": "ERC721Metadata", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 289, - "src": "1081:14:4", + "referencedDeclaration": 3557, + "src": "1110:14:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Metadata_$289", + "typeIdentifier": "t_contract$_ERC721Metadata_$3557", "typeString": "contract ERC721Metadata" } }, - "id": 295, + "id": 3563, "nodeType": "InheritanceSpecifier", - "src": "1081:14:4" + "src": "1110:14:47" } ], "contractDependencies": [ - 269, - 289, - 403 + 303, + 3537, + 3557, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, full implementation interface\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 296, + "id": 3564, "linearizedBaseContracts": [ - 296, - 289, - 269, - 403 + 3564, + 3557, + 3537, + 3674, + 303 ], "name": "ERC721", "nodeType": "ContractDefinition", "nodes": [], - "scope": 297, - "src": "1031:68:4" + "scope": 3565, + "src": "1060:68:47" } ], - "src": "0:1100:4" + "src": "0:1129:47" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721.sol", "exportedSymbols": { "ERC721": [ - 296 + 3564 ], "ERC721Enumerable": [ - 269 + 3537 ], "ERC721Metadata": [ - 289 + 3557 ] }, - "id": 297, + "id": 3565, "nodeType": "SourceUnit", "nodes": [ { - "id": 244, + "id": 3512, "literals": [ "solidity", "^", @@ -1000,16 +1025,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:4" + "src": "0:24:47" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Basic.sol", "file": "./ERC721Basic.sol", - "id": 245, + "id": 3513, "nodeType": "ImportDirective", - "scope": 297, - "sourceUnit": 404, - "src": "26:27:4", + "scope": 3565, + "sourceUnit": 3675, + "src": "26:27:47", "symbolAliases": [], "unitAlias": "" }, @@ -1019,31 +1044,33 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 246, + "id": 3514, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "244:11:4", + "referencedDeclaration": 3674, + "src": "244:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 247, + "id": 3515, "nodeType": "InheritanceSpecifier", - "src": "244:11:4" + "src": "244:11:47" } ], "contractDependencies": [ - 403 + 303, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 269, + "id": 3537, "linearizedBaseContracts": [ - 269, - 403 + 3537, + 3674, + 303 ], "name": "ERC721Enumerable", "nodeType": "ContractDefinition", @@ -1051,7 +1078,7 @@ { "body": null, "documentation": null, - "id": 252, + "id": 3520, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1059,23 +1086,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 248, + "id": 3516, "nodeType": "ParameterList", "parameters": [], - "src": "280:2:4" + "src": "280:2:47" }, "payable": false, "returnParameters": { - "id": 251, + "id": 3519, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 250, + "id": 3518, "name": "", "nodeType": "VariableDeclaration", - "scope": 252, - "src": "304:7:4", + "scope": 3520, + "src": "304:7:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1083,10 +1110,10 @@ "typeString": "uint256" }, "typeName": { - "id": 249, + "id": 3517, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "304:7:4", + "src": "304:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1096,10 +1123,10 @@ "visibility": "internal" } ], - "src": "303:9:4" + "src": "303:9:47" }, - "scope": 269, - "src": "260:53:4", + "scope": 3537, + "src": "260:53:47", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1107,7 +1134,7 @@ { "body": null, "documentation": null, - "id": 261, + "id": 3529, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1115,16 +1142,16 @@ "name": "tokenOfOwnerByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 257, + "id": 3525, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 254, + "id": 3522, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "345:14:4", + "scope": 3529, + "src": "350:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1132,10 +1159,10 @@ "typeString": "address" }, "typeName": { - "id": 253, + "id": 3521, "name": "address", "nodeType": "ElementaryTypeName", - "src": "345:7:4", + "src": "350:7:47", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1146,11 +1173,11 @@ }, { "constant": false, - "id": 256, + "id": 3524, "name": "_index", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "361:14:4", + "scope": 3529, + "src": "370:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1158,10 +1185,10 @@ "typeString": "uint256" }, "typeName": { - "id": 255, + "id": 3523, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "361:7:4", + "src": "370:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1171,20 +1198,20 @@ "visibility": "internal" } ], - "src": "344:32:4" + "src": "344:44:47" }, "payable": false, "returnParameters": { - "id": 260, + "id": 3528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 259, + "id": 3527, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "398:16:4", + "scope": 3529, + "src": "422:16:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1192,10 +1219,10 @@ "typeString": "uint256" }, "typeName": { - "id": 258, + "id": 3526, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "398:7:4", + "src": "422:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1205,10 +1232,10 @@ "visibility": "internal" } ], - "src": "397:18:4" + "src": "421:18:47" }, - "scope": 269, - "src": "316:100:4", + "scope": 3537, + "src": "316:124:47", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1216,7 +1243,7 @@ { "body": null, "documentation": null, - "id": 268, + "id": 3536, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1224,16 +1251,16 @@ "name": "tokenByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 264, + "id": 3532, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 263, + "id": 3531, "name": "_index", "nodeType": "VariableDeclaration", - "scope": 268, - "src": "441:14:4", + "scope": 3536, + "src": "466:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1241,10 +1268,10 @@ "typeString": "uint256" }, "typeName": { - "id": 262, + "id": 3530, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "441:7:4", + "src": "466:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1254,20 +1281,20 @@ "visibility": "internal" } ], - "src": "440:16:4" + "src": "465:16:47" }, "payable": false, "returnParameters": { - "id": 267, + "id": 3535, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 266, + "id": 3534, "name": "", "nodeType": "VariableDeclaration", - "scope": 268, - "src": "478:7:4", + "scope": 3536, + "src": "503:7:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1275,10 +1302,10 @@ "typeString": "uint256" }, "typeName": { - "id": 265, + "id": 3533, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "478:7:4", + "src": "503:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1288,17 +1315,17 @@ "visibility": "internal" } ], - "src": "477:9:4" + "src": "502:9:47" }, - "scope": 269, - "src": "419:68:4", + "scope": 3537, + "src": "444:68:47", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 297, - "src": "215:274:4" + "scope": 3565, + "src": "215:299:47" }, { "baseContracts": [ @@ -1306,31 +1333,33 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 270, + "id": 3538, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "675:11:4", + "referencedDeclaration": 3674, + "src": "700:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 271, + "id": 3539, "nodeType": "InheritanceSpecifier", - "src": "675:11:4" + "src": "700:11:47" } ], "contractDependencies": [ - 403 + 303, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, optional metadata extension\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 289, + "id": 3557, "linearizedBaseContracts": [ - 289, - 403 + 3557, + 3674, + 303 ], "name": "ERC721Metadata", "nodeType": "ContractDefinition", @@ -1338,7 +1367,7 @@ { "body": null, "documentation": null, - "id": 276, + "id": 3544, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1346,23 +1375,23 @@ "name": "name", "nodeType": "FunctionDefinition", "parameters": { - "id": 272, + "id": 3540, "nodeType": "ParameterList", "parameters": [], - "src": "704:2:4" + "src": "729:2:47" }, "payable": false, "returnParameters": { - "id": 275, + "id": 3543, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 274, + "id": 3542, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 276, - "src": "728:12:4", + "scope": 3544, + "src": "755:12:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1370,10 +1399,10 @@ "typeString": "string" }, "typeName": { - "id": 273, + "id": 3541, "name": "string", "nodeType": "ElementaryTypeName", - "src": "728:6:4", + "src": "755:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1383,18 +1412,18 @@ "visibility": "internal" } ], - "src": "727:14:4" + "src": "754:14:47" }, - "scope": 289, - "src": "691:51:4", + "scope": 3557, + "src": "716:53:47", "stateMutability": "view", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { "body": null, "documentation": null, - "id": 281, + "id": 3549, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1402,23 +1431,23 @@ "name": "symbol", "nodeType": "FunctionDefinition", "parameters": { - "id": 277, + "id": 3545, "nodeType": "ParameterList", "parameters": [], - "src": "760:2:4" + "src": "787:2:47" }, "payable": false, "returnParameters": { - "id": 280, + "id": 3548, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 279, + "id": 3547, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 281, - "src": "784:14:4", + "scope": 3549, + "src": "813:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1426,10 +1455,10 @@ "typeString": "string" }, "typeName": { - "id": 278, + "id": 3546, "name": "string", "nodeType": "ElementaryTypeName", - "src": "784:6:4", + "src": "813:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1439,18 +1468,18 @@ "visibility": "internal" } ], - "src": "783:16:4" + "src": "812:16:47" }, - "scope": 289, - "src": "745:55:4", + "scope": 3557, + "src": "772:57:47", "stateMutability": "view", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { "body": null, "documentation": null, - "id": 288, + "id": 3556, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1458,16 +1487,16 @@ "name": "tokenURI", "nodeType": "FunctionDefinition", "parameters": { - "id": 284, + "id": 3552, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 283, + "id": 3551, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 288, - "src": "821:16:4", + "scope": 3556, + "src": "850:16:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1475,10 +1504,10 @@ "typeString": "uint256" }, "typeName": { - "id": 282, + "id": 3550, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "821:7:4", + "src": "850:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1488,20 +1517,20 @@ "visibility": "internal" } ], - "src": "820:18:4" + "src": "849:18:47" }, "payable": false, "returnParameters": { - "id": 287, + "id": 3555, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 286, + "id": 3554, "name": "", "nodeType": "VariableDeclaration", - "scope": 288, - "src": "860:6:4", + "scope": 3556, + "src": "889:6:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1509,10 +1538,10 @@ "typeString": "string" }, "typeName": { - "id": 285, + "id": 3553, "name": "string", "nodeType": "ElementaryTypeName", - "src": "860:6:4", + "src": "889:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1522,17 +1551,17 @@ "visibility": "internal" } ], - "src": "859:8:4" + "src": "888:8:47" }, - "scope": 289, - "src": "803:65:4", + "scope": 3557, + "src": "832:65:47", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 297, - "src": "648:222:4" + "scope": 3565, + "src": "673:226:47" }, { "baseContracts": [ @@ -1540,80 +1569,82 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 290, + "id": 3558, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "1050:11:4", + "referencedDeclaration": 3674, + "src": "1079:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 291, + "id": 3559, "nodeType": "InheritanceSpecifier", - "src": "1050:11:4" + "src": "1079:11:47" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 292, + "id": 3560, "name": "ERC721Enumerable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 269, - "src": "1063:16:4", + "referencedDeclaration": 3537, + "src": "1092:16:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Enumerable_$269", + "typeIdentifier": "t_contract$_ERC721Enumerable_$3537", "typeString": "contract ERC721Enumerable" } }, - "id": 293, + "id": 3561, "nodeType": "InheritanceSpecifier", - "src": "1063:16:4" + "src": "1092:16:47" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 294, + "id": 3562, "name": "ERC721Metadata", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 289, - "src": "1081:14:4", + "referencedDeclaration": 3557, + "src": "1110:14:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Metadata_$289", + "typeIdentifier": "t_contract$_ERC721Metadata_$3557", "typeString": "contract ERC721Metadata" } }, - "id": 295, + "id": 3563, "nodeType": "InheritanceSpecifier", - "src": "1081:14:4" + "src": "1110:14:47" } ], "contractDependencies": [ - 269, - 289, - 403 + 303, + 3537, + 3557, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, full implementation interface\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 296, + "id": 3564, "linearizedBaseContracts": [ - 296, - 289, - 269, - 403 + 3564, + 3557, + 3537, + 3674, + 303 ], "name": "ERC721", "nodeType": "ContractDefinition", "nodes": [], - "scope": 297, - "src": "1031:68:4" + "scope": 3565, + "src": "1060:68:47" } ], - "src": "0:1100:4" + "src": "0:1129:47" }, "compiler": { "name": "solc", @@ -1621,5 +1652,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-08-23T17:26:04.150Z" + "updatedAt": "2018-08-27T20:45:00.218Z" } \ No newline at end of file diff --git a/build/contracts/ERC721Holder.json b/build/contracts/ERC721Holder.json index d84abddf9..c1e21826c 100644 --- a/build/contracts/ERC721Holder.json +++ b/build/contracts/ERC721Holder.json @@ -8,6 +8,10 @@ "name": "", "type": "address" }, + { + "name": "", + "type": "address" + }, { "name": "", "type": "uint256" @@ -29,24 +33,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50610186806100206000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063f0b9e5ba14610046575b600080fd5b34801561005257600080fd5b506100d7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061012b565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b600063f0b9e5ba7c010000000000000000000000000000000000000000000000000000000002905093925050505600a165627a7a723058209a54b7e58c826d8f330261c8245dc75369849834fed14de5b5860c3bda9626af0029", - "deployedBytecode": "0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063f0b9e5ba14610046575b600080fd5b34801561005257600080fd5b506100d7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061012b565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b600063f0b9e5ba7c010000000000000000000000000000000000000000000000000000000002905093925050505600a165627a7a723058209a54b7e58c826d8f330261c8245dc75369849834fed14de5b5860c3bda9626af0029", - "sourceMap": "59:153:48:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;59:153:48;;;;;;;", - "deployedSourceMap": "59:153:48:-;;;;;;;;;;;;;;;;;;;;;;;;103:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;103:107:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;169:6;490:10:49;190:15:48;;183:22;;103:107;;;;;:::o", - "source": "pragma solidity ^0.4.21;\n\nimport \"./ERC721Receiver.sol\";\n\n\ncontract ERC721Holder is ERC721Receiver {\n function onERC721Received(address, uint256, bytes) public returns(bytes4) {\n return ERC721_RECEIVED;\n }\n}\n", + "bytecode": "0x608060405234801561001057600080fd5b506101a7806100206000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063150b7a0214610046575b600080fd5b34801561005257600080fd5b506100f7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061014b565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b600063150b7a027c01000000000000000000000000000000000000000000000000000000000290509493505050505600a165627a7a72305820e56d2fd75f1e85240dd2d9bb48f10071b6d948e8d47f46b0871319369601e0f80029", + "deployedBytecode": "0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063150b7a0214610046575b600080fd5b34801561005257600080fd5b506100f7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061014b565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b600063150b7a027c01000000000000000000000000000000000000000000000000000000000290509493505050505600a165627a7a72305820e56d2fd75f1e85240dd2d9bb48f10071b6d948e8d47f46b0871319369601e0f80029", + "sourceMap": "59:162:50:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;59:162:50;;;;;;;", + "deployedSourceMap": "59:162:50:-;;;;;;;;;;;;;;;;;;;;;;;;103:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;103:116:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;178:6;506:10:51;199:15:50;;192:22;;103:116;;;;;;:::o", + "source": "pragma solidity ^0.4.21;\n\nimport \"./ERC721Receiver.sol\";\n\n\ncontract ERC721Holder is ERC721Receiver {\n function onERC721Received(address, address, uint256, bytes) public returns(bytes4) {\n return ERC721_RECEIVED;\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Holder.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Holder.sol", "exportedSymbols": { "ERC721Holder": [ - 4226 + 4289 ] }, - "id": 4227, + "id": 4290, "nodeType": "SourceUnit", "nodes": [ { - "id": 4208, + "id": 4269, "literals": [ "solidity", "^", @@ -54,16 +58,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:48" + "src": "0:24:50" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Receiver.sol", "file": "./ERC721Receiver.sol", - "id": 4209, + "id": 4270, "nodeType": "ImportDirective", - "scope": 4227, - "sourceUnit": 4244, - "src": "26:30:48", + "scope": 4290, + "sourceUnit": 4309, + "src": "26:30:50", "symbolAliases": [], "unitAlias": "" }, @@ -73,64 +77,64 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 4210, + "id": 4271, "name": "ERC721Receiver", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4243, - "src": "84:14:48", + "referencedDeclaration": 4308, + "src": "84:14:50", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Receiver_$4243", + "typeIdentifier": "t_contract$_ERC721Receiver_$4308", "typeString": "contract ERC721Receiver" } }, - "id": 4211, + "id": 4272, "nodeType": "InheritanceSpecifier", - "src": "84:14:48" + "src": "84:14:50" } ], "contractDependencies": [ - 4243 + 4308 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 4226, + "id": 4289, "linearizedBaseContracts": [ - 4226, - 4243 + 4289, + 4308 ], "name": "ERC721Holder", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 4224, + "id": 4287, "nodeType": "Block", - "src": "177:33:48", + "src": "186:33:50", "statements": [ { "expression": { "argumentTypes": null, - "id": 4222, + "id": 4285, "name": "ERC721_RECEIVED", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4231, - "src": "190:15:48", + "referencedDeclaration": 4294, + "src": "199:15:50", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "functionReturnParameters": 4221, - "id": 4223, + "functionReturnParameters": 4284, + "id": 4286, "nodeType": "Return", - "src": "183:22:48" + "src": "192:22:50" } ] }, "documentation": null, - "id": 4225, + "id": 4288, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -138,16 +142,16 @@ "name": "onERC721Received", "nodeType": "FunctionDefinition", "parameters": { - "id": 4218, + "id": 4281, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4213, + "id": 4274, "name": "", "nodeType": "VariableDeclaration", - "scope": 4225, - "src": "129:7:48", + "scope": 4288, + "src": "129:7:50", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -155,10 +159,10 @@ "typeString": "address" }, "typeName": { - "id": 4212, + "id": 4273, "name": "address", "nodeType": "ElementaryTypeName", - "src": "129:7:48", + "src": "129:7:50", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -169,11 +173,37 @@ }, { "constant": false, - "id": 4215, + "id": 4276, "name": "", "nodeType": "VariableDeclaration", - "scope": 4225, - "src": "138:7:48", + "scope": 4288, + "src": "138:7:50", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4275, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "138:7:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4278, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4288, + "src": "147:7:50", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -181,10 +211,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4214, + "id": 4277, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "138:7:48", + "src": "147:7:50", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -195,11 +225,11 @@ }, { "constant": false, - "id": 4217, + "id": 4280, "name": "", "nodeType": "VariableDeclaration", - "scope": 4225, - "src": "147:5:48", + "scope": 4288, + "src": "156:5:50", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -207,10 +237,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4216, + "id": 4279, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "147:5:48", + "src": "156:5:50", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -220,20 +250,20 @@ "visibility": "internal" } ], - "src": "128:25:48" + "src": "128:34:50" }, "payable": false, "returnParameters": { - "id": 4221, + "id": 4284, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4220, + "id": 4283, "name": "", "nodeType": "VariableDeclaration", - "scope": 4225, - "src": "169:6:48", + "scope": 4288, + "src": "178:6:50", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -241,10 +271,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 4219, + "id": 4282, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "169:6:48", + "src": "178:6:50", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -254,33 +284,33 @@ "visibility": "internal" } ], - "src": "168:8:48" + "src": "177:8:50" }, - "scope": 4226, - "src": "103:107:48", + "scope": 4289, + "src": "103:116:50", "stateMutability": "nonpayable", - "superFunction": 4242, + "superFunction": 4307, "visibility": "public" } ], - "scope": 4227, - "src": "59:153:48" + "scope": 4290, + "src": "59:162:50" } ], - "src": "0:213:48" + "src": "0:222:50" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Holder.sol", "exportedSymbols": { "ERC721Holder": [ - 4226 + 4289 ] }, - "id": 4227, + "id": 4290, "nodeType": "SourceUnit", "nodes": [ { - "id": 4208, + "id": 4269, "literals": [ "solidity", "^", @@ -288,16 +318,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:48" + "src": "0:24:50" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Receiver.sol", "file": "./ERC721Receiver.sol", - "id": 4209, + "id": 4270, "nodeType": "ImportDirective", - "scope": 4227, - "sourceUnit": 4244, - "src": "26:30:48", + "scope": 4290, + "sourceUnit": 4309, + "src": "26:30:50", "symbolAliases": [], "unitAlias": "" }, @@ -307,64 +337,64 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 4210, + "id": 4271, "name": "ERC721Receiver", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4243, - "src": "84:14:48", + "referencedDeclaration": 4308, + "src": "84:14:50", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Receiver_$4243", + "typeIdentifier": "t_contract$_ERC721Receiver_$4308", "typeString": "contract ERC721Receiver" } }, - "id": 4211, + "id": 4272, "nodeType": "InheritanceSpecifier", - "src": "84:14:48" + "src": "84:14:50" } ], "contractDependencies": [ - 4243 + 4308 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 4226, + "id": 4289, "linearizedBaseContracts": [ - 4226, - 4243 + 4289, + 4308 ], "name": "ERC721Holder", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 4224, + "id": 4287, "nodeType": "Block", - "src": "177:33:48", + "src": "186:33:50", "statements": [ { "expression": { "argumentTypes": null, - "id": 4222, + "id": 4285, "name": "ERC721_RECEIVED", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4231, - "src": "190:15:48", + "referencedDeclaration": 4294, + "src": "199:15:50", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "functionReturnParameters": 4221, - "id": 4223, + "functionReturnParameters": 4284, + "id": 4286, "nodeType": "Return", - "src": "183:22:48" + "src": "192:22:50" } ] }, "documentation": null, - "id": 4225, + "id": 4288, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -372,16 +402,16 @@ "name": "onERC721Received", "nodeType": "FunctionDefinition", "parameters": { - "id": 4218, + "id": 4281, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4213, + "id": 4274, "name": "", "nodeType": "VariableDeclaration", - "scope": 4225, - "src": "129:7:48", + "scope": 4288, + "src": "129:7:50", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -389,10 +419,10 @@ "typeString": "address" }, "typeName": { - "id": 4212, + "id": 4273, "name": "address", "nodeType": "ElementaryTypeName", - "src": "129:7:48", + "src": "129:7:50", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -403,11 +433,37 @@ }, { "constant": false, - "id": 4215, + "id": 4276, "name": "", "nodeType": "VariableDeclaration", - "scope": 4225, - "src": "138:7:48", + "scope": 4288, + "src": "138:7:50", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4275, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "138:7:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4278, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4288, + "src": "147:7:50", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -415,10 +471,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4214, + "id": 4277, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "138:7:48", + "src": "147:7:50", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -429,11 +485,11 @@ }, { "constant": false, - "id": 4217, + "id": 4280, "name": "", "nodeType": "VariableDeclaration", - "scope": 4225, - "src": "147:5:48", + "scope": 4288, + "src": "156:5:50", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -441,10 +497,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4216, + "id": 4279, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "147:5:48", + "src": "156:5:50", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -454,20 +510,20 @@ "visibility": "internal" } ], - "src": "128:25:48" + "src": "128:34:50" }, "payable": false, "returnParameters": { - "id": 4221, + "id": 4284, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4220, + "id": 4283, "name": "", "nodeType": "VariableDeclaration", - "scope": 4225, - "src": "169:6:48", + "scope": 4288, + "src": "178:6:50", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -475,10 +531,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 4219, + "id": 4282, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "169:6:48", + "src": "178:6:50", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -488,26 +544,26 @@ "visibility": "internal" } ], - "src": "168:8:48" + "src": "177:8:50" }, - "scope": 4226, - "src": "103:107:48", + "scope": 4289, + "src": "103:116:50", "stateMutability": "nonpayable", - "superFunction": 4242, + "superFunction": 4307, "visibility": "public" } ], - "scope": 4227, - "src": "59:153:48" + "scope": 4290, + "src": "59:162:50" } ], - "src": "0:213:48" + "src": "0:222:50" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.650Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.221Z" } \ No newline at end of file diff --git a/build/contracts/ERC721Metadata.json b/build/contracts/ERC721Metadata.json index 70edd7ddb..d164d875b 100644 --- a/build/contracts/ERC721Metadata.json +++ b/build/contracts/ERC721Metadata.json @@ -1,6 +1,25 @@ { "contractName": "ERC721Metadata", "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [ @@ -324,26 +343,26 @@ "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", - "source": "pragma solidity ^0.4.21;\n\nimport \"./ERC721Basic.sol\";\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Enumerable is ERC721Basic {\n function totalSupply() public view returns (uint256);\n function tokenOfOwnerByIndex(address _owner, uint256 _index) public view returns (uint256 _tokenId);\n function tokenByIndex(uint256 _index) public view returns (uint256);\n}\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Metadata is ERC721Basic {\n function name() public view returns (string _name);\n function symbol() public view returns (string _symbol);\n function tokenURI(uint256 _tokenId) public view returns (string);\n}\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, full implementation interface\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721 is ERC721Basic, ERC721Enumerable, ERC721Metadata {\n}\n", + "source": "pragma solidity ^0.4.21;\n\nimport \"./ERC721Basic.sol\";\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Enumerable is ERC721Basic {\n function totalSupply() public view returns (uint256);\n function tokenOfOwnerByIndex(\n address _owner,\n uint256 _index\n )\n public\n view\n returns (uint256 _tokenId);\n\n function tokenByIndex(uint256 _index) public view returns (uint256);\n}\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Metadata is ERC721Basic {\n function name() external view returns (string _name);\n function symbol() external view returns (string _symbol);\n function tokenURI(uint256 _tokenId) public view returns (string);\n}\n\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, full implementation interface\n * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721 is ERC721Basic, ERC721Enumerable, ERC721Metadata {\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721.sol", "exportedSymbols": { "ERC721": [ - 296 + 3564 ], "ERC721Enumerable": [ - 269 + 3537 ], "ERC721Metadata": [ - 289 + 3557 ] }, - "id": 297, + "id": 3565, "nodeType": "SourceUnit", "nodes": [ { - "id": 244, + "id": 3512, "literals": [ "solidity", "^", @@ -351,16 +370,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:4" + "src": "0:24:47" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Basic.sol", "file": "./ERC721Basic.sol", - "id": 245, + "id": 3513, "nodeType": "ImportDirective", - "scope": 297, - "sourceUnit": 404, - "src": "26:27:4", + "scope": 3565, + "sourceUnit": 3675, + "src": "26:27:47", "symbolAliases": [], "unitAlias": "" }, @@ -370,31 +389,33 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 246, + "id": 3514, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "244:11:4", + "referencedDeclaration": 3674, + "src": "244:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 247, + "id": 3515, "nodeType": "InheritanceSpecifier", - "src": "244:11:4" + "src": "244:11:47" } ], "contractDependencies": [ - 403 + 303, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 269, + "id": 3537, "linearizedBaseContracts": [ - 269, - 403 + 3537, + 3674, + 303 ], "name": "ERC721Enumerable", "nodeType": "ContractDefinition", @@ -402,7 +423,7 @@ { "body": null, "documentation": null, - "id": 252, + "id": 3520, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -410,23 +431,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 248, + "id": 3516, "nodeType": "ParameterList", "parameters": [], - "src": "280:2:4" + "src": "280:2:47" }, "payable": false, "returnParameters": { - "id": 251, + "id": 3519, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 250, + "id": 3518, "name": "", "nodeType": "VariableDeclaration", - "scope": 252, - "src": "304:7:4", + "scope": 3520, + "src": "304:7:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -434,10 +455,10 @@ "typeString": "uint256" }, "typeName": { - "id": 249, + "id": 3517, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "304:7:4", + "src": "304:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -447,10 +468,10 @@ "visibility": "internal" } ], - "src": "303:9:4" + "src": "303:9:47" }, - "scope": 269, - "src": "260:53:4", + "scope": 3537, + "src": "260:53:47", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -458,7 +479,7 @@ { "body": null, "documentation": null, - "id": 261, + "id": 3529, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -466,16 +487,16 @@ "name": "tokenOfOwnerByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 257, + "id": 3525, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 254, + "id": 3522, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "345:14:4", + "scope": 3529, + "src": "350:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -483,10 +504,10 @@ "typeString": "address" }, "typeName": { - "id": 253, + "id": 3521, "name": "address", "nodeType": "ElementaryTypeName", - "src": "345:7:4", + "src": "350:7:47", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -497,11 +518,11 @@ }, { "constant": false, - "id": 256, + "id": 3524, "name": "_index", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "361:14:4", + "scope": 3529, + "src": "370:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -509,10 +530,10 @@ "typeString": "uint256" }, "typeName": { - "id": 255, + "id": 3523, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "361:7:4", + "src": "370:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -522,20 +543,20 @@ "visibility": "internal" } ], - "src": "344:32:4" + "src": "344:44:47" }, "payable": false, "returnParameters": { - "id": 260, + "id": 3528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 259, + "id": 3527, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "398:16:4", + "scope": 3529, + "src": "422:16:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -543,10 +564,10 @@ "typeString": "uint256" }, "typeName": { - "id": 258, + "id": 3526, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "398:7:4", + "src": "422:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -556,10 +577,10 @@ "visibility": "internal" } ], - "src": "397:18:4" + "src": "421:18:47" }, - "scope": 269, - "src": "316:100:4", + "scope": 3537, + "src": "316:124:47", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -567,7 +588,7 @@ { "body": null, "documentation": null, - "id": 268, + "id": 3536, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -575,16 +596,16 @@ "name": "tokenByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 264, + "id": 3532, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 263, + "id": 3531, "name": "_index", "nodeType": "VariableDeclaration", - "scope": 268, - "src": "441:14:4", + "scope": 3536, + "src": "466:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -592,10 +613,10 @@ "typeString": "uint256" }, "typeName": { - "id": 262, + "id": 3530, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "441:7:4", + "src": "466:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -605,20 +626,20 @@ "visibility": "internal" } ], - "src": "440:16:4" + "src": "465:16:47" }, "payable": false, "returnParameters": { - "id": 267, + "id": 3535, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 266, + "id": 3534, "name": "", "nodeType": "VariableDeclaration", - "scope": 268, - "src": "478:7:4", + "scope": 3536, + "src": "503:7:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -626,10 +647,10 @@ "typeString": "uint256" }, "typeName": { - "id": 265, + "id": 3533, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "478:7:4", + "src": "503:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -639,17 +660,17 @@ "visibility": "internal" } ], - "src": "477:9:4" + "src": "502:9:47" }, - "scope": 269, - "src": "419:68:4", + "scope": 3537, + "src": "444:68:47", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 297, - "src": "215:274:4" + "scope": 3565, + "src": "215:299:47" }, { "baseContracts": [ @@ -657,31 +678,33 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 270, + "id": 3538, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "675:11:4", + "referencedDeclaration": 3674, + "src": "700:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 271, + "id": 3539, "nodeType": "InheritanceSpecifier", - "src": "675:11:4" + "src": "700:11:47" } ], "contractDependencies": [ - 403 + 303, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, optional metadata extension\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 289, + "id": 3557, "linearizedBaseContracts": [ - 289, - 403 + 3557, + 3674, + 303 ], "name": "ERC721Metadata", "nodeType": "ContractDefinition", @@ -689,7 +712,7 @@ { "body": null, "documentation": null, - "id": 276, + "id": 3544, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -697,23 +720,23 @@ "name": "name", "nodeType": "FunctionDefinition", "parameters": { - "id": 272, + "id": 3540, "nodeType": "ParameterList", "parameters": [], - "src": "704:2:4" + "src": "729:2:47" }, "payable": false, "returnParameters": { - "id": 275, + "id": 3543, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 274, + "id": 3542, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 276, - "src": "728:12:4", + "scope": 3544, + "src": "755:12:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -721,10 +744,10 @@ "typeString": "string" }, "typeName": { - "id": 273, + "id": 3541, "name": "string", "nodeType": "ElementaryTypeName", - "src": "728:6:4", + "src": "755:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -734,18 +757,18 @@ "visibility": "internal" } ], - "src": "727:14:4" + "src": "754:14:47" }, - "scope": 289, - "src": "691:51:4", + "scope": 3557, + "src": "716:53:47", "stateMutability": "view", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { "body": null, "documentation": null, - "id": 281, + "id": 3549, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -753,23 +776,23 @@ "name": "symbol", "nodeType": "FunctionDefinition", "parameters": { - "id": 277, + "id": 3545, "nodeType": "ParameterList", "parameters": [], - "src": "760:2:4" + "src": "787:2:47" }, "payable": false, "returnParameters": { - "id": 280, + "id": 3548, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 279, + "id": 3547, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 281, - "src": "784:14:4", + "scope": 3549, + "src": "813:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -777,10 +800,10 @@ "typeString": "string" }, "typeName": { - "id": 278, + "id": 3546, "name": "string", "nodeType": "ElementaryTypeName", - "src": "784:6:4", + "src": "813:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -790,18 +813,18 @@ "visibility": "internal" } ], - "src": "783:16:4" + "src": "812:16:47" }, - "scope": 289, - "src": "745:55:4", + "scope": 3557, + "src": "772:57:47", "stateMutability": "view", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { "body": null, "documentation": null, - "id": 288, + "id": 3556, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -809,16 +832,16 @@ "name": "tokenURI", "nodeType": "FunctionDefinition", "parameters": { - "id": 284, + "id": 3552, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 283, + "id": 3551, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 288, - "src": "821:16:4", + "scope": 3556, + "src": "850:16:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -826,10 +849,10 @@ "typeString": "uint256" }, "typeName": { - "id": 282, + "id": 3550, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "821:7:4", + "src": "850:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -839,20 +862,20 @@ "visibility": "internal" } ], - "src": "820:18:4" + "src": "849:18:47" }, "payable": false, "returnParameters": { - "id": 287, + "id": 3555, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 286, + "id": 3554, "name": "", "nodeType": "VariableDeclaration", - "scope": 288, - "src": "860:6:4", + "scope": 3556, + "src": "889:6:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -860,10 +883,10 @@ "typeString": "string" }, "typeName": { - "id": 285, + "id": 3553, "name": "string", "nodeType": "ElementaryTypeName", - "src": "860:6:4", + "src": "889:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -873,17 +896,17 @@ "visibility": "internal" } ], - "src": "859:8:4" + "src": "888:8:47" }, - "scope": 289, - "src": "803:65:4", + "scope": 3557, + "src": "832:65:47", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 297, - "src": "648:222:4" + "scope": 3565, + "src": "673:226:47" }, { "baseContracts": [ @@ -891,99 +914,101 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 290, + "id": 3558, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "1050:11:4", + "referencedDeclaration": 3674, + "src": "1079:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 291, + "id": 3559, "nodeType": "InheritanceSpecifier", - "src": "1050:11:4" + "src": "1079:11:47" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 292, + "id": 3560, "name": "ERC721Enumerable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 269, - "src": "1063:16:4", + "referencedDeclaration": 3537, + "src": "1092:16:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Enumerable_$269", + "typeIdentifier": "t_contract$_ERC721Enumerable_$3537", "typeString": "contract ERC721Enumerable" } }, - "id": 293, + "id": 3561, "nodeType": "InheritanceSpecifier", - "src": "1063:16:4" + "src": "1092:16:47" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 294, + "id": 3562, "name": "ERC721Metadata", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 289, - "src": "1081:14:4", + "referencedDeclaration": 3557, + "src": "1110:14:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Metadata_$289", + "typeIdentifier": "t_contract$_ERC721Metadata_$3557", "typeString": "contract ERC721Metadata" } }, - "id": 295, + "id": 3563, "nodeType": "InheritanceSpecifier", - "src": "1081:14:4" + "src": "1110:14:47" } ], "contractDependencies": [ - 269, - 289, - 403 + 303, + 3537, + 3557, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, full implementation interface\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 296, + "id": 3564, "linearizedBaseContracts": [ - 296, - 289, - 269, - 403 + 3564, + 3557, + 3537, + 3674, + 303 ], "name": "ERC721", "nodeType": "ContractDefinition", "nodes": [], - "scope": 297, - "src": "1031:68:4" + "scope": 3565, + "src": "1060:68:47" } ], - "src": "0:1100:4" + "src": "0:1129:47" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721.sol", "exportedSymbols": { "ERC721": [ - 296 + 3564 ], "ERC721Enumerable": [ - 269 + 3537 ], "ERC721Metadata": [ - 289 + 3557 ] }, - "id": 297, + "id": 3565, "nodeType": "SourceUnit", "nodes": [ { - "id": 244, + "id": 3512, "literals": [ "solidity", "^", @@ -991,16 +1016,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:4" + "src": "0:24:47" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Basic.sol", "file": "./ERC721Basic.sol", - "id": 245, + "id": 3513, "nodeType": "ImportDirective", - "scope": 297, - "sourceUnit": 404, - "src": "26:27:4", + "scope": 3565, + "sourceUnit": 3675, + "src": "26:27:47", "symbolAliases": [], "unitAlias": "" }, @@ -1010,31 +1035,33 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 246, + "id": 3514, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "244:11:4", + "referencedDeclaration": 3674, + "src": "244:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 247, + "id": 3515, "nodeType": "InheritanceSpecifier", - "src": "244:11:4" + "src": "244:11:47" } ], "contractDependencies": [ - 403 + 303, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 269, + "id": 3537, "linearizedBaseContracts": [ - 269, - 403 + 3537, + 3674, + 303 ], "name": "ERC721Enumerable", "nodeType": "ContractDefinition", @@ -1042,7 +1069,7 @@ { "body": null, "documentation": null, - "id": 252, + "id": 3520, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1050,23 +1077,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 248, + "id": 3516, "nodeType": "ParameterList", "parameters": [], - "src": "280:2:4" + "src": "280:2:47" }, "payable": false, "returnParameters": { - "id": 251, + "id": 3519, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 250, + "id": 3518, "name": "", "nodeType": "VariableDeclaration", - "scope": 252, - "src": "304:7:4", + "scope": 3520, + "src": "304:7:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1074,10 +1101,10 @@ "typeString": "uint256" }, "typeName": { - "id": 249, + "id": 3517, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "304:7:4", + "src": "304:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1087,10 +1114,10 @@ "visibility": "internal" } ], - "src": "303:9:4" + "src": "303:9:47" }, - "scope": 269, - "src": "260:53:4", + "scope": 3537, + "src": "260:53:47", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1098,7 +1125,7 @@ { "body": null, "documentation": null, - "id": 261, + "id": 3529, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1106,16 +1133,16 @@ "name": "tokenOfOwnerByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 257, + "id": 3525, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 254, + "id": 3522, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "345:14:4", + "scope": 3529, + "src": "350:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1123,10 +1150,10 @@ "typeString": "address" }, "typeName": { - "id": 253, + "id": 3521, "name": "address", "nodeType": "ElementaryTypeName", - "src": "345:7:4", + "src": "350:7:47", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1137,11 +1164,11 @@ }, { "constant": false, - "id": 256, + "id": 3524, "name": "_index", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "361:14:4", + "scope": 3529, + "src": "370:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1149,10 +1176,10 @@ "typeString": "uint256" }, "typeName": { - "id": 255, + "id": 3523, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "361:7:4", + "src": "370:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1162,20 +1189,20 @@ "visibility": "internal" } ], - "src": "344:32:4" + "src": "344:44:47" }, "payable": false, "returnParameters": { - "id": 260, + "id": 3528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 259, + "id": 3527, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 261, - "src": "398:16:4", + "scope": 3529, + "src": "422:16:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1183,10 +1210,10 @@ "typeString": "uint256" }, "typeName": { - "id": 258, + "id": 3526, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "398:7:4", + "src": "422:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1196,10 +1223,10 @@ "visibility": "internal" } ], - "src": "397:18:4" + "src": "421:18:47" }, - "scope": 269, - "src": "316:100:4", + "scope": 3537, + "src": "316:124:47", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1207,7 +1234,7 @@ { "body": null, "documentation": null, - "id": 268, + "id": 3536, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1215,16 +1242,16 @@ "name": "tokenByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 264, + "id": 3532, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 263, + "id": 3531, "name": "_index", "nodeType": "VariableDeclaration", - "scope": 268, - "src": "441:14:4", + "scope": 3536, + "src": "466:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1232,10 +1259,10 @@ "typeString": "uint256" }, "typeName": { - "id": 262, + "id": 3530, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "441:7:4", + "src": "466:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1245,20 +1272,20 @@ "visibility": "internal" } ], - "src": "440:16:4" + "src": "465:16:47" }, "payable": false, "returnParameters": { - "id": 267, + "id": 3535, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 266, + "id": 3534, "name": "", "nodeType": "VariableDeclaration", - "scope": 268, - "src": "478:7:4", + "scope": 3536, + "src": "503:7:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1266,10 +1293,10 @@ "typeString": "uint256" }, "typeName": { - "id": 265, + "id": 3533, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "478:7:4", + "src": "503:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1279,17 +1306,17 @@ "visibility": "internal" } ], - "src": "477:9:4" + "src": "502:9:47" }, - "scope": 269, - "src": "419:68:4", + "scope": 3537, + "src": "444:68:47", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 297, - "src": "215:274:4" + "scope": 3565, + "src": "215:299:47" }, { "baseContracts": [ @@ -1297,31 +1324,33 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 270, + "id": 3538, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "675:11:4", + "referencedDeclaration": 3674, + "src": "700:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 271, + "id": 3539, "nodeType": "InheritanceSpecifier", - "src": "675:11:4" + "src": "700:11:47" } ], "contractDependencies": [ - 403 + 303, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, optional metadata extension\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 289, + "id": 3557, "linearizedBaseContracts": [ - 289, - 403 + 3557, + 3674, + 303 ], "name": "ERC721Metadata", "nodeType": "ContractDefinition", @@ -1329,7 +1358,7 @@ { "body": null, "documentation": null, - "id": 276, + "id": 3544, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1337,23 +1366,23 @@ "name": "name", "nodeType": "FunctionDefinition", "parameters": { - "id": 272, + "id": 3540, "nodeType": "ParameterList", "parameters": [], - "src": "704:2:4" + "src": "729:2:47" }, "payable": false, "returnParameters": { - "id": 275, + "id": 3543, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 274, + "id": 3542, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 276, - "src": "728:12:4", + "scope": 3544, + "src": "755:12:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1361,10 +1390,10 @@ "typeString": "string" }, "typeName": { - "id": 273, + "id": 3541, "name": "string", "nodeType": "ElementaryTypeName", - "src": "728:6:4", + "src": "755:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1374,18 +1403,18 @@ "visibility": "internal" } ], - "src": "727:14:4" + "src": "754:14:47" }, - "scope": 289, - "src": "691:51:4", + "scope": 3557, + "src": "716:53:47", "stateMutability": "view", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { "body": null, "documentation": null, - "id": 281, + "id": 3549, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1393,23 +1422,23 @@ "name": "symbol", "nodeType": "FunctionDefinition", "parameters": { - "id": 277, + "id": 3545, "nodeType": "ParameterList", "parameters": [], - "src": "760:2:4" + "src": "787:2:47" }, "payable": false, "returnParameters": { - "id": 280, + "id": 3548, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 279, + "id": 3547, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 281, - "src": "784:14:4", + "scope": 3549, + "src": "813:14:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1417,10 +1446,10 @@ "typeString": "string" }, "typeName": { - "id": 278, + "id": 3546, "name": "string", "nodeType": "ElementaryTypeName", - "src": "784:6:4", + "src": "813:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1430,18 +1459,18 @@ "visibility": "internal" } ], - "src": "783:16:4" + "src": "812:16:47" }, - "scope": 289, - "src": "745:55:4", + "scope": 3557, + "src": "772:57:47", "stateMutability": "view", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { "body": null, "documentation": null, - "id": 288, + "id": 3556, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1449,16 +1478,16 @@ "name": "tokenURI", "nodeType": "FunctionDefinition", "parameters": { - "id": 284, + "id": 3552, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 283, + "id": 3551, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 288, - "src": "821:16:4", + "scope": 3556, + "src": "850:16:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1466,10 +1495,10 @@ "typeString": "uint256" }, "typeName": { - "id": 282, + "id": 3550, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "821:7:4", + "src": "850:7:47", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1479,20 +1508,20 @@ "visibility": "internal" } ], - "src": "820:18:4" + "src": "849:18:47" }, "payable": false, "returnParameters": { - "id": 287, + "id": 3555, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 286, + "id": 3554, "name": "", "nodeType": "VariableDeclaration", - "scope": 288, - "src": "860:6:4", + "scope": 3556, + "src": "889:6:47", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1500,10 +1529,10 @@ "typeString": "string" }, "typeName": { - "id": 285, + "id": 3553, "name": "string", "nodeType": "ElementaryTypeName", - "src": "860:6:4", + "src": "889:6:47", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1513,17 +1542,17 @@ "visibility": "internal" } ], - "src": "859:8:4" + "src": "888:8:47" }, - "scope": 289, - "src": "803:65:4", + "scope": 3557, + "src": "832:65:47", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 297, - "src": "648:222:4" + "scope": 3565, + "src": "673:226:47" }, { "baseContracts": [ @@ -1531,80 +1560,82 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 290, + "id": 3558, "name": "ERC721Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 403, - "src": "1050:11:4", + "referencedDeclaration": 3674, + "src": "1079:11:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Basic_$403", + "typeIdentifier": "t_contract$_ERC721Basic_$3674", "typeString": "contract ERC721Basic" } }, - "id": 291, + "id": 3559, "nodeType": "InheritanceSpecifier", - "src": "1050:11:4" + "src": "1079:11:47" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 292, + "id": 3560, "name": "ERC721Enumerable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 269, - "src": "1063:16:4", + "referencedDeclaration": 3537, + "src": "1092:16:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Enumerable_$269", + "typeIdentifier": "t_contract$_ERC721Enumerable_$3537", "typeString": "contract ERC721Enumerable" } }, - "id": 293, + "id": 3561, "nodeType": "InheritanceSpecifier", - "src": "1063:16:4" + "src": "1092:16:47" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 294, + "id": 3562, "name": "ERC721Metadata", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 289, - "src": "1081:14:4", + "referencedDeclaration": 3557, + "src": "1110:14:47", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Metadata_$289", + "typeIdentifier": "t_contract$_ERC721Metadata_$3557", "typeString": "contract ERC721Metadata" } }, - "id": 295, + "id": 3563, "nodeType": "InheritanceSpecifier", - "src": "1081:14:4" + "src": "1110:14:47" } ], "contractDependencies": [ - 269, - 289, - 403 + 303, + 3537, + 3557, + 3674 ], "contractKind": "contract", "documentation": "@title ERC-721 Non-Fungible Token Standard, full implementation interface\n@dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": false, - "id": 296, + "id": 3564, "linearizedBaseContracts": [ - 296, - 289, - 269, - 403 + 3564, + 3557, + 3537, + 3674, + 303 ], "name": "ERC721", "nodeType": "ContractDefinition", "nodes": [], - "scope": 297, - "src": "1031:68:4" + "scope": 3565, + "src": "1060:68:47" } ], - "src": "0:1100:4" + "src": "0:1129:47" }, "compiler": { "name": "solc", @@ -1612,5 +1643,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-08-23T17:26:04.153Z" + "updatedAt": "2018-08-27T20:45:00.218Z" } \ No newline at end of file diff --git a/build/contracts/ERC721Receiver.json b/build/contracts/ERC721Receiver.json index 30ef8a0ab..4821cdb6b 100644 --- a/build/contracts/ERC721Receiver.json +++ b/build/contracts/ERC721Receiver.json @@ -4,6 +4,10 @@ { "constant": false, "inputs": [ + { + "name": "_operator", + "type": "address" + }, { "name": "_from", "type": "address" @@ -33,20 +37,20 @@ "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", - "source": "pragma solidity ^0.4.21;\n\n\n/**\n * @title ERC721 token receiver interface\n * @dev Interface for any contract that wants to support safeTransfers\n * from ERC721 asset contracts.\n */\ncontract ERC721Receiver {\n /**\n * @dev Magic value to be returned upon successful reception of an NFT\n * Equals to `bytes4(keccak256(\"onERC721Received(address,uint256,bytes)\"))`,\n * which can be also obtained as `ERC721Receiver(0).onERC721Received.selector`\n */\n bytes4 constant ERC721_RECEIVED = 0xf0b9e5ba;\n\n /**\n * @notice Handle the receipt of an NFT\n * @dev The ERC721 smart contract calls this function on the recipient\n * after a `safetransfer`. This function MAY throw to revert and reject the\n * transfer. This function MUST use 50,000 gas or less. Return of other\n * than the magic value MUST result in the transaction being reverted.\n * Note: the contract address is always the message sender.\n * @param _from The sending address\n * @param _tokenId The NFT identifier which is being transfered\n * @param _data Additional data with no specified format\n * @return `bytes4(keccak256(\"onERC721Received(address,uint256,bytes)\"))`\n */\n function onERC721Received(address _from, uint256 _tokenId, bytes _data) public returns(bytes4);\n}\n", + "source": "pragma solidity ^0.4.21;\n\n\n/**\n * @title ERC721 token receiver interface\n * @dev Interface for any contract that wants to support safeTransfers\n * from ERC721 asset contracts.\n */\ncontract ERC721Receiver {\n /**\n * @dev Magic value to be returned upon successful reception of an NFT\n * Equals to `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`,\n * which can be also obtained as `ERC721Receiver(0).onERC721Received.selector`\n */\n bytes4 internal constant ERC721_RECEIVED = 0x150b7a02;\n\n /**\n * @notice Handle the receipt of an NFT\n * @dev The ERC721 smart contract calls this function on the recipient\n * after a `safetransfer`. This function MAY throw to revert and reject the\n * transfer. Return of other than the magic value MUST result in the \n * transaction being reverted.\n * Note: the contract address is always the message sender.\n * @param _operator The address which called `safeTransferFrom` function\n * @param _from The address which previously owned the token\n * @param _tokenId The NFT identifier which is being transfered\n * @param _data Additional data with no specified format\n * @return `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`\n */\n function onERC721Received(\n address _operator,\n address _from,\n uint256 _tokenId,\n bytes _data\n )\n public\n returns(bytes4);\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Receiver.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Receiver.sol", "exportedSymbols": { "ERC721Receiver": [ - 1003 + 4308 ] }, - "id": 1004, + "id": 4309, "nodeType": "SourceUnit", "nodes": [ { - "id": 988, + "id": 4291, "literals": [ "solidity", "^", @@ -54,28 +58,28 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:7" + "src": "0:24:51" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", - "documentation": "@title ERC721 token receiver interface\n@dev Interface for any contract that wants to support safeTransfers\n from ERC721 asset contracts.", + "documentation": "@title ERC721 token receiver interface\n@dev Interface for any contract that wants to support safeTransfers\nfrom ERC721 asset contracts.", "fullyImplemented": false, - "id": 1003, + "id": 4308, "linearizedBaseContracts": [ - 1003 + 4308 ], "name": "ERC721Receiver", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, - "id": 991, + "id": 4294, "name": "ERC721_RECEIVED", "nodeType": "VariableDeclaration", - "scope": 1003, - "src": "456:44:7", + "scope": 4308, + "src": "463:53:51", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -83,10 +87,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 989, + "id": 4292, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "456:6:7", + "src": "463:6:51", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -94,28 +98,28 @@ }, "value": { "argumentTypes": null, - "hexValue": "30786630623965356261", - "id": 990, + "hexValue": "30783135306237613032", + "id": 4293, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "490:10:7", + "src": "506:10:51", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_4038714810_by_1", - "typeString": "int_const 4038714810" + "typeIdentifier": "t_rational_353073666_by_1", + "typeString": "int_const 353073666" }, - "value": "0xf0b9e5ba" + "value": "0x150b7a02" }, "visibility": "internal" }, { "body": null, - "documentation": "@notice Handle the receipt of an NFT\n@dev The ERC721 smart contract calls this function on the recipient\n after a `safetransfer`. This function MAY throw to revert and reject the\n transfer. This function MUST use 50,000 gas or less. Return of other\n than the magic value MUST result in the transaction being reverted.\n Note: the contract address is always the message sender.\n@param _from The sending address\n@param _tokenId The NFT identifier which is being transfered\n@param _data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC721Received(address,uint256,bytes)\"))`", - "id": 1002, + "documentation": "@notice Handle the receipt of an NFT\n@dev The ERC721 smart contract calls this function on the recipient\nafter a `safetransfer`. This function MAY throw to revert and reject the\ntransfer. Return of other than the magic value MUST result in the \ntransaction being reverted.\nNote: the contract address is always the message sender.\n@param _operator The address which called `safeTransferFrom` function\n@param _from The address which previously owned the token\n@param _tokenId The NFT identifier which is being transfered\n@param _data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`", + "id": 4307, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -123,16 +127,16 @@ "name": "onERC721Received", "nodeType": "FunctionDefinition", "parameters": { - "id": 998, + "id": 4303, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 993, - "name": "_from", + "id": 4296, + "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 1002, - "src": "1188:13:7", + "scope": 4307, + "src": "1271:17:51", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -140,10 +144,10 @@ "typeString": "address" }, "typeName": { - "id": 992, + "id": 4295, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1188:7:7", + "src": "1271:7:51", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -154,11 +158,37 @@ }, { "constant": false, - "id": 995, + "id": 4298, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 4307, + "src": "1294:13:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1294:7:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4300, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 1002, - "src": "1203:16:7", + "scope": 4307, + "src": "1313:16:51", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -166,10 +196,10 @@ "typeString": "uint256" }, "typeName": { - "id": 994, + "id": 4299, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1203:7:7", + "src": "1313:7:51", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -180,11 +210,11 @@ }, { "constant": false, - "id": 997, + "id": 4302, "name": "_data", "nodeType": "VariableDeclaration", - "scope": 1002, - "src": "1221:11:7", + "scope": 4307, + "src": "1335:11:51", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -192,10 +222,10 @@ "typeString": "bytes" }, "typeName": { - "id": 996, + "id": 4301, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1221:5:7", + "src": "1335:5:51", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -205,20 +235,20 @@ "visibility": "internal" } ], - "src": "1187:46:7" + "src": "1265:85:51" }, "payable": false, "returnParameters": { - "id": 1001, + "id": 4306, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1000, + "id": 4305, "name": "", "nodeType": "VariableDeclaration", - "scope": 1002, - "src": "1249:6:7", + "scope": 4307, + "src": "1374:6:51", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -226,10 +256,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 999, + "id": 4304, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "1249:6:7", + "src": "1374:6:51", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -239,33 +269,33 @@ "visibility": "internal" } ], - "src": "1248:8:7" + "src": "1373:8:51" }, - "scope": 1003, - "src": "1162:95:7", + "scope": 4308, + "src": "1240:142:51", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1004, - "src": "181:1078:7" + "scope": 4309, + "src": "180:1204:51" } ], - "src": "0:1260:7" + "src": "0:1385:51" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Receiver.sol", "exportedSymbols": { "ERC721Receiver": [ - 1003 + 4308 ] }, - "id": 1004, + "id": 4309, "nodeType": "SourceUnit", "nodes": [ { - "id": 988, + "id": 4291, "literals": [ "solidity", "^", @@ -273,28 +303,28 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:7" + "src": "0:24:51" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", - "documentation": "@title ERC721 token receiver interface\n@dev Interface for any contract that wants to support safeTransfers\n from ERC721 asset contracts.", + "documentation": "@title ERC721 token receiver interface\n@dev Interface for any contract that wants to support safeTransfers\nfrom ERC721 asset contracts.", "fullyImplemented": false, - "id": 1003, + "id": 4308, "linearizedBaseContracts": [ - 1003 + 4308 ], "name": "ERC721Receiver", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, - "id": 991, + "id": 4294, "name": "ERC721_RECEIVED", "nodeType": "VariableDeclaration", - "scope": 1003, - "src": "456:44:7", + "scope": 4308, + "src": "463:53:51", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -302,10 +332,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 989, + "id": 4292, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "456:6:7", + "src": "463:6:51", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -313,28 +343,28 @@ }, "value": { "argumentTypes": null, - "hexValue": "30786630623965356261", - "id": 990, + "hexValue": "30783135306237613032", + "id": 4293, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "490:10:7", + "src": "506:10:51", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_4038714810_by_1", - "typeString": "int_const 4038714810" + "typeIdentifier": "t_rational_353073666_by_1", + "typeString": "int_const 353073666" }, - "value": "0xf0b9e5ba" + "value": "0x150b7a02" }, "visibility": "internal" }, { "body": null, - "documentation": "@notice Handle the receipt of an NFT\n@dev The ERC721 smart contract calls this function on the recipient\n after a `safetransfer`. This function MAY throw to revert and reject the\n transfer. This function MUST use 50,000 gas or less. Return of other\n than the magic value MUST result in the transaction being reverted.\n Note: the contract address is always the message sender.\n@param _from The sending address\n@param _tokenId The NFT identifier which is being transfered\n@param _data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC721Received(address,uint256,bytes)\"))`", - "id": 1002, + "documentation": "@notice Handle the receipt of an NFT\n@dev The ERC721 smart contract calls this function on the recipient\nafter a `safetransfer`. This function MAY throw to revert and reject the\ntransfer. Return of other than the magic value MUST result in the \ntransaction being reverted.\nNote: the contract address is always the message sender.\n@param _operator The address which called `safeTransferFrom` function\n@param _from The address which previously owned the token\n@param _tokenId The NFT identifier which is being transfered\n@param _data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`", + "id": 4307, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -342,16 +372,16 @@ "name": "onERC721Received", "nodeType": "FunctionDefinition", "parameters": { - "id": 998, + "id": 4303, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 993, - "name": "_from", + "id": 4296, + "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 1002, - "src": "1188:13:7", + "scope": 4307, + "src": "1271:17:51", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -359,10 +389,10 @@ "typeString": "address" }, "typeName": { - "id": 992, + "id": 4295, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1188:7:7", + "src": "1271:7:51", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -373,11 +403,37 @@ }, { "constant": false, - "id": 995, + "id": 4298, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 4307, + "src": "1294:13:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1294:7:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4300, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 1002, - "src": "1203:16:7", + "scope": 4307, + "src": "1313:16:51", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -385,10 +441,10 @@ "typeString": "uint256" }, "typeName": { - "id": 994, + "id": 4299, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1203:7:7", + "src": "1313:7:51", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -399,11 +455,11 @@ }, { "constant": false, - "id": 997, + "id": 4302, "name": "_data", "nodeType": "VariableDeclaration", - "scope": 1002, - "src": "1221:11:7", + "scope": 4307, + "src": "1335:11:51", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -411,10 +467,10 @@ "typeString": "bytes" }, "typeName": { - "id": 996, + "id": 4301, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1221:5:7", + "src": "1335:5:51", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -424,20 +480,20 @@ "visibility": "internal" } ], - "src": "1187:46:7" + "src": "1265:85:51" }, "payable": false, "returnParameters": { - "id": 1001, + "id": 4306, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1000, + "id": 4305, "name": "", "nodeType": "VariableDeclaration", - "scope": 1002, - "src": "1249:6:7", + "scope": 4307, + "src": "1374:6:51", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -445,10 +501,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 999, + "id": 4304, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "1249:6:7", + "src": "1374:6:51", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -458,20 +514,20 @@ "visibility": "internal" } ], - "src": "1248:8:7" + "src": "1373:8:51" }, - "scope": 1003, - "src": "1162:95:7", + "scope": 4308, + "src": "1240:142:51", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1004, - "src": "181:1078:7" + "scope": 4309, + "src": "180:1204:51" } ], - "src": "0:1260:7" + "src": "0:1385:51" }, "compiler": { "name": "solc", @@ -479,5 +535,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-08-23T17:26:04.154Z" + "updatedAt": "2018-08-27T20:45:00.221Z" } \ No newline at end of file diff --git a/build/contracts/ERC721ReceiverMock.json b/build/contracts/ERC721ReceiverMock.json index d12395595..71e52484d 100644 --- a/build/contracts/ERC721ReceiverMock.json +++ b/build/contracts/ERC721ReceiverMock.json @@ -21,7 +21,12 @@ "inputs": [ { "indexed": false, - "name": "_address", + "name": "_operator", + "type": "address" + }, + { + "indexed": false, + "name": "_from", "type": "address" }, { @@ -47,7 +52,11 @@ "constant": false, "inputs": [ { - "name": "_address", + "name": "_operator", + "type": "address" + }, + { + "name": "_from", "type": "address" }, { @@ -71,24 +80,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5060405160408061032a8339810180604052810190808051906020019092919080519060200190929190505050816000806101000a81548163ffffffff02191690837c01000000000000000000000000000000000000000000000000000000009004021790555080600060046101000a81548160ff0219169083151502179055505050610288806100a26000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063f0b9e5ba14610046575b600080fd5b34801561005257600080fd5b506100d7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061012b565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b60008060049054906101000a900460ff1615151561014857600080fd5b7f52548e4e28236d78290c101c358cfbcd432a3b9c0063ecb10e6cb5aad585329b8484845a604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156101eb5780820151818401526020810190506101d0565b50505050905090810190601f1680156102185780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a16000809054906101000a90047c010000000000000000000000000000000000000000000000000000000002905093925050505600a165627a7a72305820f8b4cba0467e03b7d56ebe02cc1741cfe0a1c286bfdebaabf17a8a10e369cf410029", - "deployedBytecode": "0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063f0b9e5ba14610046575b600080fd5b34801561005257600080fd5b506100d7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061012b565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b60008060049054906101000a900460ff1615151561014857600080fd5b7f52548e4e28236d78290c101c358cfbcd432a3b9c0063ecb10e6cb5aad585329b8484845a604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156101eb5780820151818401526020810190506101d0565b50505050905090810190601f1680156102185780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a16000809054906101000a90047c010000000000000000000000000000000000000000000000000000000002905093925050505600a165627a7a72305820f8b4cba0467e03b7d56ebe02cc1741cfe0a1c286bfdebaabf17a8a10e369cf410029", - "sourceMap": "73:592:13:-;;;239:117;8:9:-1;5:2;;;30:1;27;20:12;5:2;239:117:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;320:7;311:6;;:16;;;;;;;;;;;;;;;;;;;343:8;333:7;;:18;;;;;;;;;;;;;;;;;;239:117;;73:592;;;;;;", - "deployedSourceMap": "73:592:13:-;;;;;;;;;;;;;;;;;;;;;;;;360:303;;8:9:-1;5:2;;;30:1;27;20:12;5:2;360:303:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;474:6;499:7;;;;;;;;;;;498:8;490:17;;;;;;;;518:121;534:8;550;566:5;579:9;518:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;518:121:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;652:6;;;;;;;;;;;645:13;;360:303;;;;;:::o", - "source": "pragma solidity ^0.4.21;\n\nimport \"../token/ERC721/ERC721Receiver.sol\";\n\n\ncontract ERC721ReceiverMock is ERC721Receiver {\n bytes4 retval;\n bool reverts;\n\n event Received(address _address, uint256 _tokenId, bytes _data, uint256 _gas);\n\n function ERC721ReceiverMock(bytes4 _retval, bool _reverts) public {\n retval = _retval;\n reverts = _reverts;\n }\n\n function onERC721Received(\n address _address,\n uint256 _tokenId,\n bytes _data\n )\n public\n returns(bytes4)\n {\n require(!reverts);\n emit Received(\n _address,\n _tokenId,\n _data,\n gasleft() // msg.gas was deprecated in solidityv0.4.21\n );\n return retval;\n }\n}\n", + "bytecode": "0x608060405234801561001057600080fd5b5060405160408061037f8339810180604052810190808051906020019092919080519060200190929190505050816000806101000a81548163ffffffff02191690837c01000000000000000000000000000000000000000000000000000000009004021790555080600060046101000a81548160ff02191690831515021790555050506102dd806100a26000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063150b7a0214610046575b600080fd5b34801561005257600080fd5b506100f7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061014b565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b60008060049054906101000a900460ff1615151561016857600080fd5b7f28fa6e16458f9c24aa59ddd4085264573006dbe30304837873c7deafc702b038858585855a604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561023e578082015181840152602081019050610223565b50505050905090810190601f16801561026b5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a16000809054906101000a90047c01000000000000000000000000000000000000000000000000000000000290509493505050505600a165627a7a7230582087239a8cc19ab7480e15a5ab88e1eeb639166488e22dd6c251862b07af4662100029", + "deployedBytecode": "0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063150b7a0214610046575b600080fd5b34801561005257600080fd5b506100f7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061014b565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b60008060049054906101000a900460ff1615151561016857600080fd5b7f28fa6e16458f9c24aa59ddd4085264573006dbe30304837873c7deafc702b038858585855a604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561023e578082015181840152602081019050610223565b50505050905090810190601f16801561026b5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a16000809054906101000a90047c01000000000000000000000000000000000000000000000000000000000290509493505050505600a165627a7a7230582087239a8cc19ab7480e15a5ab88e1eeb639166488e22dd6c251862b07af4662100029", + "sourceMap": "73:650:15:-;;;279:101;8:9:-1;5:2;;;30:1;27;20:12;5:2;279:101:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:7;335:6;;:16;;;;;;;;;;;;;;;;;;;367:8;357:7;;:18;;;;;;;;;;;;;;;;;;279:101;;73:650;;;;;;", + "deployedSourceMap": "73:650:15:-;;;;;;;;;;;;;;;;;;;;;;;;384:337;;8:9:-1;5:2;;;30:1;27;20:12;5:2;384:337:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;518:6;543:7;;;;;;;;;;;542:8;534:17;;;;;;;;562:135;578:9;595:5;608:8;624:5;637:9;562:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;562:135:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;710:6;;;;;;;;;;;703:13;;384:337;;;;;;:::o", + "source": "pragma solidity ^0.4.21;\n\nimport \"../token/ERC721/ERC721Receiver.sol\";\n\n\ncontract ERC721ReceiverMock is ERC721Receiver {\n bytes4 retval;\n bool reverts;\n\n event Received(\n address _operator,\n address _from,\n uint256 _tokenId,\n bytes _data,\n uint256 _gas\n );\n\n constructor(bytes4 _retval, bool _reverts) public {\n retval = _retval;\n reverts = _reverts;\n }\n\n function onERC721Received(\n address _operator,\n address _from,\n uint256 _tokenId,\n bytes _data\n )\n public\n returns(bytes4)\n {\n require(!reverts);\n emit Received(\n _operator,\n _from,\n _tokenId,\n _data,\n gasleft() // msg.gas was deprecated in solidityv0.4.21\n );\n return retval;\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/ERC721ReceiverMock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/ERC721ReceiverMock.sol", "exportedSymbols": { "ERC721ReceiverMock": [ - 790 + 838 ] }, - "id": 791, + "id": 839, "nodeType": "SourceUnit", "nodes": [ { - "id": 729, + "id": 772, "literals": [ "solidity", "^", @@ -96,16 +105,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:13" + "src": "0:24:15" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Receiver.sol", "file": "../token/ERC721/ERC721Receiver.sol", - "id": 730, + "id": 773, "nodeType": "ImportDirective", - "scope": 791, - "sourceUnit": 4244, - "src": "26:44:13", + "scope": 839, + "sourceUnit": 4309, + "src": "26:44:15", "symbolAliases": [], "unitAlias": "" }, @@ -115,42 +124,42 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 731, + "id": 774, "name": "ERC721Receiver", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4243, - "src": "104:14:13", + "referencedDeclaration": 4308, + "src": "104:14:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Receiver_$4243", + "typeIdentifier": "t_contract$_ERC721Receiver_$4308", "typeString": "contract ERC721Receiver" } }, - "id": 732, + "id": 775, "nodeType": "InheritanceSpecifier", - "src": "104:14:13" + "src": "104:14:15" } ], "contractDependencies": [ - 4243 + 4308 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 790, + "id": 838, "linearizedBaseContracts": [ - 790, - 4243 + 838, + 4308 ], "name": "ERC721ReceiverMock", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 734, + "id": 777, "name": "retval", "nodeType": "VariableDeclaration", - "scope": 790, - "src": "123:13:13", + "scope": 838, + "src": "123:13:15", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -158,10 +167,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 733, + "id": 776, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "123:6:13", + "src": "123:6:15", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -172,11 +181,11 @@ }, { "constant": false, - "id": 736, + "id": 779, "name": "reverts", "nodeType": "VariableDeclaration", - "scope": 790, - "src": "140:12:13", + "scope": 838, + "src": "140:12:15", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -184,10 +193,10 @@ "typeString": "bool" }, "typeName": { - "id": 735, + "id": 778, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "140:4:13", + "src": "140:4:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -199,21 +208,21 @@ { "anonymous": false, "documentation": null, - "id": 746, + "id": 791, "name": "Received", "nodeType": "EventDefinition", "parameters": { - "id": 745, + "id": 790, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 738, + "id": 781, "indexed": false, - "name": "_address", + "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 746, - "src": "172:16:13", + "scope": 791, + "src": "177:17:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -221,10 +230,10 @@ "typeString": "address" }, "typeName": { - "id": 737, + "id": 780, "name": "address", "nodeType": "ElementaryTypeName", - "src": "172:7:13", + "src": "177:7:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -235,12 +244,39 @@ }, { "constant": false, - "id": 740, + "id": 783, + "indexed": false, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 791, + "src": "200:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 782, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "200:7:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 785, "indexed": false, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 746, - "src": "190:16:13", + "scope": 791, + "src": "219:16:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -248,10 +284,10 @@ "typeString": "uint256" }, "typeName": { - "id": 739, + "id": 784, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "190:7:13", + "src": "219:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -262,12 +298,12 @@ }, { "constant": false, - "id": 742, + "id": 787, "indexed": false, "name": "_data", "nodeType": "VariableDeclaration", - "scope": 746, - "src": "208:11:13", + "scope": 791, + "src": "241:11:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -275,10 +311,10 @@ "typeString": "bytes" }, "typeName": { - "id": 741, + "id": 786, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "208:5:13", + "src": "241:5:15", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -289,12 +325,12 @@ }, { "constant": false, - "id": 744, + "id": 789, "indexed": false, "name": "_gas", "nodeType": "VariableDeclaration", - "scope": 746, - "src": "221:12:13", + "scope": 791, + "src": "258:12:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -302,10 +338,10 @@ "typeString": "uint256" }, "typeName": { - "id": 743, + "id": 788, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "221:7:13", + "src": "258:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -315,32 +351,32 @@ "visibility": "internal" } ], - "src": "171:63:13" + "src": "171:103:15" }, - "src": "157:78:13" + "src": "157:118:15" }, { "body": { - "id": 761, + "id": 806, "nodeType": "Block", - "src": "305:51:13", + "src": "329:51:15", "statements": [ { "expression": { "argumentTypes": null, - "id": 755, + "id": 800, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 753, + "id": 798, "name": "retval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 734, - "src": "311:6:13", + "referencedDeclaration": 777, + "src": "335:6:15", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -350,43 +386,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 754, + "id": 799, "name": "_retval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 748, - "src": "320:7:13", + "referencedDeclaration": 793, + "src": "344:7:15", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "311:16:13", + "src": "335:16:15", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "id": 756, + "id": 801, "nodeType": "ExpressionStatement", - "src": "311:16:13" + "src": "335:16:15" }, { "expression": { "argumentTypes": null, - "id": 759, + "id": 804, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 757, + "id": 802, "name": "reverts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 736, - "src": "333:7:13", + "referencedDeclaration": 779, + "src": "357:7:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -396,48 +432,48 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 758, + "id": 803, "name": "_reverts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 750, - "src": "343:8:13", + "referencedDeclaration": 795, + "src": "367:8:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "333:18:13", + "src": "357:18:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 760, + "id": 805, "nodeType": "ExpressionStatement", - "src": "333:18:13" + "src": "357:18:15" } ] }, "documentation": null, - "id": 762, + "id": 807, "implemented": true, "isConstructor": true, "isDeclaredConst": false, "modifiers": [], - "name": "ERC721ReceiverMock", + "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 751, + "id": 796, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 748, + "id": 793, "name": "_retval", "nodeType": "VariableDeclaration", - "scope": 762, - "src": "267:14:13", + "scope": 807, + "src": "291:14:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -445,10 +481,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 747, + "id": 792, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "267:6:13", + "src": "291:6:15", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -459,11 +495,11 @@ }, { "constant": false, - "id": 750, + "id": 795, "name": "_reverts", "nodeType": "VariableDeclaration", - "scope": 762, - "src": "283:13:13", + "scope": 807, + "src": "307:13:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -471,10 +507,10 @@ "typeString": "bool" }, "typeName": { - "id": 749, + "id": 794, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "283:4:13", + "src": "307:4:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -484,26 +520,26 @@ "visibility": "internal" } ], - "src": "266:31:13" + "src": "290:31:15" }, "payable": false, "returnParameters": { - "id": 752, + "id": 797, "nodeType": "ParameterList", "parameters": [], - "src": "305:0:13" + "src": "329:0:15" }, - "scope": 790, - "src": "239:117:13", + "scope": 838, + "src": "279:101:15", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 788, + "id": 836, "nodeType": "Block", - "src": "484:179:13", + "src": "528:193:15", "statements": [ { "expression": { @@ -511,7 +547,7 @@ "arguments": [ { "argumentTypes": null, - "id": 775, + "id": 822, "isConstant": false, "isLValue": false, "isPure": false, @@ -519,15 +555,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "498:8:13", + "src": "542:8:15", "subExpression": { "argumentTypes": null, - "id": 774, + "id": 821, "name": "reverts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 736, - "src": "499:7:13", + "referencedDeclaration": 779, + "src": "543:7:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -546,21 +582,21 @@ "typeString": "bool" } ], - "id": 773, + "id": 820, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "490:7:13", + "referencedDeclaration": 4882, + "src": "534:7:15", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 776, + "id": 823, "isConstant": false, "isLValue": false, "isPure": false, @@ -568,15 +604,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "490:17:13", + "src": "534:17:15", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 777, + "id": 824, "nodeType": "ExpressionStatement", - "src": "490:17:13" + "src": "534:17:15" }, { "eventCall": { @@ -584,12 +620,12 @@ "arguments": [ { "argumentTypes": null, - "id": 779, - "name": "_address", + "id": 826, + "name": "_operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 764, - "src": "534:8:13", + "referencedDeclaration": 809, + "src": "578:9:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -597,12 +633,25 @@ }, { "argumentTypes": null, - "id": 780, + "id": 827, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 811, + "src": "595:5:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 828, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "550:8:13", + "referencedDeclaration": 813, + "src": "608:8:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -610,12 +659,12 @@ }, { "argumentTypes": null, - "id": 781, + "id": 829, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 768, - "src": "566:5:13", + "referencedDeclaration": 815, + "src": "624:5:15", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -626,18 +675,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 782, + "id": 830, "name": "gasleft", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4777, - "src": "579:7:13", + "referencedDeclaration": 4872, + "src": "637:7:15", "typeDescriptions": { "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 783, + "id": 831, "isConstant": false, "isLValue": false, "isPure": false, @@ -645,7 +694,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "579:9:13", + "src": "637:9:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -654,6 +703,10 @@ ], "expression": { "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, { "typeIdentifier": "t_address", "typeString": "address" @@ -671,18 +724,18 @@ "typeString": "uint256" } ], - "id": 778, + "id": 825, "name": "Received", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 746, - "src": "518:8:13", + "referencedDeclaration": 791, + "src": "562:8:15", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,bytes memory,uint256)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,bytes memory,uint256)" } }, - "id": 784, + "id": 832, "isConstant": false, "isLValue": false, "isPure": false, @@ -690,39 +743,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "518:121:13", + "src": "562:135:15", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 785, + "id": 833, "nodeType": "EmitStatement", - "src": "513:126:13" + "src": "557:140:15" }, { "expression": { "argumentTypes": null, - "id": 786, + "id": 834, "name": "retval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 734, - "src": "652:6:13", + "referencedDeclaration": 777, + "src": "710:6:15", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "functionReturnParameters": 772, - "id": 787, + "functionReturnParameters": 819, + "id": 835, "nodeType": "Return", - "src": "645:13:13" + "src": "703:13:15" } ] }, "documentation": null, - "id": 789, + "id": 837, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -730,16 +783,16 @@ "name": "onERC721Received", "nodeType": "FunctionDefinition", "parameters": { - "id": 769, + "id": 816, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 764, - "name": "_address", + "id": 809, + "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 789, - "src": "391:16:13", + "scope": 837, + "src": "415:17:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -747,10 +800,10 @@ "typeString": "address" }, "typeName": { - "id": 763, + "id": 808, "name": "address", "nodeType": "ElementaryTypeName", - "src": "391:7:13", + "src": "415:7:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -761,11 +814,37 @@ }, { "constant": false, - "id": 766, + "id": 811, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 837, + "src": "438:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 810, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "438:7:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 813, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 789, - "src": "413:16:13", + "scope": 837, + "src": "457:16:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -773,10 +852,10 @@ "typeString": "uint256" }, "typeName": { - "id": 765, + "id": 812, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "413:7:13", + "src": "457:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -787,11 +866,11 @@ }, { "constant": false, - "id": 768, + "id": 815, "name": "_data", "nodeType": "VariableDeclaration", - "scope": 789, - "src": "435:11:13", + "scope": 837, + "src": "479:11:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -799,10 +878,10 @@ "typeString": "bytes" }, "typeName": { - "id": 767, + "id": 814, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "435:5:13", + "src": "479:5:15", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -812,20 +891,20 @@ "visibility": "internal" } ], - "src": "385:65:13" + "src": "409:85:15" }, "payable": false, "returnParameters": { - "id": 772, + "id": 819, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 771, + "id": 818, "name": "", "nodeType": "VariableDeclaration", - "scope": 789, - "src": "474:6:13", + "scope": 837, + "src": "518:6:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -833,10 +912,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 770, + "id": 817, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "474:6:13", + "src": "518:6:15", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -846,33 +925,33 @@ "visibility": "internal" } ], - "src": "473:8:13" + "src": "517:8:15" }, - "scope": 790, - "src": "360:303:13", + "scope": 838, + "src": "384:337:15", "stateMutability": "nonpayable", - "superFunction": 4242, + "superFunction": 4307, "visibility": "public" } ], - "scope": 791, - "src": "73:592:13" + "scope": 839, + "src": "73:650:15" } ], - "src": "0:666:13" + "src": "0:724:15" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/ERC721ReceiverMock.sol", "exportedSymbols": { "ERC721ReceiverMock": [ - 790 + 838 ] }, - "id": 791, + "id": 839, "nodeType": "SourceUnit", "nodes": [ { - "id": 729, + "id": 772, "literals": [ "solidity", "^", @@ -880,16 +959,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:13" + "src": "0:24:15" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Receiver.sol", "file": "../token/ERC721/ERC721Receiver.sol", - "id": 730, + "id": 773, "nodeType": "ImportDirective", - "scope": 791, - "sourceUnit": 4244, - "src": "26:44:13", + "scope": 839, + "sourceUnit": 4309, + "src": "26:44:15", "symbolAliases": [], "unitAlias": "" }, @@ -899,42 +978,42 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 731, + "id": 774, "name": "ERC721Receiver", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4243, - "src": "104:14:13", + "referencedDeclaration": 4308, + "src": "104:14:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Receiver_$4243", + "typeIdentifier": "t_contract$_ERC721Receiver_$4308", "typeString": "contract ERC721Receiver" } }, - "id": 732, + "id": 775, "nodeType": "InheritanceSpecifier", - "src": "104:14:13" + "src": "104:14:15" } ], "contractDependencies": [ - 4243 + 4308 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 790, + "id": 838, "linearizedBaseContracts": [ - 790, - 4243 + 838, + 4308 ], "name": "ERC721ReceiverMock", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 734, + "id": 777, "name": "retval", "nodeType": "VariableDeclaration", - "scope": 790, - "src": "123:13:13", + "scope": 838, + "src": "123:13:15", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -942,10 +1021,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 733, + "id": 776, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "123:6:13", + "src": "123:6:15", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -956,11 +1035,11 @@ }, { "constant": false, - "id": 736, + "id": 779, "name": "reverts", "nodeType": "VariableDeclaration", - "scope": 790, - "src": "140:12:13", + "scope": 838, + "src": "140:12:15", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -968,10 +1047,10 @@ "typeString": "bool" }, "typeName": { - "id": 735, + "id": 778, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "140:4:13", + "src": "140:4:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -983,21 +1062,21 @@ { "anonymous": false, "documentation": null, - "id": 746, + "id": 791, "name": "Received", "nodeType": "EventDefinition", "parameters": { - "id": 745, + "id": 790, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 738, + "id": 781, "indexed": false, - "name": "_address", + "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 746, - "src": "172:16:13", + "scope": 791, + "src": "177:17:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1005,10 +1084,10 @@ "typeString": "address" }, "typeName": { - "id": 737, + "id": 780, "name": "address", "nodeType": "ElementaryTypeName", - "src": "172:7:13", + "src": "177:7:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1019,12 +1098,39 @@ }, { "constant": false, - "id": 740, + "id": 783, + "indexed": false, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 791, + "src": "200:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 782, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "200:7:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 785, "indexed": false, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 746, - "src": "190:16:13", + "scope": 791, + "src": "219:16:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1032,10 +1138,10 @@ "typeString": "uint256" }, "typeName": { - "id": 739, + "id": 784, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "190:7:13", + "src": "219:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1046,12 +1152,12 @@ }, { "constant": false, - "id": 742, + "id": 787, "indexed": false, "name": "_data", "nodeType": "VariableDeclaration", - "scope": 746, - "src": "208:11:13", + "scope": 791, + "src": "241:11:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1059,10 +1165,10 @@ "typeString": "bytes" }, "typeName": { - "id": 741, + "id": 786, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "208:5:13", + "src": "241:5:15", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1073,12 +1179,12 @@ }, { "constant": false, - "id": 744, + "id": 789, "indexed": false, "name": "_gas", "nodeType": "VariableDeclaration", - "scope": 746, - "src": "221:12:13", + "scope": 791, + "src": "258:12:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1086,10 +1192,10 @@ "typeString": "uint256" }, "typeName": { - "id": 743, + "id": 788, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "221:7:13", + "src": "258:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1099,32 +1205,32 @@ "visibility": "internal" } ], - "src": "171:63:13" + "src": "171:103:15" }, - "src": "157:78:13" + "src": "157:118:15" }, { "body": { - "id": 761, + "id": 806, "nodeType": "Block", - "src": "305:51:13", + "src": "329:51:15", "statements": [ { "expression": { "argumentTypes": null, - "id": 755, + "id": 800, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 753, + "id": 798, "name": "retval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 734, - "src": "311:6:13", + "referencedDeclaration": 777, + "src": "335:6:15", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -1134,43 +1240,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 754, + "id": 799, "name": "_retval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 748, - "src": "320:7:13", + "referencedDeclaration": 793, + "src": "344:7:15", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "311:16:13", + "src": "335:16:15", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "id": 756, + "id": 801, "nodeType": "ExpressionStatement", - "src": "311:16:13" + "src": "335:16:15" }, { "expression": { "argumentTypes": null, - "id": 759, + "id": 804, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 757, + "id": 802, "name": "reverts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 736, - "src": "333:7:13", + "referencedDeclaration": 779, + "src": "357:7:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1180,48 +1286,48 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 758, + "id": 803, "name": "_reverts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 750, - "src": "343:8:13", + "referencedDeclaration": 795, + "src": "367:8:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "333:18:13", + "src": "357:18:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 760, + "id": 805, "nodeType": "ExpressionStatement", - "src": "333:18:13" + "src": "357:18:15" } ] }, "documentation": null, - "id": 762, + "id": 807, "implemented": true, "isConstructor": true, "isDeclaredConst": false, "modifiers": [], - "name": "ERC721ReceiverMock", + "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 751, + "id": 796, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 748, + "id": 793, "name": "_retval", "nodeType": "VariableDeclaration", - "scope": 762, - "src": "267:14:13", + "scope": 807, + "src": "291:14:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1229,10 +1335,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 747, + "id": 792, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "267:6:13", + "src": "291:6:15", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -1243,11 +1349,11 @@ }, { "constant": false, - "id": 750, + "id": 795, "name": "_reverts", "nodeType": "VariableDeclaration", - "scope": 762, - "src": "283:13:13", + "scope": 807, + "src": "307:13:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1255,10 +1361,10 @@ "typeString": "bool" }, "typeName": { - "id": 749, + "id": 794, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "283:4:13", + "src": "307:4:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1268,26 +1374,26 @@ "visibility": "internal" } ], - "src": "266:31:13" + "src": "290:31:15" }, "payable": false, "returnParameters": { - "id": 752, + "id": 797, "nodeType": "ParameterList", "parameters": [], - "src": "305:0:13" + "src": "329:0:15" }, - "scope": 790, - "src": "239:117:13", + "scope": 838, + "src": "279:101:15", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 788, + "id": 836, "nodeType": "Block", - "src": "484:179:13", + "src": "528:193:15", "statements": [ { "expression": { @@ -1295,7 +1401,7 @@ "arguments": [ { "argumentTypes": null, - "id": 775, + "id": 822, "isConstant": false, "isLValue": false, "isPure": false, @@ -1303,15 +1409,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "498:8:13", + "src": "542:8:15", "subExpression": { "argumentTypes": null, - "id": 774, + "id": 821, "name": "reverts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 736, - "src": "499:7:13", + "referencedDeclaration": 779, + "src": "543:7:15", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1330,21 +1436,21 @@ "typeString": "bool" } ], - "id": 773, + "id": 820, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "490:7:13", + "referencedDeclaration": 4882, + "src": "534:7:15", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 776, + "id": 823, "isConstant": false, "isLValue": false, "isPure": false, @@ -1352,15 +1458,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "490:17:13", + "src": "534:17:15", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 777, + "id": 824, "nodeType": "ExpressionStatement", - "src": "490:17:13" + "src": "534:17:15" }, { "eventCall": { @@ -1368,12 +1474,12 @@ "arguments": [ { "argumentTypes": null, - "id": 779, - "name": "_address", + "id": 826, + "name": "_operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 764, - "src": "534:8:13", + "referencedDeclaration": 809, + "src": "578:9:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1381,12 +1487,25 @@ }, { "argumentTypes": null, - "id": 780, + "id": 827, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 811, + "src": "595:5:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 828, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "550:8:13", + "referencedDeclaration": 813, + "src": "608:8:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1394,12 +1513,12 @@ }, { "argumentTypes": null, - "id": 781, + "id": 829, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 768, - "src": "566:5:13", + "referencedDeclaration": 815, + "src": "624:5:15", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -1410,18 +1529,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 782, + "id": 830, "name": "gasleft", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4777, - "src": "579:7:13", + "referencedDeclaration": 4872, + "src": "637:7:15", "typeDescriptions": { "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 783, + "id": 831, "isConstant": false, "isLValue": false, "isPure": false, @@ -1429,7 +1548,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "579:9:13", + "src": "637:9:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1438,6 +1557,10 @@ ], "expression": { "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, { "typeIdentifier": "t_address", "typeString": "address" @@ -1455,18 +1578,18 @@ "typeString": "uint256" } ], - "id": 778, + "id": 825, "name": "Received", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 746, - "src": "518:8:13", + "referencedDeclaration": 791, + "src": "562:8:15", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,bytes memory,uint256)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,bytes memory,uint256)" } }, - "id": 784, + "id": 832, "isConstant": false, "isLValue": false, "isPure": false, @@ -1474,39 +1597,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "518:121:13", + "src": "562:135:15", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 785, + "id": 833, "nodeType": "EmitStatement", - "src": "513:126:13" + "src": "557:140:15" }, { "expression": { "argumentTypes": null, - "id": 786, + "id": 834, "name": "retval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 734, - "src": "652:6:13", + "referencedDeclaration": 777, + "src": "710:6:15", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "functionReturnParameters": 772, - "id": 787, + "functionReturnParameters": 819, + "id": 835, "nodeType": "Return", - "src": "645:13:13" + "src": "703:13:15" } ] }, "documentation": null, - "id": 789, + "id": 837, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1514,16 +1637,16 @@ "name": "onERC721Received", "nodeType": "FunctionDefinition", "parameters": { - "id": 769, + "id": 816, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 764, - "name": "_address", + "id": 809, + "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 789, - "src": "391:16:13", + "scope": 837, + "src": "415:17:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1531,10 +1654,10 @@ "typeString": "address" }, "typeName": { - "id": 763, + "id": 808, "name": "address", "nodeType": "ElementaryTypeName", - "src": "391:7:13", + "src": "415:7:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1545,11 +1668,37 @@ }, { "constant": false, - "id": 766, + "id": 811, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 837, + "src": "438:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 810, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "438:7:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 813, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 789, - "src": "413:16:13", + "scope": 837, + "src": "457:16:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1557,10 +1706,10 @@ "typeString": "uint256" }, "typeName": { - "id": 765, + "id": 812, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "413:7:13", + "src": "457:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1571,11 +1720,11 @@ }, { "constant": false, - "id": 768, + "id": 815, "name": "_data", "nodeType": "VariableDeclaration", - "scope": 789, - "src": "435:11:13", + "scope": 837, + "src": "479:11:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1583,10 +1732,10 @@ "typeString": "bytes" }, "typeName": { - "id": 767, + "id": 814, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "435:5:13", + "src": "479:5:15", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1596,20 +1745,20 @@ "visibility": "internal" } ], - "src": "385:65:13" + "src": "409:85:15" }, "payable": false, "returnParameters": { - "id": 772, + "id": 819, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 771, + "id": 818, "name": "", "nodeType": "VariableDeclaration", - "scope": 789, - "src": "474:6:13", + "scope": 837, + "src": "518:6:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1617,10 +1766,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 770, + "id": 817, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "474:6:13", + "src": "518:6:15", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -1630,26 +1779,26 @@ "visibility": "internal" } ], - "src": "473:8:13" + "src": "517:8:15" }, - "scope": 790, - "src": "360:303:13", + "scope": 838, + "src": "384:337:15", "stateMutability": "nonpayable", - "superFunction": 4242, + "superFunction": 4307, "visibility": "public" } ], - "scope": 791, - "src": "73:592:13" + "scope": 839, + "src": "73:650:15" } ], - "src": "0:666:13" + "src": "0:724:15" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.620Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.205Z" } \ No newline at end of file diff --git a/build/contracts/ERC721Token.json b/build/contracts/ERC721Token.json index 4f83cb889..561c8ffa7 100644 --- a/build/contracts/ERC721Token.json +++ b/build/contracts/ERC721Token.json @@ -1,6 +1,25 @@ { "contractName": "ERC721Token", "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [ @@ -434,24 +453,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506120e4806100206000396000f3006080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610101578063081812fc14610191578063095ea7b3146101fe57806318160ddd1461024b57806323b872dd146102765780632f745c59146102e357806342842e0e146103445780634cd88b76146103b15780634f558e79146104605780634f6ccce7146104a55780636352211e146104e657806370a082311461055357806395d89b41146105aa578063a22cb4651461063a578063b88d4fde14610689578063c0bac1a81461073c578063c87b56dd14610803578063e985e9c5146108a9575b600080fd5b34801561010d57600080fd5b50610116610924565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561015657808201518184015260208101905061013b565b50505050905090810190601f1680156101835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019d57600080fd5b506101bc600480360381019080803590602001909291905050506109c6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020a57600080fd5b50610249600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a03565b005b34801561025757600080fd5b50610260610bbf565b6040518082815260200191505060405180910390f35b34801561028257600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bcc565b005b3480156102ef57600080fd5b5061032e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cd9565b6040518082815260200191505060405180910390f35b34801561035057600080fd5b506103af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d50565b005b3480156103bd57600080fd5b5061045e600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610d88565b005b34801561046c57600080fd5b5061048b60048036038101908080359060200190929190505050611034565b604051808215151515815260200191505060405180910390f35b3480156104b157600080fd5b506104d0600480360381019080803590602001909291905050506110a6565b6040518082815260200191505060405180910390f35b3480156104f257600080fd5b50610511600480360381019080803590602001909291905050506110de565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561055f57600080fd5b50610594600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061115c565b6040518082815260200191505060405180910390f35b3480156105b657600080fd5b506105bf6111e0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105ff5780820151818401526020810190506105e4565b50505050905090810190601f16801561062c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561064657600080fd5b50610687600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611282565b005b34801561069557600080fd5b5061073a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506113be565b005b34801561074857600080fd5b506107e9600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506113fd565b604051808215151515815260200191505060405180910390f35b34801561080f57600080fd5b5061082e600480360381019080803590602001909291905050506114e8565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561086e578082015181840152602081019050610853565b50505050905090810190601f16801561089b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108b557600080fd5b5061090a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115b1565b604051808215151515815260200191505060405180910390f35b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109bc5780601f10610991576101008083540402835291602001916109bc565b820191906000526020600020905b81548152906001019060200180831161099f57829003601f168201915b5050505050905090565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610a0e826110de565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610a4b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610a8b5750610a8a81336115b1565b5b1515610a9657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16610ab7836109c6565b73ffffffffffffffffffffffffffffffffffffffff16141580610b075750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610bba57826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505050565b6000600980549050905090565b80610bd73382611645565b1515610be257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610c1e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610c5a57600080fd5b610c6484836116da565b610c6e8483611839565b610c788383611a51565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b6000610ce48361115c565b82101515610cf157600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610d3d57fe5b9060005260206000200154905092915050565b80610d5b3382611645565b1515610d6657600080fd5b610d8284848460206040519081016040528060008152506113be565b50505050565b6040805190810160405280600b81526020017f455243373231546f6b656e0000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610dfe82826113fd565b151515610e0a57600080fd5b8360059080519060200190610e20929190611fe7565b508260069080519060200190610e37929190611fe7565b507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610e9f578082015181840152602081019050610e84565b50505050905090810190601f168015610ecc5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610f05578082015181840152602081019050610eea565b50505050905090810190601f168015610f325780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610f7b5780518252602082019150602081019050602083039250610f56565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610fe45780518252602082019150602081019050602083039250610fbf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60006110b0610bbf565b821015156110bd57600080fd5b6009828154811015156110cc57fe5b90600052602060002001549050919050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561115357600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561119957600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112785780601f1061124d57610100808354040283529160200191611278565b820191906000526020600020905b81548152906001019060200180831161125b57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156112bd57600080fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b816113c93382611645565b15156113d457600080fd5b6113df858585610bcc565b6113eb85858585611b28565b15156113f657600080fd5b5050505050565b600080836040518082805190602001908083835b6020831015156114365780518252602082019150602081019050602083039250611411565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561149f578051825260208201915060208101905060208303925061147a565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b60606114f382611034565b15156114fe57600080fd5b600b60008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115a55780601f1061157a576101008083540402835291602001916115a5565b820191906000526020600020905b81548152906001019060200180831161158857829003601f168201915b50505050509050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080611651836110de565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116c057508373ffffffffffffffffffffffffffffffffffffffff166116a8846109c6565b73ffffffffffffffffffffffffffffffffffffffff16145b806116d157506116d081856115b1565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff166116fa826110de565b73ffffffffffffffffffffffffffffffffffffffff1614151561171c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156118355760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b5050565b60008060006118488585611d16565b600860008581526020019081526020016000205492506118b46001600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611e4590919063ffffffff16565b9150600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561190257fe5b9060005260206000200154905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110151561195c57fe5b90600052602060002001819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811015156119b857fe5b9060005260206000200181905550600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060019003611a189190612067565b50600060086000868152602001908152602001600020819055508260086000838152602001908152602001600020819055505050505050565b6000611a5d8383611e5e565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020829080600181540180825580915050906001820390600052602060002001600090919290919091505550806008600084815260200190815260200160002081905550505050565b600080611b4a8573ffffffffffffffffffffffffffffffffffffffff16611fb8565b1515611b595760019150611d0d565b8473ffffffffffffffffffffffffffffffffffffffff1663f0b9e5ba8786866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611c1b578082015181840152602081019050611c00565b50505050905090810190601f168015611c485780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b158015611c6957600080fd5b505af1158015611c7d573d6000803e3d6000fd5b505050506040513d6020811015611c9357600080fd5b8101908080519060200190929190505050905063f0b9e5ba7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b8173ffffffffffffffffffffffffffffffffffffffff16611d36826110de565b73ffffffffffffffffffffffffffffffffffffffff16141515611d5857600080fd5b611dab6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4590919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000828211151515611e5357fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611ecc57600080fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f716001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcb90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600080823b905060008111915050919050565b60008183019050828110151515611fde57fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061202857805160ff1916838001178555612056565b82800160010185558215612056579182015b8281111561205557825182559160200191906001019061203a565b5b5090506120639190612093565b5090565b81548183558181111561208e5781836000526020600020918201910161208d9190612093565b5b505050565b6120b591905b808211156120b1576000816000905550600101612099565b5090565b905600a165627a7a7230582071cd7a69c79f055a3a3ff1d277f5567f59dc24ce9f483a480ede71bef158c1110029", - "deployedBytecode": "0x6080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610101578063081812fc14610191578063095ea7b3146101fe57806318160ddd1461024b57806323b872dd146102765780632f745c59146102e357806342842e0e146103445780634cd88b76146103b15780634f558e79146104605780634f6ccce7146104a55780636352211e146104e657806370a082311461055357806395d89b41146105aa578063a22cb4651461063a578063b88d4fde14610689578063c0bac1a81461073c578063c87b56dd14610803578063e985e9c5146108a9575b600080fd5b34801561010d57600080fd5b50610116610924565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561015657808201518184015260208101905061013b565b50505050905090810190601f1680156101835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019d57600080fd5b506101bc600480360381019080803590602001909291905050506109c6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020a57600080fd5b50610249600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a03565b005b34801561025757600080fd5b50610260610bbf565b6040518082815260200191505060405180910390f35b34801561028257600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bcc565b005b3480156102ef57600080fd5b5061032e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cd9565b6040518082815260200191505060405180910390f35b34801561035057600080fd5b506103af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d50565b005b3480156103bd57600080fd5b5061045e600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610d88565b005b34801561046c57600080fd5b5061048b60048036038101908080359060200190929190505050611034565b604051808215151515815260200191505060405180910390f35b3480156104b157600080fd5b506104d0600480360381019080803590602001909291905050506110a6565b6040518082815260200191505060405180910390f35b3480156104f257600080fd5b50610511600480360381019080803590602001909291905050506110de565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561055f57600080fd5b50610594600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061115c565b6040518082815260200191505060405180910390f35b3480156105b657600080fd5b506105bf6111e0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105ff5780820151818401526020810190506105e4565b50505050905090810190601f16801561062c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561064657600080fd5b50610687600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611282565b005b34801561069557600080fd5b5061073a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506113be565b005b34801561074857600080fd5b506107e9600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506113fd565b604051808215151515815260200191505060405180910390f35b34801561080f57600080fd5b5061082e600480360381019080803590602001909291905050506114e8565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561086e578082015181840152602081019050610853565b50505050905090810190601f16801561089b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108b557600080fd5b5061090a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115b1565b604051808215151515815260200191505060405180910390f35b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109bc5780601f10610991576101008083540402835291602001916109bc565b820191906000526020600020905b81548152906001019060200180831161099f57829003601f168201915b5050505050905090565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610a0e826110de565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610a4b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610a8b5750610a8a81336115b1565b5b1515610a9657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16610ab7836109c6565b73ffffffffffffffffffffffffffffffffffffffff16141580610b075750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610bba57826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505050565b6000600980549050905090565b80610bd73382611645565b1515610be257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610c1e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610c5a57600080fd5b610c6484836116da565b610c6e8483611839565b610c788383611a51565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b6000610ce48361115c565b82101515610cf157600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610d3d57fe5b9060005260206000200154905092915050565b80610d5b3382611645565b1515610d6657600080fd5b610d8284848460206040519081016040528060008152506113be565b50505050565b6040805190810160405280600b81526020017f455243373231546f6b656e0000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610dfe82826113fd565b151515610e0a57600080fd5b8360059080519060200190610e20929190611fe7565b508260069080519060200190610e37929190611fe7565b507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610e9f578082015181840152602081019050610e84565b50505050905090810190601f168015610ecc5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610f05578082015181840152602081019050610eea565b50505050905090810190601f168015610f325780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610f7b5780518252602082019150602081019050602083039250610f56565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610fe45780518252602082019150602081019050602083039250610fbf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60006110b0610bbf565b821015156110bd57600080fd5b6009828154811015156110cc57fe5b90600052602060002001549050919050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561115357600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561119957600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112785780601f1061124d57610100808354040283529160200191611278565b820191906000526020600020905b81548152906001019060200180831161125b57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156112bd57600080fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b816113c93382611645565b15156113d457600080fd5b6113df858585610bcc565b6113eb85858585611b28565b15156113f657600080fd5b5050505050565b600080836040518082805190602001908083835b6020831015156114365780518252602082019150602081019050602083039250611411565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561149f578051825260208201915060208101905060208303925061147a565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b60606114f382611034565b15156114fe57600080fd5b600b60008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115a55780601f1061157a576101008083540402835291602001916115a5565b820191906000526020600020905b81548152906001019060200180831161158857829003601f168201915b50505050509050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080611651836110de565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116c057508373ffffffffffffffffffffffffffffffffffffffff166116a8846109c6565b73ffffffffffffffffffffffffffffffffffffffff16145b806116d157506116d081856115b1565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff166116fa826110de565b73ffffffffffffffffffffffffffffffffffffffff1614151561171c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156118355760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b5050565b60008060006118488585611d16565b600860008581526020019081526020016000205492506118b46001600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611e4590919063ffffffff16565b9150600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561190257fe5b9060005260206000200154905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110151561195c57fe5b90600052602060002001819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811015156119b857fe5b9060005260206000200181905550600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060019003611a189190612067565b50600060086000868152602001908152602001600020819055508260086000838152602001908152602001600020819055505050505050565b6000611a5d8383611e5e565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020829080600181540180825580915050906001820390600052602060002001600090919290919091505550806008600084815260200190815260200160002081905550505050565b600080611b4a8573ffffffffffffffffffffffffffffffffffffffff16611fb8565b1515611b595760019150611d0d565b8473ffffffffffffffffffffffffffffffffffffffff1663f0b9e5ba8786866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611c1b578082015181840152602081019050611c00565b50505050905090810190601f168015611c485780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b158015611c6957600080fd5b505af1158015611c7d573d6000803e3d6000fd5b505050506040513d6020811015611c9357600080fd5b8101908080519060200190929190505050905063f0b9e5ba7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b8173ffffffffffffffffffffffffffffffffffffffff16611d36826110de565b73ffffffffffffffffffffffffffffffffffffffff16141515611d5857600080fd5b611dab6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4590919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000828211151515611e5357fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611ecc57600080fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f716001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcb90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600080823b905060008111915050919050565b60008183019050828110151515611fde57fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061202857805160ff1916838001178555612056565b82800160010185558215612056579182015b8281111561205557825182559160200191906001019061203a565b5b5090506120639190612093565b5090565b81548183558181111561208e5781836000526020600020918201910161208d9190612093565b5b505050565b6120b591905b808211156120b1576000816000905550600101612099565b5090565b905600a165627a7a7230582071cd7a69c79f055a3a3ff1d277f5567f59dc24ce9f483a480ede71bef158c1110029", - "sourceMap": "429:5995:8:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;429:5995:8;;;;;;;", - "deployedSourceMap": "429:5995:8:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1377:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1377:68:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1377:68:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3605:111:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3605:111:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3021:355;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3021:355:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2621:87:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2621:87:8;;;;;;;;;;;;;;;;;;;;;;;5085:316:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5085:316:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2302:177:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2302:177:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6017:225:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6017:225:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1141:142:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1141:142:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2461:140:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2461:140:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3037::8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3037:140:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2119:164:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2119:164:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1764:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1764:142:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1543:72:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1543:72:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1543:72:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4001:205:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4001:205:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6929:302;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6929:302:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:133:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1808:133:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1808:133:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4515:142:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4515:142:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1377:68:8;1414:6;1435:5;1428:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1377:68;:::o;3605:111:6:-;3665:7;3687:14;:24;3702:8;3687:24;;;;;;;;;;;;;;;;;;;;;3680:31;;3605:111;;;:::o;3021:355::-;3082:13;3098:17;3106:8;3098:7;:17::i;:::-;3082:33;;3136:5;3129:12;;:3;:12;;;;3121:21;;;;;;;;3170:5;3156:19;;:10;:19;;;:58;;;;3179:35;3196:5;3203:10;3179:16;:35::i;:::-;3156:58;3148:67;;;;;;;;3259:1;3226:35;;:21;3238:8;3226:11;:21::i;:::-;:35;;;;:56;;;;3280:1;3265:17;;:3;:17;;;;3226:56;3222:150;;;3319:3;3292:14;:24;3307:8;3292:24;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;3356:8;3351:3;3335:30;;3344:5;3335:30;;;;;;;;;;;;3222:150;3021:355;;;:::o;2621:87:8:-;2665:7;2687:9;:16;;;;2680:23;;2621:87;:::o;5085:316:6:-;5172:8;1520:39;1538:10;1550:8;1520:17;:39::i;:::-;1512:48;;;;;;;;5213:1;5196:19;;:5;:19;;;;5188:28;;;;;;;;5245:1;5230:17;;:3;:17;;;;5222:26;;;;;;;;5255:30;5269:5;5276:8;5255:13;:30::i;:::-;5291:32;5307:5;5314:8;5291:15;:32::i;:::-;5329:25;5340:3;5345:8;5329:10;:25::i;:::-;5387:8;5382:3;5366:30;;5375:5;5366:30;;;;;;;;;;;;5085:316;;;;:::o;2302:177:8:-;2384:7;2416:17;2426:6;2416:9;:17::i;:::-;2407:6;:26;2399:35;;;;;;;;2447:11;:19;2459:6;2447:19;;;;;;;;;;;;;;;2467:6;2447:27;;;;;;;;;;;;;;;;;;2440:34;;2302:177;;;;:::o;6017:225:6:-;6132:8;1520:39;1538:10;1550:8;1520:17;:39::i;:::-;1512:48;;;;;;;;6195:42;6212:5;6219:3;6224:8;6195:42;;;;;;;;;;;;;:16;:42::i;:::-;6017:225;;;;:::o;1141:142:8:-;1004:223:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;1250:5:8;1242;:13;;;;;;;;;;;;:::i;:::-;;1271:7;1261;:17;;;;;;;;;;;;:::i;:::-;;1139:35:10;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:10;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:10;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;1141:142:8;;;;:::o;2461:140:6:-;2516:4;2528:13;2544:10;:20;2555:8;2544:20;;;;;;;;;;;;;;;;;;;;;2528:36;;2594:1;2577:19;;:5;:19;;;;2570:26;;2461:140;;;;:::o;3037::8:-;3096:7;3128:13;:11;:13::i;:::-;3119:6;:22;3111:31;;;;;;;;3155:9;3165:6;3155:17;;;;;;;;;;;;;;;;;;3148:24;;3037:140;;;:::o;2119:164:6:-;2175:7;2190:13;2206:10;:20;2217:8;2206:20;;;;;;;;;;;;;;;;;;;;;2190:36;;2257:1;2240:19;;:5;:19;;;;2232:28;;;;;;;;2273:5;2266:12;;2119:164;;;;:::o;1764:142::-;1820:7;1861:1;1843:20;;:6;:20;;;;1835:29;;;;;;;;1877:16;:24;1894:6;1877:24;;;;;;;;;;;;;;;;1870:31;;1764:142;;;:::o;1543:72:8:-;1582:6;1603:7;1596:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1543:72;:::o;4001:205:6:-;4085:10;4078:17;;:3;:17;;;;4070:26;;;;;;;;4139:9;4102:17;:29;4120:10;4102:29;;;;;;;;;;;;;;;:34;4132:3;4102:34;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;4186:3;4159:42;;4174:10;4159:42;;;4191:9;4159:42;;;;;;;;;;;;;;;;;;;;;;4001:205;;:::o;6929:302::-;7061:8;1520:39;1538:10;1550:8;1520:17;:39::i;:::-;1512:48;;;;;;;;7079:34;7092:5;7099:3;7104:8;7079:12;:34::i;:::-;7172:53;7197:5;7204:3;7209:8;7219:5;7172:24;:53::i;:::-;7164:62;;;;;;;;6929:302;;;;;:::o;1950:140:10:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:10;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;1808:133:8:-;1865:6;1887:16;1894:8;1887:6;:16::i;:::-;1879:25;;;;;;;;1917:9;:19;1927:8;1917:19;;;;;;;;;;;1910:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:133;;;:::o;4515:142:6:-;4597:4;4616:17;:25;4634:6;4616:25;;;;;;;;;;;;;;;:36;4642:9;4616:36;;;;;;;;;;;;;;;;;;;;;;;;;4609:43;;4515:142;;;;:::o;7578:240::-;7664:4;7676:13;7692:17;7700:8;7692:7;:17::i;:::-;7676:33;;7734:5;7722:17;;:8;:17;;;:54;;;;7768:8;7743:33;;:21;7755:8;7743:11;:21::i;:::-;:33;;;7722:54;:91;;;;7780:33;7797:5;7804:8;7780:16;:33::i;:::-;7722:91;7715:98;;7578:240;;;;;:::o;8887:265::-;8988:6;8967:27;;:17;8975:8;8967:7;:17::i;:::-;:27;;;8959:36;;;;;;;;9041:1;9005:38;;:14;:24;9020:8;9005:24;;;;;;;;;;;;;;;;;;;;;:38;;;;9001:147;;;9088:1;9053:14;:24;9068:8;9053:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;9132:8;9128:1;9103:38;;9112:6;9103:38;;;;;;;;;;;;9001:147;8887:265;;:::o;4305:856:8:-;4423:18;4476:22;4539:17;4378:38;4400:5;4407:8;4378:21;:38::i;:::-;4444:16;:26;4461:8;4444:26;;;;;;;;;;;;4423:47;;4501:32;4531:1;4501:11;:18;4513:5;4501:18;;;;;;;;;;;;;;;:25;;;;:29;;:32;;;;:::i;:::-;4476:57;;4559:11;:18;4571:5;4559:18;;;;;;;;;;;;;;;4578:14;4559:34;;;;;;;;;;;;;;;;;;4539:54;;4633:9;4600:11;:18;4612:5;4600:18;;;;;;;;;;;;;;;4619:10;4600:30;;;;;;;;;;;;;;;;;:42;;;;4685:1;4648:11;:18;4660:5;4648:18;;;;;;;;;;;;;;;4667:14;4648:34;;;;;;;;;;;;;;;;;:38;;;;5047:11;:18;5059:5;5047:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;:::i;:::-;;5109:1;5080:16;:26;5097:8;5080:26;;;;;;;;;;;:30;;;;5146:10;5116:16;:27;5133:9;5116:27;;;;;;;;;;;:40;;;;4305:856;;;;;:::o;3800:226::-;3903:14;3866:31;3883:3;3888:8;3866:16;:31::i;:::-;3920:11;:16;3932:3;3920:16;;;;;;;;;;;;;;;:23;;;;3903:40;;3949:11;:16;3961:3;3949:16;;;;;;;;;;;;;;;3971:8;3949:31;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;3949:31:8;;;;;;;;;;;;;;;;;;;;;;4015:6;3986:16;:26;4003:8;3986:26;;;;;;;;;;;:35;;;;3800:226;;;:::o;10623:328:6:-;10762:4;10830:13;10781:16;:3;:14;;;:16::i;:::-;10780:17;10776:49;;;10814:4;10807:11;;;;10776:49;10861:3;10846:36;;;10883:5;10890:8;10900:5;10846:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;10846:60:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10846:60:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10846:60:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10846:60:6;;;;;;;;;;;;;;;;10830:76;;604:10;10930:15;;10920:25;;;:6;:25;;;;10912:34;;10623:328;;;;;;;;:::o;9898:214::-;10000:5;9979:26;;:17;9987:8;9979:7;:17::i;:::-;:26;;;9971:35;;;;;;;;10038:30;10066:1;10038:16;:23;10055:5;10038:23;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;10012:16;:23;10029:5;10012:23;;;;;;;;;;;;;;;:56;;;;10105:1;10074:10;:20;10085:8;10074:20;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;9898:214;;:::o;836:110:1:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;9415:204:6:-;9521:1;9489:34;;:10;:20;9500:8;9489:20;;;;;;;;;;;;;;;;;;;;;:34;;;9481:43;;;;;;;;9553:3;9530:10;:20;9541:8;9530:20;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;9586:28;9612:1;9586:16;:21;9603:3;9586:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;9562:16;:21;9579:3;9562:21;;;;;;;;;;;;;;;:52;;;;9415:204;;:::o;438:568:0:-;495:4;507:12;922:4;910:17;902:25;;1000:1;993:4;:8;986:15;;438:568;;;;:::o;1008:123:1:-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;429:5995:8:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity ^0.4.21;\n\nimport \"./ERC721.sol\";\nimport \"./ERC721BasicToken.sol\";\nimport \"zos-lib/contracts/migrations/Migratable.sol\";\n\n\n/**\n * @title Full ERC721 Token\n * This implementation includes all the required and some optional functionality of the ERC721 standard\n * Moreover, it includes approve all functionality using operator terminology\n * @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Token is Migratable, ERC721, ERC721BasicToken {\n // Token name\n string internal name_;\n\n // Token symbol\n string internal symbol_;\n\n // Mapping from owner to list of owned token IDs\n mapping (address => uint256[]) internal ownedTokens;\n\n // Mapping from token ID to index of the owner tokens list\n mapping(uint256 => uint256) internal ownedTokensIndex;\n\n // Array with all token ids, used for enumeration\n uint256[] internal allTokens;\n\n // Mapping from token id to position in the allTokens array\n mapping(uint256 => uint256) internal allTokensIndex;\n\n // Optional mapping for token URIs\n mapping(uint256 => string) internal tokenURIs;\n\n /**\n * @dev Constructor function\n */\n function initialize(string _name, string _symbol) public isInitializer(\"ERC721Token\", \"1.9.0\") {\n name_ = _name;\n symbol_ = _symbol;\n }\n\n /**\n * @dev Gets the token name\n * @return string representing the token name\n */\n function name() public view returns (string) {\n return name_;\n }\n\n /**\n * @dev Gets the token symbol\n * @return string representing the token symbol\n */\n function symbol() public view returns (string) {\n return symbol_;\n }\n\n /**\n * @dev Returns an URI for a given token ID\n * @dev Throws if the token ID does not exist. May return an empty string.\n * @param _tokenId uint256 ID of the token to query\n */\n function tokenURI(uint256 _tokenId) public view returns (string) {\n require(exists(_tokenId));\n return tokenURIs[_tokenId];\n }\n\n /**\n * @dev Gets the token ID at a given index of the tokens list of the requested owner\n * @param _owner address owning the tokens list to be accessed\n * @param _index uint256 representing the index to be accessed of the requested tokens list\n * @return uint256 token ID at the given index of the tokens list owned by the requested address\n */\n function tokenOfOwnerByIndex(address _owner, uint256 _index) public view returns (uint256) {\n require(_index < balanceOf(_owner));\n return ownedTokens[_owner][_index];\n }\n\n /**\n * @dev Gets the total amount of tokens stored by the contract\n * @return uint256 representing the total amount of tokens\n */\n function totalSupply() public view returns (uint256) {\n return allTokens.length;\n }\n\n /**\n * @dev Gets the token ID at a given index of all the tokens in this contract\n * @dev Reverts if the index is greater or equal to the total number of tokens\n * @param _index uint256 representing the index to be accessed of the tokens list\n * @return uint256 token ID at the given index of the tokens list\n */\n function tokenByIndex(uint256 _index) public view returns (uint256) {\n require(_index < totalSupply());\n return allTokens[_index];\n }\n\n /**\n * @dev Internal function to set the token URI for a given token\n * @dev Reverts if the token ID does not exist\n * @param _tokenId uint256 ID of the token to set its URI\n * @param _uri string URI to assign\n */\n function _setTokenURI(uint256 _tokenId, string _uri) internal {\n require(exists(_tokenId));\n tokenURIs[_tokenId] = _uri;\n }\n\n /**\n * @dev Internal function to add a token ID to the list of a given address\n * @param _to address representing the new owner of the given token ID\n * @param _tokenId uint256 ID of the token to be added to the tokens list of the given address\n */\n function addTokenTo(address _to, uint256 _tokenId) internal {\n super.addTokenTo(_to, _tokenId);\n uint256 length = ownedTokens[_to].length;\n ownedTokens[_to].push(_tokenId);\n ownedTokensIndex[_tokenId] = length;\n }\n\n /**\n * @dev Internal function to remove a token ID from the list of a given address\n * @param _from address representing the previous owner of the given token ID\n * @param _tokenId uint256 ID of the token to be removed from the tokens list of the given address\n */\n function removeTokenFrom(address _from, uint256 _tokenId) internal {\n super.removeTokenFrom(_from, _tokenId);\n\n uint256 tokenIndex = ownedTokensIndex[_tokenId];\n uint256 lastTokenIndex = ownedTokens[_from].length.sub(1);\n uint256 lastToken = ownedTokens[_from][lastTokenIndex];\n\n ownedTokens[_from][tokenIndex] = lastToken;\n ownedTokens[_from][lastTokenIndex] = 0;\n // Note that this will handle single-element arrays. In that case, both tokenIndex and lastTokenIndex are going to\n // be zero. Then we can make sure that we will remove _tokenId from the ownedTokens list since we are first swapping\n // the lastToken to the first position, and then dropping the element placed in the last position of the list\n\n ownedTokens[_from].length--;\n ownedTokensIndex[_tokenId] = 0;\n ownedTokensIndex[lastToken] = tokenIndex;\n }\n\n /**\n * @dev Internal function to mint a new token\n * @dev Reverts if the given token ID already exists\n * @param _to address the beneficiary that will own the minted token\n * @param _tokenId uint256 ID of the token to be minted by the msg.sender\n */\n function _mint(address _to, uint256 _tokenId) internal {\n super._mint(_to, _tokenId);\n\n allTokensIndex[_tokenId] = allTokens.length;\n allTokens.push(_tokenId);\n }\n\n /**\n * @dev Internal function to burn a specific token\n * @dev Reverts if the token does not exist\n * @param _owner owner of the token to burn\n * @param _tokenId uint256 ID of the token being burned by the msg.sender\n */\n function _burn(address _owner, uint256 _tokenId) internal {\n super._burn(_owner, _tokenId);\n\n // Clear metadata (if any)\n if (bytes(tokenURIs[_tokenId]).length != 0) {\n delete tokenURIs[_tokenId];\n }\n\n // Reorg all tokens array\n uint256 tokenIndex = allTokensIndex[_tokenId];\n uint256 lastTokenIndex = allTokens.length.sub(1);\n uint256 lastToken = allTokens[lastTokenIndex];\n\n allTokens[tokenIndex] = lastToken;\n allTokens[lastTokenIndex] = 0;\n\n allTokens.length--;\n allTokensIndex[_tokenId] = 0;\n allTokensIndex[lastToken] = tokenIndex;\n }\n\n}\n", + "bytecode": "0x608060405234801561001057600080fd5b50612303806100206000396000f300608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ffc9a71461010c57806306fdde0314610170578063081812fc14610200578063095ea7b31461026d57806318160ddd146102ba57806323b872dd146102e55780632f745c591461035257806342842e0e146103b35780634cd88b76146104205780634f558e79146104cf5780634f6ccce7146105145780636352211e1461055557806370a08231146105c257806395d89b4114610619578063a22cb465146106a9578063b88d4fde146106f8578063c0bac1a8146107ab578063c87b56dd14610872578063e985e9c514610918575b600080fd5b34801561011857600080fd5b5061015660048036038101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610993565b604051808215151515815260200191505060405180910390f35b34801561017c57600080fd5b506101856109a5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c55780820151818401526020810190506101aa565b50505050905090810190601f1680156101f25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020c57600080fd5b5061022b60048036038101908080359060200190929190505050610a47565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027957600080fd5b506102b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a84565b005b3480156102c657600080fd5b506102cf610bc9565b6040518082815260200191505060405180910390f35b3480156102f157600080fd5b50610350600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bd6565b005b34801561035e57600080fd5b5061039d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce3565b6040518082815260200191505060405180910390f35b3480156103bf57600080fd5b5061041e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d5a565b005b34801561042c57600080fd5b506104cd600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610d92565b005b3480156104db57600080fd5b506104fa6004803603810190808035906020019092919050505061103e565b604051808215151515815260200191505060405180910390f35b34801561052057600080fd5b5061053f600480360381019080803590602001909291905050506110b0565b6040518082815260200191505060405180910390f35b34801561056157600080fd5b50610580600480360381019080803590602001909291905050506110e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105ce57600080fd5b50610603600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611166565b6040518082815260200191505060405180910390f35b34801561062557600080fd5b5061062e6111ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561066e578082015181840152602081019050610653565b50505050905090810190601f16801561069b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106b557600080fd5b506106f6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061128c565b005b34801561070457600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506113c8565b005b3480156107b757600080fd5b50610858600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611407565b604051808215151515815260200191505060405180910390f35b34801561087e57600080fd5b5061089d600480360381019080803590602001909291905050506114f2565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108dd5780820151818401526020810190506108c2565b50505050905090810190601f16801561090a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561092457600080fd5b50610979600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115bb565b604051808215151515815260200191505060405180910390f35b600061099e8261164f565b9050919050565b606060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a3d5780601f10610a1257610100808354040283529160200191610a3d565b820191906000526020600020905b815481529060010190602001808311610a2057829003601f168201915b5050505050905090565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610a8f826110e8565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610acc57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b0c5750610b0b81336115bb565b5b1515610b1757600080fd5b826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000600980549050905090565b80610be13382611737565b1515610bec57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610c2857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610c6457600080fd5b610c6e84836117cc565b610c7884836118cf565b610c828383611ae7565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b6000610cee83611166565b82101515610cfb57600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610d4757fe5b9060005260206000200154905092915050565b80610d653382611737565b1515610d7057600080fd5b610d8c84848460206040519081016040528060008152506113c8565b50505050565b6040805190810160405280600b81526020017f455243373231546f6b656e0000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610e088282611407565b151515610e1457600080fd5b8360059080519060200190610e2a929190612206565b508260069080519060200190610e41929190612206565b507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610ea9578082015181840152602081019050610e8e565b50505050905090810190601f168015610ed65780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610f0f578082015181840152602081019050610ef4565b50505050905090810190601f168015610f3c5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610f855780518252602082019150602081019050602083039250610f60565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610fee5780518252602082019150602081019050602083039250610fc9565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60006110ba610bc9565b821015156110c757600080fd5b6009828154811015156110d657fe5b90600052602060002001549050919050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561115d57600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156111a357600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112825780601f1061125757610100808354040283529160200191611282565b820191906000526020600020905b81548152906001019060200180831161126557829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156112c757600080fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b816113d33382611737565b15156113de57600080fd5b6113e9858585610bd6565b6113f585858585611bbe565b151561140057600080fd5b5050505050565b600080836040518082805190602001908083835b602083101515611440578051825260208201915060208101905060208303925061141b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156114a95780518252602082019150602081019050602083039250611484565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b60606114fd8261103e565b151561150857600080fd5b600b60008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115af5780601f10611584576101008083540402835291602001916115af565b820191906000526020600020905b81548152906001019060200180831161159257829003601f168201915b50505050509050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600061165a82611de0565b806116c5575063780e9d637c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806117305750635b5e139f7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600080611743836110e8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806117b257508373ffffffffffffffffffffffffffffffffffffffff1661179a84610a47565b73ffffffffffffffffffffffffffffffffffffffff16145b806117c357506117c281856115bb565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff166117ec826110e8565b73ffffffffffffffffffffffffffffffffffffffff1614151561180e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156118cb5760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b60008060006118de8585611ec8565b6008600085815260200190815260200160002054925061194a6001600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611ff790919063ffffffff16565b9150600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561199857fe5b9060005260206000200154905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811015156119f257fe5b90600052602060002001819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515611a4e57fe5b9060005260206000200181905550600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060019003611aae9190612286565b50600060086000868152602001908152602001600020819055508260086000838152602001908152602001600020819055505050505050565b6000611af38383612010565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020829080600181540180825580915050906001820390600052602060002001600090919290919091505550806008600084815260200190815260200160002081905550505050565b600080611be08573ffffffffffffffffffffffffffffffffffffffff1661216a565b1515611bef5760019150611dd7565b8473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611ce4578082015181840152602081019050611cc9565b50505050905090810190601f168015611d115780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015611d3357600080fd5b505af1158015611d47573d6000803e3d6000fd5b505050506040513d6020811015611d5d57600080fd5b8101908080519060200190929190505050905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b6000611deb8261217d565b80611e5657506380ac58cd7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611ec15750634f558e797c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff16611ee8826110e8565b73ffffffffffffffffffffffffffffffffffffffff16141515611f0a57600080fd5b611f5d6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff790919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600082821115151561200557fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561207e57600080fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506121236001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ea90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600080823b905060008111915050919050565b60006301ffc9a77c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600081830190508281101515156121fd57fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061224757805160ff1916838001178555612275565b82800160010185558215612275579182015b82811115612274578251825591602001919060010190612259565b5b50905061228291906122b2565b5090565b8154818355818111156122ad578183600052602060002091820191016122ac91906122b2565b5b505050565b6122d491905b808211156122d05760008160009055506001016122b8565b5090565b905600a165627a7a72305820ed3a87286de9176bc0ba30ff648e4a83999461cab66859195ea59e7641a80cb40029", + "deployedBytecode": "0x608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ffc9a71461010c57806306fdde0314610170578063081812fc14610200578063095ea7b31461026d57806318160ddd146102ba57806323b872dd146102e55780632f745c591461035257806342842e0e146103b35780634cd88b76146104205780634f558e79146104cf5780634f6ccce7146105145780636352211e1461055557806370a08231146105c257806395d89b4114610619578063a22cb465146106a9578063b88d4fde146106f8578063c0bac1a8146107ab578063c87b56dd14610872578063e985e9c514610918575b600080fd5b34801561011857600080fd5b5061015660048036038101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610993565b604051808215151515815260200191505060405180910390f35b34801561017c57600080fd5b506101856109a5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c55780820151818401526020810190506101aa565b50505050905090810190601f1680156101f25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020c57600080fd5b5061022b60048036038101908080359060200190929190505050610a47565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027957600080fd5b506102b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a84565b005b3480156102c657600080fd5b506102cf610bc9565b6040518082815260200191505060405180910390f35b3480156102f157600080fd5b50610350600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bd6565b005b34801561035e57600080fd5b5061039d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce3565b6040518082815260200191505060405180910390f35b3480156103bf57600080fd5b5061041e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d5a565b005b34801561042c57600080fd5b506104cd600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610d92565b005b3480156104db57600080fd5b506104fa6004803603810190808035906020019092919050505061103e565b604051808215151515815260200191505060405180910390f35b34801561052057600080fd5b5061053f600480360381019080803590602001909291905050506110b0565b6040518082815260200191505060405180910390f35b34801561056157600080fd5b50610580600480360381019080803590602001909291905050506110e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105ce57600080fd5b50610603600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611166565b6040518082815260200191505060405180910390f35b34801561062557600080fd5b5061062e6111ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561066e578082015181840152602081019050610653565b50505050905090810190601f16801561069b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106b557600080fd5b506106f6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061128c565b005b34801561070457600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506113c8565b005b3480156107b757600080fd5b50610858600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611407565b604051808215151515815260200191505060405180910390f35b34801561087e57600080fd5b5061089d600480360381019080803590602001909291905050506114f2565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108dd5780820151818401526020810190506108c2565b50505050905090810190601f16801561090a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561092457600080fd5b50610979600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115bb565b604051808215151515815260200191505060405180910390f35b600061099e8261164f565b9050919050565b606060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a3d5780601f10610a1257610100808354040283529160200191610a3d565b820191906000526020600020905b815481529060010190602001808311610a2057829003601f168201915b5050505050905090565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610a8f826110e8565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610acc57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b0c5750610b0b81336115bb565b5b1515610b1757600080fd5b826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000600980549050905090565b80610be13382611737565b1515610bec57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610c2857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610c6457600080fd5b610c6e84836117cc565b610c7884836118cf565b610c828383611ae7565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b6000610cee83611166565b82101515610cfb57600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610d4757fe5b9060005260206000200154905092915050565b80610d653382611737565b1515610d7057600080fd5b610d8c84848460206040519081016040528060008152506113c8565b50505050565b6040805190810160405280600b81526020017f455243373231546f6b656e0000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610e088282611407565b151515610e1457600080fd5b8360059080519060200190610e2a929190612206565b508260069080519060200190610e41929190612206565b507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610ea9578082015181840152602081019050610e8e565b50505050905090810190601f168015610ed65780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610f0f578082015181840152602081019050610ef4565b50505050905090810190601f168015610f3c5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610f855780518252602082019150602081019050602083039250610f60565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610fee5780518252602082019150602081019050602083039250610fc9565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60006110ba610bc9565b821015156110c757600080fd5b6009828154811015156110d657fe5b90600052602060002001549050919050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561115d57600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156111a357600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112825780601f1061125757610100808354040283529160200191611282565b820191906000526020600020905b81548152906001019060200180831161126557829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156112c757600080fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b816113d33382611737565b15156113de57600080fd5b6113e9858585610bd6565b6113f585858585611bbe565b151561140057600080fd5b5050505050565b600080836040518082805190602001908083835b602083101515611440578051825260208201915060208101905060208303925061141b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156114a95780518252602082019150602081019050602083039250611484565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b60606114fd8261103e565b151561150857600080fd5b600b60008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115af5780601f10611584576101008083540402835291602001916115af565b820191906000526020600020905b81548152906001019060200180831161159257829003601f168201915b50505050509050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600061165a82611de0565b806116c5575063780e9d637c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806117305750635b5e139f7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600080611743836110e8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806117b257508373ffffffffffffffffffffffffffffffffffffffff1661179a84610a47565b73ffffffffffffffffffffffffffffffffffffffff16145b806117c357506117c281856115bb565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff166117ec826110e8565b73ffffffffffffffffffffffffffffffffffffffff1614151561180e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156118cb5760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b60008060006118de8585611ec8565b6008600085815260200190815260200160002054925061194a6001600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611ff790919063ffffffff16565b9150600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561199857fe5b9060005260206000200154905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811015156119f257fe5b90600052602060002001819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515611a4e57fe5b9060005260206000200181905550600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060019003611aae9190612286565b50600060086000868152602001908152602001600020819055508260086000838152602001908152602001600020819055505050505050565b6000611af38383612010565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020829080600181540180825580915050906001820390600052602060002001600090919290919091505550806008600084815260200190815260200160002081905550505050565b600080611be08573ffffffffffffffffffffffffffffffffffffffff1661216a565b1515611bef5760019150611dd7565b8473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611ce4578082015181840152602081019050611cc9565b50505050905090810190601f168015611d115780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015611d3357600080fd5b505af1158015611d47573d6000803e3d6000fd5b505050506040513d6020811015611d5d57600080fd5b8101908080519060200190929190505050905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b6000611deb8261217d565b80611e5657506380ac58cd7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611ec15750634f558e797c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff16611ee8826110e8565b73ffffffffffffffffffffffffffffffffffffffff16141515611f0a57600080fd5b611f5d6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff790919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600082821115151561200557fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561207e57600080fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506121236001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ea90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600080823b905060008111915050919050565b60006301ffc9a77c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600081830190508281101515156121fd57fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061224757805160ff1916838001178555612275565b82800160010185558215612275579182015b82811115612274578251825591602001919060010190612259565b5b50905061228291906122b2565b5090565b8154818355818111156122ad578183600052602060002091820191016122ac91906122b2565b5b505050565b6122d491905b808211156122d05760008160009055506001016122b8565b5090565b905600a165627a7a72305820ed3a87286de9176bc0ba30ff648e4a83999461cab66859195ea59e7641a80cb40029", + "sourceMap": "470:6758:52:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;470:6758:52;;;;;;;", + "deployedSourceMap": "470:6758:52:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;340:143:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;340:143:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2176:70:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2176:70:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2176:70:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4612:111:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4612:111:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4108:277;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4108:277:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3445:87:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3445:87:52;;;;;;;;;;;;;;;;;;;;;;;6103:342:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6103:342:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3100:203:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3100:203:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7061:225:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7061:225:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1682:142:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1682:142:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3563:140:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:140:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3856::52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3856:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3221:164:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3221:164:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2866:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2866:142:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2344:74:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2344:74:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2344:74:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5003:205:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5003:205:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7968:302;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7968:302:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2606:133:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2606:133:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2606:133:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5517:168:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5517:168:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;340:143:5;423:4;444:32;463:12;444:18;:32::i;:::-;437:39;;340:143;;;:::o;2176:70:52:-;2215:6;2236:5;2229:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2176:70;:::o;4612:111:49:-;4672:7;4694:14;:24;4709:8;4694:24;;;;;;;;;;;;;;;;;;;;;4687:31;;4612:111;;;:::o;4108:277::-;4169:13;4185:17;4193:8;4185:7;:17::i;:::-;4169:33;;4223:5;4216:12;;:3;:12;;;;4208:21;;;;;;;;4257:5;4243:19;;:10;:19;;;:58;;;;4266:35;4283:5;4290:10;4266:16;:35::i;:::-;4243:58;4235:67;;;;;;;;4336:3;4309:14;:24;4324:8;4309:24;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;4371:8;4366:3;4350:30;;4359:5;4350:30;;;;;;;;;;;;4108:277;;;:::o;3445:87:52:-;3489:7;3511:9;:16;;;;3504:23;;3445:87;:::o;6103:342:49:-;6214:8;2376:39;2394:10;2406:8;2376:17;:39::i;:::-;2368:48;;;;;;;;6257:1;6240:19;;:5;:19;;;;6232:28;;;;;;;;6289:1;6274:17;;:3;:17;;;;6266:26;;;;;;;;6299:30;6313:5;6320:8;6299:13;:30::i;:::-;6335:32;6351:5;6358:8;6335:15;:32::i;:::-;6373:25;6384:3;6389:8;6373:10;:25::i;:::-;6431:8;6426:3;6410:30;;6419:5;6410:30;;;;;;;;;;;;6103:342;;;;:::o;3100:203:52:-;3206:7;3240:17;3250:6;3240:9;:17::i;:::-;3231:6;:26;3223:35;;;;;;;;3271:11;:19;3283:6;3271:19;;;;;;;;;;;;;;;3291:6;3271:27;;;;;;;;;;;;;;;;;;3264:34;;3100:203;;;;:::o;7061:225:49:-;7176:8;2376:39;2394:10;2406:8;2376:17;:39::i;:::-;2368:48;;;;;;;;7239:42;7256:5;7263:3;7268:8;7239:42;;;;;;;;;;;;;:16;:42::i;:::-;7061:225;;;;:::o;1682:142:52:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;1791:5:52;1783;:13;;;;;;;;;;;;:::i;:::-;;1812:7;1802;:17;;;;;;;;;;;;:::i;:::-;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;1682:142:52;;;;:::o;3563:140:49:-;3618:4;3630:13;3646:10;:20;3657:8;3646:20;;;;;;;;;;;;;;;;;;;;;3630:36;;3696:1;3679:19;;:5;:19;;;;3672:26;;3563:140;;;;:::o;3856::52:-;3915:7;3947:13;:11;:13::i;:::-;3938:6;:22;3930:31;;;;;;;;3974:9;3984:6;3974:17;;;;;;;;;;;;;;;;;;3967:24;;3856:140;;;:::o;3221:164:49:-;3277:7;3292:13;3308:10;:20;3319:8;3308:20;;;;;;;;;;;;;;;;;;;;;3292:36;;3359:1;3342:19;;:5;:19;;;;3334:28;;;;;;;;3375:5;3368:12;;3221:164;;;;:::o;2866:142::-;2922:7;2963:1;2945:20;;:6;:20;;;;2937:29;;;;;;;;2979:16;:24;2996:6;2979:24;;;;;;;;;;;;;;;;2972:31;;2866:142;;;:::o;2344:74:52:-;2385:6;2406:7;2399:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2344:74;:::o;5003:205:49:-;5087:10;5080:17;;:3;:17;;;;5072:26;;;;;;;;5141:9;5104:17;:29;5122:10;5104:29;;;;;;;;;;;;;;;:34;5134:3;5104:34;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;5188:3;5161:42;;5176:10;5161:42;;;5193:9;5161:42;;;;;;;;;;;;;;;;;;;;;;5003:205;;:::o;7968:302::-;8100:8;2376:39;2394:10;2406:8;2376:17;:39::i;:::-;2368:48;;;;;;;;8118:34;8131:5;8138:3;8143:8;8118:12;:34::i;:::-;8211:53;8236:5;8243:3;8248:8;8258:5;8211:24;:53::i;:::-;8203:62;;;;;;;;7968:302;;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;2606:133:52:-;2663:6;2685:16;2692:8;2685:6;:16::i;:::-;2677:25;;;;;;;;2715:9;:19;2725:8;2715:19;;;;;;;;;;;2708:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2606:133;;;:::o;5517:168:49:-;5623:4;5644:17;:25;5662:6;5644:25;;;;;;;;;;;;;;;:36;5670:9;5644:36;;;;;;;;;;;;;;;;;;;;;;;;;5637:43;;5517:168;;;;:::o;1828:254:52:-;1912:4;1933:38;1958:12;1933:24;:38::i;:::-;:92;;;;606:10;1997:28;;1981:44;;;:12;:44;;;;1933:92;:144;;;;867:10;2051:26;;2035:42;;;:12;:42;;;;1933:144;1926:151;;1828:254;;;:::o;8617:438:49:-;8727:4;8741:13;8757:17;8765:8;8757:7;:17::i;:::-;8741:33;;8953:5;8941:17;;:8;:17;;;:60;;;;8993:8;8968:33;;:21;8980:8;8968:11;:21::i;:::-;:33;;;8941:60;:103;;;;9011:33;9028:5;9035:8;9011:16;:33::i;:::-;8941:103;8926:124;;8617:438;;;;;:::o;10109:214::-;10210:6;10189:27;;:17;10197:8;10189:7;:17::i;:::-;:27;;;10181:36;;;;;;;;10263:1;10227:38;;:14;:24;10242:8;10227:24;;;;;;;;;;;;;;;;;;;;;:38;;;;10223:96;;;10310:1;10275:14;:24;10290:8;10275:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;10223:96;10109:214;;:::o;5119:856:52:-;5237:18;5290:22;5353:17;5192:38;5214:5;5221:8;5192:21;:38::i;:::-;5258:16;:26;5275:8;5258:26;;;;;;;;;;;;5237:47;;5315:32;5345:1;5315:11;:18;5327:5;5315:18;;;;;;;;;;;;;;;:25;;;;:29;;:32;;;;:::i;:::-;5290:57;;5373:11;:18;5385:5;5373:18;;;;;;;;;;;;;;;5392:14;5373:34;;;;;;;;;;;;;;;;;;5353:54;;5447:9;5414:11;:18;5426:5;5414:18;;;;;;;;;;;;;;;5433:10;5414:30;;;;;;;;;;;;;;;;;:42;;;;5499:1;5462:11;:18;5474:5;5462:18;;;;;;;;;;;;;;;5481:14;5462:34;;;;;;;;;;;;;;;;;:38;;;;5861:11;:18;5873:5;5861:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;:::i;:::-;;5923:1;5894:16;:26;5911:8;5894:26;;;;;;;;;;;:30;;;;5960:10;5930:16;:27;5947:9;5930:27;;;;;;;;;;;:40;;;;5119:856;;;;;:::o;4614:226::-;4717:14;4680:31;4697:3;4702:8;4680:16;:31::i;:::-;4734:11;:16;4746:3;4734:16;;;;;;;;;;;;;;;:23;;;;4717:40;;4763:11;:16;4775:3;4763:16;;;;;;;;;;;;;;;4785:8;4763:31;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;4763:31:52;;;;;;;;;;;;;;;;;;;;;;4829:6;4800:16;:26;4817:8;4800:26;;;;;;;;;;;:35;;;;4614:226;;;:::o;11789:347:49:-;11928:4;11996:13;11947:16;:3;:14;;;:16::i;:::-;11946:17;11942:49;;;11980:4;11973:11;;;;11942:49;12027:3;12012:36;;;12056:10;12068:5;12075:8;12085:5;12012:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;12012:79:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12012:79:49;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12012:79:49;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12012:79:49;;;;;;;;;;;;;;;;11996:95;;1460:10;12115:15;;12105:25;;;:6;:25;;;;12097:34;;11789:347;;;;;;;;:::o;2432:242::-;2516:4;2537:38;2562:12;2537:24;:38::i;:::-;:82;;;;455:10;2601:18;;2585:34;;;:12;:34;;;;2537:82;:132;;;;1096:10;2645:24;;2629:40;;;:12;:40;;;;2537:132;2530:139;;2432:242;;;:::o;11069:214::-;11171:5;11150:26;;:17;11158:8;11150:7;:17::i;:::-;:26;;;11142:35;;;;;;;;11209:30;11237:1;11209:16;:23;11226:5;11209:23;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;11183:16;:23;11200:5;11183:23;;;;;;;;;;;;;;;:56;;;;11276:1;11245:10;:20;11256:8;11245:20;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;11069:214;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;10586:204:49:-;10692:1;10660:34;;:10;:20;10671:8;10660:20;;;;;;;;;;;;;;;;;;;;;:34;;;10652:43;;;;;;;;10724:3;10701:10;:20;10712:8;10701:20;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;10757:28;10783:1;10757:16;:21;10774:3;10757:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;10733:16;:21;10750:3;10733:21;;;;;;;;;;;;;;;:52;;;;10586:204;;:::o;438:568:0:-;495:4;507:12;922:4;910:17;902:25;;1000:1;993:4;:8;986:15;;438:568;;;;:::o;487:146:5:-;571:4;239:10;608:18;;592:34;;;:12;:34;;;;585:41;;487:146;;;:::o;1008:123:8:-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;470:6758:52:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.21;\n\nimport \"./ERC721.sol\";\nimport \"./ERC721BasicToken.sol\";\nimport \"../../introspection/ERC165.sol\";\nimport \"zos-lib/contracts/migrations/Migratable.sol\";\n\n\n/**\n * @title Full ERC721 Token\n * This implementation includes all the required and some optional functionality of the ERC721 standard\n * Moreover, it includes approve all functionality using operator terminology\n * @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Token is Migratable, ERC165Support, ERC721BasicToken, ERC721 {\n\n bytes4 private constant InterfaceId_ERC721Enumerable = 0x780e9d63;\n /**\n * 0x780e9d63 ===\n * bytes4(keccak256('totalSupply()')) ^\n * bytes4(keccak256('tokenOfOwnerByIndex(address,uint256)')) ^\n * bytes4(keccak256('tokenByIndex(uint256)'))\n */\n\n bytes4 private constant InterfaceId_ERC721Metadata = 0x5b5e139f;\n /**\n * 0x5b5e139f ===\n * bytes4(keccak256('name()')) ^\n * bytes4(keccak256('symbol()')) ^\n * bytes4(keccak256('tokenURI(uint256)'))\n */\n\n // Token name\n string internal name_;\n\n // Token symbol\n string internal symbol_;\n\n // Mapping from owner to list of owned token IDs\n mapping(address => uint256[]) internal ownedTokens;\n\n // Mapping from token ID to index of the owner tokens list\n mapping(uint256 => uint256) internal ownedTokensIndex;\n\n // Array with all token ids, used for enumeration\n uint256[] internal allTokens;\n\n // Mapping from token id to position in the allTokens array\n mapping(uint256 => uint256) internal allTokensIndex;\n\n // Optional mapping for token URIs\n mapping(uint256 => string) internal tokenURIs;\n\n /**\n * @dev Constructor function\n */\n function initialize(string _name, string _symbol) public isInitializer(\"ERC721Token\", \"1.9.0\") {\n name_ = _name;\n symbol_ = _symbol;\n }\n\n function _supportsInterface(bytes4 _interfaceId)\n internal\n view\n returns (bool)\n {\n return super._supportsInterface(_interfaceId)\n || _interfaceId == InterfaceId_ERC721Enumerable\n || _interfaceId == InterfaceId_ERC721Metadata;\n }\n\n /**\n * @dev Gets the token name\n * @return string representing the token name\n */\n function name() external view returns (string) {\n return name_;\n }\n\n /**\n * @dev Gets the token symbol\n * @return string representing the token symbol\n */\n function symbol() external view returns (string) {\n return symbol_;\n }\n\n /**\n * @dev Returns an URI for a given token ID\n * Throws if the token ID does not exist. May return an empty string.\n * @param _tokenId uint256 ID of the token to query\n */\n function tokenURI(uint256 _tokenId) public view returns (string) {\n require(exists(_tokenId));\n return tokenURIs[_tokenId];\n }\n\n /**\n * @dev Gets the token ID at a given index of the tokens list of the requested owner\n * @param _owner address owning the tokens list to be accessed\n * @param _index uint256 representing the index to be accessed of the requested tokens list\n * @return uint256 token ID at the given index of the tokens list owned by the requested address\n */\n function tokenOfOwnerByIndex(\n address _owner,\n uint256 _index\n )\n public\n view\n returns (uint256)\n {\n require(_index < balanceOf(_owner));\n return ownedTokens[_owner][_index];\n }\n\n /**\n * @dev Gets the total amount of tokens stored by the contract\n * @return uint256 representing the total amount of tokens\n */\n function totalSupply() public view returns (uint256) {\n return allTokens.length;\n }\n\n /**\n * @dev Gets the token ID at a given index of all the tokens in this contract\n * Reverts if the index is greater or equal to the total number of tokens\n * @param _index uint256 representing the index to be accessed of the tokens list\n * @return uint256 token ID at the given index of the tokens list\n */\n function tokenByIndex(uint256 _index) public view returns (uint256) {\n require(_index < totalSupply());\n return allTokens[_index];\n }\n\n /**\n * @dev Internal function to set the token URI for a given token\n * Reverts if the token ID does not exist\n * @param _tokenId uint256 ID of the token to set its URI\n * @param _uri string URI to assign\n */\n function _setTokenURI(uint256 _tokenId, string _uri) internal {\n require(exists(_tokenId));\n tokenURIs[_tokenId] = _uri;\n }\n\n /**\n * @dev Internal function to add a token ID to the list of a given address\n * @param _to address representing the new owner of the given token ID\n * @param _tokenId uint256 ID of the token to be added to the tokens list of the given address\n */\n function addTokenTo(address _to, uint256 _tokenId) internal {\n super.addTokenTo(_to, _tokenId);\n uint256 length = ownedTokens[_to].length;\n ownedTokens[_to].push(_tokenId);\n ownedTokensIndex[_tokenId] = length;\n }\n\n /**\n * @dev Internal function to remove a token ID from the list of a given address\n * @param _from address representing the previous owner of the given token ID\n * @param _tokenId uint256 ID of the token to be removed from the tokens list of the given address\n */\n function removeTokenFrom(address _from, uint256 _tokenId) internal {\n super.removeTokenFrom(_from, _tokenId);\n\n uint256 tokenIndex = ownedTokensIndex[_tokenId];\n uint256 lastTokenIndex = ownedTokens[_from].length.sub(1);\n uint256 lastToken = ownedTokens[_from][lastTokenIndex];\n\n ownedTokens[_from][tokenIndex] = lastToken;\n ownedTokens[_from][lastTokenIndex] = 0;\n // Note that this will handle single-element arrays. In that case, both tokenIndex and lastTokenIndex are going to\n // be zero. Then we can make sure that we will remove _tokenId from the ownedTokens list since we are first swapping\n // the lastToken to the first position, and then dropping the element placed in the last position of the list\n\n ownedTokens[_from].length--;\n ownedTokensIndex[_tokenId] = 0;\n ownedTokensIndex[lastToken] = tokenIndex;\n }\n\n /**\n * @dev Internal function to mint a new token\n * Reverts if the given token ID already exists\n * @param _to address the beneficiary that will own the minted token\n * @param _tokenId uint256 ID of the token to be minted by the msg.sender\n */\n function _mint(address _to, uint256 _tokenId) internal {\n super._mint(_to, _tokenId);\n\n allTokensIndex[_tokenId] = allTokens.length;\n allTokens.push(_tokenId);\n }\n\n /**\n * @dev Internal function to burn a specific token\n * Reverts if the token does not exist\n * @param _owner owner of the token to burn\n * @param _tokenId uint256 ID of the token being burned by the msg.sender\n */\n function _burn(address _owner, uint256 _tokenId) internal {\n super._burn(_owner, _tokenId);\n\n // Clear metadata (if any)\n if (bytes(tokenURIs[_tokenId]).length != 0) {\n delete tokenURIs[_tokenId];\n }\n\n // Reorg all tokens array\n uint256 tokenIndex = allTokensIndex[_tokenId];\n uint256 lastTokenIndex = allTokens.length.sub(1);\n uint256 lastToken = allTokens[lastTokenIndex];\n\n allTokens[tokenIndex] = lastToken;\n allTokens[lastTokenIndex] = 0;\n\n allTokens.length--;\n allTokensIndex[_tokenId] = 0;\n allTokensIndex[lastToken] = tokenIndex;\n }\n\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Token.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Token.sol", "exportedSymbols": { "ERC721Token": [ - 1380 + 4715 ] }, - "id": 1381, + "id": 4716, "nodeType": "SourceUnit", "nodes": [ { - "id": 1005, + "id": 4310, "literals": [ "solidity", "^", @@ -459,38 +478,49 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:8" + "src": "0:24:52" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721.sol", "file": "./ERC721.sol", - "id": 1006, + "id": 4311, "nodeType": "ImportDirective", - "scope": 1381, - "sourceUnit": 297, - "src": "26:22:8", + "scope": 4716, + "sourceUnit": 3565, + "src": "26:22:52", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721BasicToken.sol", "file": "./ERC721BasicToken.sol", - "id": 1007, + "id": 4312, "nodeType": "ImportDirective", - "scope": 1381, - "sourceUnit": 987, - "src": "49:32:8", + "scope": 4716, + "sourceUnit": 4268, + "src": "49:32:52", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/introspection/ERC165.sol", + "file": "../../introspection/ERC165.sol", + "id": 4313, + "nodeType": "ImportDirective", + "scope": 4716, + "sourceUnit": 304, + "src": "82:40:52", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 1008, + "id": 4314, "nodeType": "ImportDirective", - "scope": 1381, - "sourceUnit": 1530, - "src": "82:53:8", + "scope": 4716, + "sourceUnit": 4865, + "src": "123:53:52", "symbolAliases": [], "unitAlias": "" }, @@ -500,88 +530,196 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1009, + "id": 4315, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1529, - "src": "453:10:8", + "referencedDeclaration": 4864, + "src": "494:10:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$1529", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 1010, + "id": 4316, "nodeType": "InheritanceSpecifier", - "src": "453:10:8" + "src": "494:10:52" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 1011, - "name": "ERC721", + "id": 4317, + "name": "ERC165Support", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 296, - "src": "465:6:8", + "referencedDeclaration": 336, + "src": "506:13:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$296", - "typeString": "contract ERC721" + "typeIdentifier": "t_contract$_ERC165Support_$336", + "typeString": "contract ERC165Support" } }, - "id": 1012, + "id": 4318, "nodeType": "InheritanceSpecifier", - "src": "465:6:8" + "src": "506:13:52" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 1013, + "id": 4319, "name": "ERC721BasicToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 986, - "src": "473:16:8", + "referencedDeclaration": 4267, + "src": "521:16:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721BasicToken_$986", + "typeIdentifier": "t_contract$_ERC721BasicToken_$4267", "typeString": "contract ERC721BasicToken" } }, - "id": 1014, + "id": 4320, "nodeType": "InheritanceSpecifier", - "src": "473:16:8" + "src": "521:16:52" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 4321, + "name": "ERC721", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3564, + "src": "539:6:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721_$3564", + "typeString": "contract ERC721" + } + }, + "id": 4322, + "nodeType": "InheritanceSpecifier", + "src": "539:6:52" } ], "contractDependencies": [ - 269, - 289, - 296, - 403, - 986, - 1529 + 303, + 336, + 3537, + 3557, + 3564, + 3674, + 4267, + 4864 ], "contractKind": "contract", "documentation": "@title Full ERC721 Token\nThis implementation includes all the required and some optional functionality of the ERC721 standard\nMoreover, it includes approve all functionality using operator terminology\n@dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": true, - "id": 1380, + "id": 4715, "linearizedBaseContracts": [ - 1380, - 986, - 296, - 289, - 269, - 403, - 1529 + 4715, + 3564, + 3557, + 3537, + 4267, + 3674, + 336, + 303, + 4864 ], "name": "ERC721Token", "nodeType": "ContractDefinition", "nodes": [ + { + "constant": true, + "id": 4325, + "name": "InterfaceId_ERC721Enumerable", + "nodeType": "VariableDeclaration", + "scope": 4715, + "src": "551:65:52", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 4323, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "551:6:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783738306539643633", + "id": 4324, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "606:10:52", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2014223715_by_1", + "typeString": "int_const 2014223715" + }, + "value": "0x780e9d63" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 4328, + "name": "InterfaceId_ERC721Metadata", + "nodeType": "VariableDeclaration", + "scope": 4715, + "src": "814:63:52", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 4326, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "814:6:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783562356531333966", + "id": 4327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "867:10:52", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1532892063_by_1", + "typeString": "int_const 1532892063" + }, + "value": "0x5b5e139f" + }, + "visibility": "private" + }, { "constant": false, - "id": 1016, + "id": 4330, "name": "name_", "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "510:21:8", + "scope": 4715, + "src": "1052:21:52", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -589,10 +727,10 @@ "typeString": "string" }, "typeName": { - "id": 1015, + "id": 4329, "name": "string", "nodeType": "ElementaryTypeName", - "src": "510:6:8", + "src": "1052:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -603,11 +741,11 @@ }, { "constant": false, - "id": 1018, + "id": 4332, "name": "symbol_", "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "554:23:8", + "scope": 4715, + "src": "1096:23:52", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -615,10 +753,10 @@ "typeString": "string" }, "typeName": { - "id": 1017, + "id": 4331, "name": "string", "nodeType": "ElementaryTypeName", - "src": "554:6:8", + "src": "1096:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -629,11 +767,11 @@ }, { "constant": false, - "id": 1023, + "id": 4337, "name": "ownedTokens", "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "633:51:8", + "scope": 4715, + "src": "1175:50:52", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -641,38 +779,38 @@ "typeString": "mapping(address => uint256[])" }, "typeName": { - "id": 1022, + "id": 4336, "keyType": { - "id": 1019, + "id": 4333, "name": "address", "nodeType": "ElementaryTypeName", - "src": "642:7:8", + "src": "1183:7:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "633:30:8", + "src": "1175:29:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[])" }, "valueType": { "baseType": { - "id": 1020, + "id": 4334, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "653:7:8", + "src": "1194:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1021, + "id": 4335, "length": null, "nodeType": "ArrayTypeName", - "src": "653:9:8", + "src": "1194:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -684,11 +822,11 @@ }, { "constant": false, - "id": 1027, + "id": 4341, "name": "ownedTokensIndex", "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "750:53:8", + "scope": 4715, + "src": "1291:53:52", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -696,28 +834,28 @@ "typeString": "mapping(uint256 => uint256)" }, "typeName": { - "id": 1026, + "id": 4340, "keyType": { - "id": 1024, + "id": 4338, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "758:7:8", + "src": "1299:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "750:27:8", + "src": "1291:27:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" }, "valueType": { - "id": 1025, + "id": 4339, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "769:7:8", + "src": "1310:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -729,11 +867,11 @@ }, { "constant": false, - "id": 1030, + "id": 4344, "name": "allTokens", "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "860:28:8", + "scope": 4715, + "src": "1401:28:52", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -742,19 +880,19 @@ }, "typeName": { "baseType": { - "id": 1028, + "id": 4342, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "860:7:8", + "src": "1401:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1029, + "id": 4343, "length": null, "nodeType": "ArrayTypeName", - "src": "860:9:8", + "src": "1401:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -765,11 +903,11 @@ }, { "constant": false, - "id": 1034, + "id": 4348, "name": "allTokensIndex", "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "955:51:8", + "scope": 4715, + "src": "1496:51:52", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -777,28 +915,28 @@ "typeString": "mapping(uint256 => uint256)" }, "typeName": { - "id": 1033, + "id": 4347, "keyType": { - "id": 1031, + "id": 4345, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "963:7:8", + "src": "1504:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "955:27:8", + "src": "1496:27:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" }, "valueType": { - "id": 1032, + "id": 4346, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "974:7:8", + "src": "1515:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -810,11 +948,11 @@ }, { "constant": false, - "id": 1038, + "id": 4352, "name": "tokenURIs", "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "1048:45:8", + "scope": 4715, + "src": "1589:45:52", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -822,28 +960,28 @@ "typeString": "mapping(uint256 => string)" }, "typeName": { - "id": 1037, + "id": 4351, "keyType": { - "id": 1035, + "id": 4349, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1056:7:8", + "src": "1597:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "1048:26:8", + "src": "1589:26:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string)" }, "valueType": { - "id": 1036, + "id": 4350, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1067:6:8", + "src": "1608:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -855,26 +993,26 @@ }, { "body": { - "id": 1057, + "id": 4371, "nodeType": "Block", - "src": "1236:47:8", + "src": "1777:47:52", "statements": [ { "expression": { "argumentTypes": null, - "id": 1051, + "id": 4365, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1049, + "id": 4363, "name": "name_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1016, - "src": "1242:5:8", + "referencedDeclaration": 4330, + "src": "1783:5:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -884,43 +1022,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1050, + "id": 4364, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "1250:5:8", + "referencedDeclaration": 4354, + "src": "1791:5:52", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "1242:13:8", + "src": "1783:13:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 1052, + "id": 4366, "nodeType": "ExpressionStatement", - "src": "1242:13:8" + "src": "1783:13:52" }, { "expression": { "argumentTypes": null, - "id": 1055, + "id": 4369, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1053, + "id": 4367, "name": "symbol_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "1261:7:8", + "referencedDeclaration": 4332, + "src": "1802:7:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -930,31 +1068,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1054, + "id": 4368, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1042, - "src": "1271:7:8", + "referencedDeclaration": 4356, + "src": "1812:7:52", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "1261:17:8", + "src": "1802:17:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 1056, + "id": 4370, "nodeType": "ExpressionStatement", - "src": "1261:17:8" + "src": "1802:17:52" } ] }, "documentation": "@dev Constructor function", - "id": 1058, + "id": 4372, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -964,14 +1102,14 @@ { "argumentTypes": null, "hexValue": "455243373231546f6b656e", - "id": 1045, + "id": 4359, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1212:13:8", + "src": "1753:13:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2c817c6313458c967fa5089301c436cc3b6a4c156f9ef2a88b21aef0280ef044", @@ -982,14 +1120,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 1046, + "id": 4360, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1227:7:8", + "src": "1768:7:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -998,37 +1136,37 @@ "value": "1.9.0" } ], - "id": 1047, + "id": 4361, "modifierName": { "argumentTypes": null, - "id": 1044, + "id": 4358, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1476, - "src": "1198:13:8", + "referencedDeclaration": 4811, + "src": "1739:13:52", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "1198:37:8" + "src": "1739:37:52" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 1043, + "id": 4357, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1040, + "id": 4354, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 1058, - "src": "1161:12:8", + "scope": 4372, + "src": "1702:12:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1036,10 +1174,10 @@ "typeString": "string" }, "typeName": { - "id": 1039, + "id": 4353, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1161:6:8", + "src": "1702:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1050,11 +1188,11 @@ }, { "constant": false, - "id": 1042, + "id": 4356, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 1058, - "src": "1175:14:8", + "scope": 4372, + "src": "1716:14:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1062,10 +1200,10 @@ "typeString": "string" }, "typeName": { - "id": 1041, + "id": 4355, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1175:6:8", + "src": "1716:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1075,50 +1213,338 @@ "visibility": "internal" } ], - "src": "1160:30:8" + "src": "1701:30:52" }, "payable": false, "returnParameters": { - "id": 1048, + "id": 4362, "nodeType": "ParameterList", "parameters": [], - "src": "1236:0:8" + "src": "1777:0:52" }, - "scope": 1380, - "src": "1141:142:8", + "scope": 4715, + "src": "1682:142:52", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1065, + "id": 4392, "nodeType": "Block", - "src": "1422:23:8", + "src": "1920:162:52", "statements": [ { "expression": { "argumentTypes": null, - "id": 1063, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4381, + "name": "_interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4374, + "src": "1958:12:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "argumentTypes": null, + "id": 4379, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4957, + "src": "1933:5:52", + "typeDescriptions": { + "typeIdentifier": "t_super$_ERC721Token_$4715", + "typeString": "contract super ERC721Token" + } + }, + "id": 4380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "_supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 3768, + "src": "1933:24:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 4382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1933:38:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 4385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4383, + "name": "_interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4374, + "src": "1981:12:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 4384, + "name": "InterfaceId_ERC721Enumerable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4325, + "src": "1997:28:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1981:44:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1933:92:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 4389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4387, + "name": "_interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4374, + "src": "2035:12:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 4388, + "name": "InterfaceId_ERC721Metadata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4328, + "src": "2051:26:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "2035:42:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1933:144:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4378, + "id": 4391, + "nodeType": "Return", + "src": "1926:151:52" + } + ] + }, + "documentation": null, + "id": 4393, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "_supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4374, + "name": "_interfaceId", + "nodeType": "VariableDeclaration", + "scope": 4393, + "src": "1856:19:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 4373, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1856:6:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1855:21:52" + }, + "payable": false, + "returnParameters": { + "id": 4378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4377, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4393, + "src": "1912:4:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4376, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1912:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1911:6:52" + }, + "scope": 4715, + "src": "1828:254:52", + "stateMutability": "view", + "superFunction": 3768, + "visibility": "internal" + }, + { + "body": { + "id": 4400, + "nodeType": "Block", + "src": "2223:23:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4398, "name": "name_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1016, - "src": "1435:5:8", + "referencedDeclaration": 4330, + "src": "2236:5:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 1062, - "id": 1064, + "functionReturnParameters": 4397, + "id": 4399, "nodeType": "Return", - "src": "1428:12:8" + "src": "2229:12:52" } ] }, "documentation": "@dev Gets the token name\n@return string representing the token name", - "id": 1066, + "id": 4401, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1126,23 +1552,23 @@ "name": "name", "nodeType": "FunctionDefinition", "parameters": { - "id": 1059, + "id": 4394, "nodeType": "ParameterList", "parameters": [], - "src": "1390:2:8" + "src": "2189:2:52" }, "payable": false, "returnParameters": { - "id": 1062, + "id": 4397, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1061, + "id": 4396, "name": "", "nodeType": "VariableDeclaration", - "scope": 1066, - "src": "1414:6:8", + "scope": 4401, + "src": "2215:6:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1150,10 +1576,10 @@ "typeString": "string" }, "typeName": { - "id": 1060, + "id": 4395, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1414:6:8", + "src": "2215:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1163,43 +1589,43 @@ "visibility": "internal" } ], - "src": "1413:8:8" + "src": "2214:8:52" }, - "scope": 1380, - "src": "1377:68:8", + "scope": 4715, + "src": "2176:70:52", "stateMutability": "view", - "superFunction": 276, - "visibility": "public" + "superFunction": 3544, + "visibility": "external" }, { "body": { - "id": 1073, + "id": 4408, "nodeType": "Block", - "src": "1590:25:8", + "src": "2393:25:52", "statements": [ { "expression": { "argumentTypes": null, - "id": 1071, + "id": 4406, "name": "symbol_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "1603:7:8", + "referencedDeclaration": 4332, + "src": "2406:7:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 1070, - "id": 1072, + "functionReturnParameters": 4405, + "id": 4407, "nodeType": "Return", - "src": "1596:14:8" + "src": "2399:14:52" } ] }, "documentation": "@dev Gets the token symbol\n@return string representing the token symbol", - "id": 1074, + "id": 4409, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1207,23 +1633,23 @@ "name": "symbol", "nodeType": "FunctionDefinition", "parameters": { - "id": 1067, + "id": 4402, "nodeType": "ParameterList", "parameters": [], - "src": "1558:2:8" + "src": "2359:2:52" }, "payable": false, "returnParameters": { - "id": 1070, + "id": 4405, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1069, + "id": 4404, "name": "", "nodeType": "VariableDeclaration", - "scope": 1074, - "src": "1582:6:8", + "scope": 4409, + "src": "2385:6:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1231,10 +1657,10 @@ "typeString": "string" }, "typeName": { - "id": 1068, + "id": 4403, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1582:6:8", + "src": "2385:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1244,19 +1670,19 @@ "visibility": "internal" } ], - "src": "1581:8:8" + "src": "2384:8:52" }, - "scope": 1380, - "src": "1543:72:8", + "scope": 4715, + "src": "2344:74:52", "stateMutability": "view", - "superFunction": 281, - "visibility": "public" + "superFunction": 3549, + "visibility": "external" }, { "body": { - "id": 1091, + "id": 4426, "nodeType": "Block", - "src": "1873:68:8", + "src": "2671:68:52", "statements": [ { "expression": { @@ -1267,12 +1693,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1083, + "id": 4418, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1076, - "src": "1894:8:8", + "referencedDeclaration": 4411, + "src": "2692:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1286,20 +1712,20 @@ "typeString": "uint256" } ], - "id": 1082, + "id": 4417, "name": "exists", "nodeType": "Identifier", "overloadedDeclarations": [ - 531 + 3832 ], - "referencedDeclaration": 531, - "src": "1887:6:8", + "referencedDeclaration": 3832, + "src": "2685:6:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 1084, + "id": 4419, "isConstant": false, "isLValue": false, "isPure": false, @@ -1307,7 +1733,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1887:16:8", + "src": "2685:16:52", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1321,21 +1747,21 @@ "typeString": "bool" } ], - "id": 1081, + "id": 4416, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "1879:7:8", + "referencedDeclaration": 4882, + "src": "2677:7:52", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1085, + "id": 4420, "isConstant": false, "isLValue": false, "isPure": false, @@ -1343,41 +1769,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1879:25:8", + "src": "2677:25:52", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1086, + "id": 4421, "nodeType": "ExpressionStatement", - "src": "1879:25:8" + "src": "2677:25:52" }, { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1087, + "id": 4422, "name": "tokenURIs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1038, - "src": "1917:9:8", + "referencedDeclaration": 4352, + "src": "2715:9:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string storage ref)" } }, - "id": 1089, + "id": 4424, "indexExpression": { "argumentTypes": null, - "id": 1088, + "id": 4423, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1076, - "src": "1927:8:8", + "referencedDeclaration": 4411, + "src": "2725:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1388,21 +1814,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1917:19:8", + "src": "2715:19:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 1080, - "id": 1090, + "functionReturnParameters": 4415, + "id": 4425, "nodeType": "Return", - "src": "1910:26:8" + "src": "2708:26:52" } ] }, - "documentation": "@dev Returns an URI for a given token ID\n@dev Throws if the token ID does not exist. May return an empty string.\n@param _tokenId uint256 ID of the token to query", - "id": 1092, + "documentation": "@dev Returns an URI for a given token ID\nThrows if the token ID does not exist. May return an empty string.\n@param _tokenId uint256 ID of the token to query", + "id": 4427, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1410,16 +1836,16 @@ "name": "tokenURI", "nodeType": "FunctionDefinition", "parameters": { - "id": 1077, + "id": 4412, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1076, + "id": 4411, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 1092, - "src": "1826:16:8", + "scope": 4427, + "src": "2624:16:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1427,10 +1853,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1075, + "id": 4410, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1826:7:8", + "src": "2624:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1440,20 +1866,20 @@ "visibility": "internal" } ], - "src": "1825:18:8" + "src": "2623:18:52" }, "payable": false, "returnParameters": { - "id": 1080, + "id": 4415, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1079, + "id": 4414, "name": "", "nodeType": "VariableDeclaration", - "scope": 1092, - "src": "1865:6:8", + "scope": 4427, + "src": "2663:6:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1461,10 +1887,10 @@ "typeString": "string" }, "typeName": { - "id": 1078, + "id": 4413, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1865:6:8", + "src": "2663:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1474,19 +1900,19 @@ "visibility": "internal" } ], - "src": "1864:8:8" + "src": "2662:8:52" }, - "scope": 1380, - "src": "1808:133:8", + "scope": 4715, + "src": "2606:133:52", "stateMutability": "view", - "superFunction": 288, + "superFunction": 3556, "visibility": "public" }, { "body": { - "id": 1115, + "id": 4450, "nodeType": "Block", - "src": "2393:86:8", + "src": "3217:86:52", "statements": [ { "expression": { @@ -1498,19 +1924,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1106, + "id": 4441, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1102, + "id": 4437, "name": "_index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1096, - "src": "2407:6:8", + "referencedDeclaration": 4431, + "src": "3231:6:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1523,12 +1949,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1104, + "id": 4439, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1094, - "src": "2426:6:8", + "referencedDeclaration": 4429, + "src": "3250:6:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1542,20 +1968,20 @@ "typeString": "address" } ], - "id": 1103, + "id": 4438, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 487 + 3788 ], - "referencedDeclaration": 487, - "src": "2416:9:8", + "referencedDeclaration": 3788, + "src": "3240:9:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 1105, + "id": 4440, "isConstant": false, "isLValue": false, "isPure": false, @@ -1563,13 +1989,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2416:17:8", + "src": "3240:17:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2407:26:8", + "src": "3231:26:52", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1583,21 +2009,21 @@ "typeString": "bool" } ], - "id": 1101, + "id": 4436, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "2399:7:8", + "referencedDeclaration": 4882, + "src": "3223:7:52", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1107, + "id": 4442, "isConstant": false, "isLValue": false, "isPure": false, @@ -1605,15 +2031,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2399:35:8", + "src": "3223:35:52", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1108, + "id": 4443, "nodeType": "ExpressionStatement", - "src": "2399:35:8" + "src": "3223:35:52" }, { "expression": { @@ -1622,26 +2048,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1109, + "id": 4444, "name": "ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "2447:11:8", + "referencedDeclaration": 4337, + "src": "3271:11:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1111, + "id": 4446, "indexExpression": { "argumentTypes": null, - "id": 1110, + "id": 4445, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1094, - "src": "2459:6:8", + "referencedDeclaration": 4429, + "src": "3283:6:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1652,21 +2078,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2447:19:8", + "src": "3271:19:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1113, + "id": 4448, "indexExpression": { "argumentTypes": null, - "id": 1112, + "id": 4447, "name": "_index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1096, - "src": "2467:6:8", + "referencedDeclaration": 4431, + "src": "3291:6:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1677,21 +2103,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2447:27:8", + "src": "3271:27:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1100, - "id": 1114, + "functionReturnParameters": 4435, + "id": 4449, "nodeType": "Return", - "src": "2440:34:8" + "src": "3264:34:52" } ] }, "documentation": "@dev Gets the token ID at a given index of the tokens list of the requested owner\n@param _owner address owning the tokens list to be accessed\n@param _index uint256 representing the index to be accessed of the requested tokens list\n@return uint256 token ID at the given index of the tokens list owned by the requested address", - "id": 1116, + "id": 4451, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1699,16 +2125,16 @@ "name": "tokenOfOwnerByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 1097, + "id": 4432, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1094, + "id": 4429, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1116, - "src": "2331:14:8", + "scope": 4451, + "src": "3134:14:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1716,10 +2142,10 @@ "typeString": "address" }, "typeName": { - "id": 1093, + "id": 4428, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2331:7:8", + "src": "3134:7:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1730,11 +2156,11 @@ }, { "constant": false, - "id": 1096, + "id": 4431, "name": "_index", "nodeType": "VariableDeclaration", - "scope": 1116, - "src": "2347:14:8", + "scope": 4451, + "src": "3154:14:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1742,10 +2168,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1095, + "id": 4430, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2347:7:8", + "src": "3154:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1755,20 +2181,20 @@ "visibility": "internal" } ], - "src": "2330:32:8" + "src": "3128:44:52" }, "payable": false, "returnParameters": { - "id": 1100, + "id": 4435, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1099, + "id": 4434, "name": "", "nodeType": "VariableDeclaration", - "scope": 1116, - "src": "2384:7:8", + "scope": 4451, + "src": "3206:7:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1776,10 +2202,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1098, + "id": 4433, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2384:7:8", + "src": "3206:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1789,37 +2215,37 @@ "visibility": "internal" } ], - "src": "2383:9:8" + "src": "3205:9:52" }, - "scope": 1380, - "src": "2302:177:8", + "scope": 4715, + "src": "3100:203:52", "stateMutability": "view", - "superFunction": 261, + "superFunction": 3529, "visibility": "public" }, { "body": { - "id": 1124, + "id": 4459, "nodeType": "Block", - "src": "2674:34:8", + "src": "3498:34:52", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1121, + "id": 4456, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "2687:9:8", + "referencedDeclaration": 4344, + "src": "3511:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1122, + "id": 4457, "isConstant": false, "isLValue": true, "isPure": false, @@ -1827,21 +2253,21 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2687:16:8", + "src": "3511:16:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1120, - "id": 1123, + "functionReturnParameters": 4455, + "id": 4458, "nodeType": "Return", - "src": "2680:23:8" + "src": "3504:23:52" } ] }, "documentation": "@dev Gets the total amount of tokens stored by the contract\n@return uint256 representing the total amount of tokens", - "id": 1125, + "id": 4460, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1849,23 +2275,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 1117, + "id": 4452, "nodeType": "ParameterList", "parameters": [], - "src": "2641:2:8" + "src": "3465:2:52" }, "payable": false, "returnParameters": { - "id": 1120, + "id": 4455, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1119, + "id": 4454, "name": "", "nodeType": "VariableDeclaration", - "scope": 1125, - "src": "2665:7:8", + "scope": 4460, + "src": "3489:7:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1873,10 +2299,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1118, + "id": 4453, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2665:7:8", + "src": "3489:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1886,19 +2312,19 @@ "visibility": "internal" } ], - "src": "2664:9:8" + "src": "3488:9:52" }, - "scope": 1380, - "src": "2621:87:8", + "scope": 4715, + "src": "3445:87:52", "stateMutability": "view", - "superFunction": 252, + "superFunction": 3520, "visibility": "public" }, { "body": { - "id": 1143, + "id": 4478, "nodeType": "Block", - "src": "3105:72:8", + "src": "3924:72:52", "statements": [ { "expression": { @@ -1910,19 +2336,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1136, + "id": 4471, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1133, + "id": 4468, "name": "_index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1127, - "src": "3119:6:8", + "referencedDeclaration": 4462, + "src": "3938:6:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1935,20 +2361,20 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1134, + "id": 4469, "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [ - 1125 + 4460 ], - "referencedDeclaration": 1125, - "src": "3128:11:8", + "referencedDeclaration": 4460, + "src": "3947:11:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 1135, + "id": 4470, "isConstant": false, "isLValue": false, "isPure": false, @@ -1956,13 +2382,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3128:13:8", + "src": "3947:13:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3119:22:8", + "src": "3938:22:52", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1976,21 +2402,21 @@ "typeString": "bool" } ], - "id": 1132, + "id": 4467, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "3111:7:8", + "referencedDeclaration": 4882, + "src": "3930:7:52", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1137, + "id": 4472, "isConstant": false, "isLValue": false, "isPure": false, @@ -1998,41 +2424,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3111:31:8", + "src": "3930:31:52", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1138, + "id": 4473, "nodeType": "ExpressionStatement", - "src": "3111:31:8" + "src": "3930:31:52" }, { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1139, + "id": 4474, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "3155:9:8", + "referencedDeclaration": 4344, + "src": "3974:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1141, + "id": 4476, "indexExpression": { "argumentTypes": null, - "id": 1140, + "id": 4475, "name": "_index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1127, - "src": "3165:6:8", + "referencedDeclaration": 4462, + "src": "3984:6:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2043,21 +2469,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3155:17:8", + "src": "3974:17:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1131, - "id": 1142, + "functionReturnParameters": 4466, + "id": 4477, "nodeType": "Return", - "src": "3148:24:8" + "src": "3967:24:52" } ] }, - "documentation": "@dev Gets the token ID at a given index of all the tokens in this contract\n@dev Reverts if the index is greater or equal to the total number of tokens\n@param _index uint256 representing the index to be accessed of the tokens list\n@return uint256 token ID at the given index of the tokens list", - "id": 1144, + "documentation": "@dev Gets the token ID at a given index of all the tokens in this contract\nReverts if the index is greater or equal to the total number of tokens\n@param _index uint256 representing the index to be accessed of the tokens list\n@return uint256 token ID at the given index of the tokens list", + "id": 4479, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2065,16 +2491,16 @@ "name": "tokenByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 1128, + "id": 4463, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1127, + "id": 4462, "name": "_index", "nodeType": "VariableDeclaration", - "scope": 1144, - "src": "3059:14:8", + "scope": 4479, + "src": "3878:14:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2082,10 +2508,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1126, + "id": 4461, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3059:7:8", + "src": "3878:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2095,20 +2521,20 @@ "visibility": "internal" } ], - "src": "3058:16:8" + "src": "3877:16:52" }, "payable": false, "returnParameters": { - "id": 1131, + "id": 4466, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1130, + "id": 4465, "name": "", "nodeType": "VariableDeclaration", - "scope": 1144, - "src": "3096:7:8", + "scope": 4479, + "src": "3915:7:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2116,10 +2542,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1129, + "id": 4464, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3096:7:8", + "src": "3915:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2129,19 +2555,19 @@ "visibility": "internal" } ], - "src": "3095:9:8" + "src": "3914:9:52" }, - "scope": 1380, - "src": "3037:140:8", + "scope": 4715, + "src": "3856:140:52", "stateMutability": "view", - "superFunction": 268, + "superFunction": 3536, "visibility": "public" }, { "body": { - "id": 1163, + "id": 4498, "nodeType": "Block", - "src": "3469:68:8", + "src": "4283:68:52", "statements": [ { "expression": { @@ -2152,12 +2578,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1153, + "id": 4488, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "3490:8:8", + "referencedDeclaration": 4481, + "src": "4304:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2171,20 +2597,20 @@ "typeString": "uint256" } ], - "id": 1152, + "id": 4487, "name": "exists", "nodeType": "Identifier", "overloadedDeclarations": [ - 531 + 3832 ], - "referencedDeclaration": 531, - "src": "3483:6:8", + "referencedDeclaration": 3832, + "src": "4297:6:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 1154, + "id": 4489, "isConstant": false, "isLValue": false, "isPure": false, @@ -2192,7 +2618,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3483:16:8", + "src": "4297:16:52", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2206,21 +2632,21 @@ "typeString": "bool" } ], - "id": 1151, + "id": 4486, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "3475:7:8", + "referencedDeclaration": 4882, + "src": "4289:7:52", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1155, + "id": 4490, "isConstant": false, "isLValue": false, "isPure": false, @@ -2228,20 +2654,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3475:25:8", + "src": "4289:25:52", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1156, + "id": 4491, "nodeType": "ExpressionStatement", - "src": "3475:25:8" + "src": "4289:25:52" }, { "expression": { "argumentTypes": null, - "id": 1161, + "id": 4496, "isConstant": false, "isLValue": false, "isPure": false, @@ -2250,26 +2676,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1157, + "id": 4492, "name": "tokenURIs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1038, - "src": "3506:9:8", + "referencedDeclaration": 4352, + "src": "4320:9:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string storage ref)" } }, - "id": 1159, + "id": 4494, "indexExpression": { "argumentTypes": null, - "id": 1158, + "id": 4493, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "3516:8:8", + "referencedDeclaration": 4481, + "src": "4330:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2280,7 +2706,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3506:19:8", + "src": "4320:19:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -2290,31 +2716,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1160, + "id": 4495, "name": "_uri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3528:4:8", + "referencedDeclaration": 4483, + "src": "4342:4:52", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3506:26:8", + "src": "4320:26:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 1162, + "id": 4497, "nodeType": "ExpressionStatement", - "src": "3506:26:8" + "src": "4320:26:52" } ] }, - "documentation": "@dev Internal function to set the token URI for a given token\n@dev Reverts if the token ID does not exist\n@param _tokenId uint256 ID of the token to set its URI\n@param _uri string URI to assign", - "id": 1164, + "documentation": "@dev Internal function to set the token URI for a given token\nReverts if the token ID does not exist\n@param _tokenId uint256 ID of the token to set its URI\n@param _uri string URI to assign", + "id": 4499, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2322,16 +2748,16 @@ "name": "_setTokenURI", "nodeType": "FunctionDefinition", "parameters": { - "id": 1149, + "id": 4484, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1146, + "id": 4481, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 1164, - "src": "3429:16:8", + "scope": 4499, + "src": "4243:16:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2339,10 +2765,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1145, + "id": 4480, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3429:7:8", + "src": "4243:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2353,11 +2779,11 @@ }, { "constant": false, - "id": 1148, + "id": 4483, "name": "_uri", "nodeType": "VariableDeclaration", - "scope": 1164, - "src": "3447:11:8", + "scope": 4499, + "src": "4261:11:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2365,10 +2791,10 @@ "typeString": "string" }, "typeName": { - "id": 1147, + "id": 4482, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3447:6:8", + "src": "4261:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2378,26 +2804,26 @@ "visibility": "internal" } ], - "src": "3428:31:8" + "src": "4242:31:52" }, "payable": false, "returnParameters": { - "id": 1150, + "id": 4485, "nodeType": "ParameterList", "parameters": [], - "src": "3469:0:8" + "src": "4283:0:52" }, - "scope": 1380, - "src": "3407:130:8", + "scope": 4715, + "src": "4221:130:52", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1198, + "id": 4533, "nodeType": "Block", - "src": "3860:166:8", + "src": "4674:166:52", "statements": [ { "expression": { @@ -2405,12 +2831,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1174, + "id": 4509, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1166, - "src": "3883:3:8", + "referencedDeclaration": 4501, + "src": "4697:3:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2418,12 +2844,12 @@ }, { "argumentTypes": null, - "id": 1175, + "id": 4510, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1168, - "src": "3888:8:8", + "referencedDeclaration": 4503, + "src": "4702:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2443,32 +2869,32 @@ ], "expression": { "argumentTypes": null, - "id": 1171, + "id": 4506, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1576, - "src": "3866:5:8", + "referencedDeclaration": 4957, + "src": "4680:5:52", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721Token_$1380", + "typeIdentifier": "t_super$_ERC721Token_$4715", "typeString": "contract super ERC721Token" } }, - "id": 1173, + "id": 4508, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "addTokenTo", "nodeType": "MemberAccess", - "referencedDeclaration": 912, - "src": "3866:16:8", + "referencedDeclaration": 4191, + "src": "4680:16:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1176, + "id": 4511, "isConstant": false, "isLValue": false, "isPure": false, @@ -2476,28 +2902,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3866:31:8", + "src": "4680:31:52", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1177, + "id": 4512, "nodeType": "ExpressionStatement", - "src": "3866:31:8" + "src": "4680:31:52" }, { "assignments": [ - 1179 + 4514 ], "declarations": [ { "constant": false, - "id": 1179, + "id": 4514, "name": "length", "nodeType": "VariableDeclaration", - "scope": 1199, - "src": "3903:14:8", + "scope": 4534, + "src": "4717:14:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2505,10 +2931,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1178, + "id": 4513, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3903:7:8", + "src": "4717:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2518,33 +2944,33 @@ "visibility": "internal" } ], - "id": 1184, + "id": 4519, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1180, + "id": 4515, "name": "ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "3920:11:8", + "referencedDeclaration": 4337, + "src": "4734:11:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1182, + "id": 4517, "indexExpression": { "argumentTypes": null, - "id": 1181, + "id": 4516, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1166, - "src": "3932:3:8", + "referencedDeclaration": 4501, + "src": "4746:3:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2555,13 +2981,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3920:16:8", + "src": "4734:16:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1183, + "id": 4518, "isConstant": false, "isLValue": true, "isPure": false, @@ -2569,14 +2995,14 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3920:23:8", + "src": "4734:23:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3903:40:8" + "src": "4717:40:52" }, { "expression": { @@ -2584,12 +3010,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1189, + "id": 4524, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1168, - "src": "3971:8:8", + "referencedDeclaration": 4503, + "src": "4785:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2607,26 +3033,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1185, + "id": 4520, "name": "ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "3949:11:8", + "referencedDeclaration": 4337, + "src": "4763:11:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1187, + "id": 4522, "indexExpression": { "argumentTypes": null, - "id": 1186, + "id": 4521, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1166, - "src": "3961:3:8", + "referencedDeclaration": 4501, + "src": "4775:3:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2637,13 +3063,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3949:16:8", + "src": "4763:16:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1188, + "id": 4523, "isConstant": false, "isLValue": false, "isPure": false, @@ -2651,13 +3077,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3949:21:8", + "src": "4763:21:52", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) returns (uint256)" } }, - "id": 1190, + "id": 4525, "isConstant": false, "isLValue": false, "isPure": false, @@ -2665,20 +3091,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3949:31:8", + "src": "4763:31:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1191, + "id": 4526, "nodeType": "ExpressionStatement", - "src": "3949:31:8" + "src": "4763:31:52" }, { "expression": { "argumentTypes": null, - "id": 1196, + "id": 4531, "isConstant": false, "isLValue": false, "isPure": false, @@ -2687,26 +3113,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1192, + "id": 4527, "name": "ownedTokensIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1027, - "src": "3986:16:8", + "referencedDeclaration": 4341, + "src": "4800:16:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 1194, + "id": 4529, "indexExpression": { "argumentTypes": null, - "id": 1193, + "id": 4528, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1168, - "src": "4003:8:8", + "referencedDeclaration": 4503, + "src": "4817:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2717,7 +3143,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3986:26:8", + "src": "4800:26:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2727,31 +3153,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1195, + "id": 4530, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1179, - "src": "4015:6:8", + "referencedDeclaration": 4514, + "src": "4829:6:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3986:35:8", + "src": "4800:35:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1197, + "id": 4532, "nodeType": "ExpressionStatement", - "src": "3986:35:8" + "src": "4800:35:52" } ] }, "documentation": "@dev Internal function to add a token ID to the list of a given address\n@param _to address representing the new owner of the given token ID\n@param _tokenId uint256 ID of the token to be added to the tokens list of the given address", - "id": 1199, + "id": 4534, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2759,16 +3185,16 @@ "name": "addTokenTo", "nodeType": "FunctionDefinition", "parameters": { - "id": 1169, + "id": 4504, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1166, + "id": 4501, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1199, - "src": "3820:11:8", + "scope": 4534, + "src": "4634:11:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2776,10 +3202,10 @@ "typeString": "address" }, "typeName": { - "id": 1165, + "id": 4500, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3820:7:8", + "src": "4634:7:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2790,11 +3216,11 @@ }, { "constant": false, - "id": 1168, + "id": 4503, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 1199, - "src": "3833:16:8", + "scope": 4534, + "src": "4647:16:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2802,10 +3228,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1167, + "id": 4502, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3833:7:8", + "src": "4647:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2815,26 +3241,26 @@ "visibility": "internal" } ], - "src": "3819:31:8" + "src": "4633:31:52" }, "payable": false, "returnParameters": { - "id": 1170, + "id": 4505, "nodeType": "ParameterList", "parameters": [], - "src": "3860:0:8" + "src": "4674:0:52" }, - "scope": 1380, - "src": "3800:226:8", + "scope": 4715, + "src": "4614:226:52", "stateMutability": "nonpayable", - "superFunction": 912, + "superFunction": 4191, "visibility": "internal" }, { "body": { - "id": 1271, + "id": 4606, "nodeType": "Block", - "src": "4372:789:8", + "src": "5186:789:52", "statements": [ { "expression": { @@ -2842,12 +3268,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1209, + "id": 4544, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "4400:5:8", + "referencedDeclaration": 4536, + "src": "5214:5:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2855,12 +3281,12 @@ }, { "argumentTypes": null, - "id": 1210, + "id": 4545, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1203, - "src": "4407:8:8", + "referencedDeclaration": 4538, + "src": "5221:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2880,32 +3306,32 @@ ], "expression": { "argumentTypes": null, - "id": 1206, + "id": 4541, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1576, - "src": "4378:5:8", + "referencedDeclaration": 4957, + "src": "5192:5:52", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721Token_$1380", + "typeIdentifier": "t_super$_ERC721Token_$4715", "typeString": "contract super ERC721Token" } }, - "id": 1208, + "id": 4543, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "removeTokenFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 947, - "src": "4378:21:8", + "referencedDeclaration": 4226, + "src": "5192:21:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1211, + "id": 4546, "isConstant": false, "isLValue": false, "isPure": false, @@ -2913,28 +3339,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4378:38:8", + "src": "5192:38:52", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1212, + "id": 4547, "nodeType": "ExpressionStatement", - "src": "4378:38:8" + "src": "5192:38:52" }, { "assignments": [ - 1214 + 4549 ], "declarations": [ { "constant": false, - "id": 1214, + "id": 4549, "name": "tokenIndex", "nodeType": "VariableDeclaration", - "scope": 1272, - "src": "4423:18:8", + "scope": 4607, + "src": "5237:18:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2942,10 +3368,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1213, + "id": 4548, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4423:7:8", + "src": "5237:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2955,31 +3381,31 @@ "visibility": "internal" } ], - "id": 1218, + "id": 4553, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1215, + "id": 4550, "name": "ownedTokensIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1027, - "src": "4444:16:8", + "referencedDeclaration": 4341, + "src": "5258:16:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 1217, + "id": 4552, "indexExpression": { "argumentTypes": null, - "id": 1216, + "id": 4551, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1203, - "src": "4461:8:8", + "referencedDeclaration": 4538, + "src": "5275:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2990,27 +3416,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4444:26:8", + "src": "5258:26:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4423:47:8" + "src": "5237:47:52" }, { "assignments": [ - 1220 + 4555 ], "declarations": [ { "constant": false, - "id": 1220, + "id": 4555, "name": "lastTokenIndex", "nodeType": "VariableDeclaration", - "scope": 1272, - "src": "4476:22:8", + "scope": 4607, + "src": "5290:22:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3018,10 +3444,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1219, + "id": 4554, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4476:7:8", + "src": "5290:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3031,21 +3457,21 @@ "visibility": "internal" } ], - "id": 1228, + "id": 4563, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "31", - "id": 1226, + "id": 4561, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4531:1:8", + "src": "5345:1:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -3067,26 +3493,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1221, + "id": 4556, "name": "ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "4501:11:8", + "referencedDeclaration": 4337, + "src": "5315:11:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1223, + "id": 4558, "indexExpression": { "argumentTypes": null, - "id": 1222, + "id": 4557, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "4513:5:8", + "referencedDeclaration": 4536, + "src": "5327:5:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3097,13 +3523,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4501:18:8", + "src": "5315:18:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1224, + "id": 4559, "isConstant": false, "isLValue": true, "isPure": false, @@ -3111,27 +3537,27 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4501:25:8", + "src": "5315:25:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1225, + "id": 4560, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "4501:29:8", + "referencedDeclaration": 554, + "src": "5315:29:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1227, + "id": 4562, "isConstant": false, "isLValue": false, "isPure": false, @@ -3139,27 +3565,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4501:32:8", + "src": "5315:32:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4476:57:8" + "src": "5290:57:52" }, { "assignments": [ - 1230 + 4565 ], "declarations": [ { "constant": false, - "id": 1230, + "id": 4565, "name": "lastToken", "nodeType": "VariableDeclaration", - "scope": 1272, - "src": "4539:17:8", + "scope": 4607, + "src": "5353:17:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3167,10 +3593,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1229, + "id": 4564, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4539:7:8", + "src": "5353:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3180,33 +3606,33 @@ "visibility": "internal" } ], - "id": 1236, + "id": 4571, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1231, + "id": 4566, "name": "ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "4559:11:8", + "referencedDeclaration": 4337, + "src": "5373:11:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1233, + "id": 4568, "indexExpression": { "argumentTypes": null, - "id": 1232, + "id": 4567, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "4571:5:8", + "referencedDeclaration": 4536, + "src": "5385:5:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3217,21 +3643,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4559:18:8", + "src": "5373:18:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1235, + "id": 4570, "indexExpression": { "argumentTypes": null, - "id": 1234, + "id": 4569, "name": "lastTokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1220, - "src": "4578:14:8", + "referencedDeclaration": 4555, + "src": "5392:14:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3242,19 +3668,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4559:34:8", + "src": "5373:34:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4539:54:8" + "src": "5353:54:52" }, { "expression": { "argumentTypes": null, - "id": 1243, + "id": 4578, "isConstant": false, "isLValue": false, "isPure": false, @@ -3265,26 +3691,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1237, + "id": 4572, "name": "ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "4600:11:8", + "referencedDeclaration": 4337, + "src": "5414:11:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1240, + "id": 4575, "indexExpression": { "argumentTypes": null, - "id": 1238, + "id": 4573, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "4612:5:8", + "referencedDeclaration": 4536, + "src": "5426:5:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3295,21 +3721,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4600:18:8", + "src": "5414:18:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1241, + "id": 4576, "indexExpression": { "argumentTypes": null, - "id": 1239, + "id": 4574, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1214, - "src": "4619:10:8", + "referencedDeclaration": 4549, + "src": "5433:10:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3320,7 +3746,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4600:30:8", + "src": "5414:30:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3330,31 +3756,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1242, + "id": 4577, "name": "lastToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "4633:9:8", + "referencedDeclaration": 4565, + "src": "5447:9:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4600:42:8", + "src": "5414:42:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1244, + "id": 4579, "nodeType": "ExpressionStatement", - "src": "4600:42:8" + "src": "5414:42:52" }, { "expression": { "argumentTypes": null, - "id": 1251, + "id": 4586, "isConstant": false, "isLValue": false, "isPure": false, @@ -3365,26 +3791,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1245, + "id": 4580, "name": "ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "4648:11:8", + "referencedDeclaration": 4337, + "src": "5462:11:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1248, + "id": 4583, "indexExpression": { "argumentTypes": null, - "id": 1246, + "id": 4581, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "4660:5:8", + "referencedDeclaration": 4536, + "src": "5474:5:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3395,21 +3821,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4648:18:8", + "src": "5462:18:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1249, + "id": 4584, "indexExpression": { "argumentTypes": null, - "id": 1247, + "id": 4582, "name": "lastTokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1220, - "src": "4667:14:8", + "referencedDeclaration": 4555, + "src": "5481:14:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3420,7 +3846,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4648:34:8", + "src": "5462:34:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3431,14 +3857,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 1250, + "id": 4585, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4685:1:8", + "src": "5499:1:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3446,20 +3872,20 @@ }, "value": "0" }, - "src": "4648:38:8", + "src": "5462:38:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1252, + "id": 4587, "nodeType": "ExpressionStatement", - "src": "4648:38:8" + "src": "5462:38:52" }, { "expression": { "argumentTypes": null, - "id": 1257, + "id": 4592, "isConstant": false, "isLValue": false, "isPure": false, @@ -3467,33 +3893,33 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "5047:27:8", + "src": "5861:27:52", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1253, + "id": 4588, "name": "ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "5047:11:8", + "referencedDeclaration": 4337, + "src": "5861:11:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1255, + "id": 4590, "indexExpression": { "argumentTypes": null, - "id": 1254, + "id": 4589, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "5059:5:8", + "referencedDeclaration": 4536, + "src": "5873:5:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3504,13 +3930,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5047:18:8", + "src": "5861:18:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1256, + "id": 4591, "isConstant": false, "isLValue": true, "isPure": false, @@ -3518,7 +3944,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5047:25:8", + "src": "5861:25:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3529,14 +3955,14 @@ "typeString": "uint256" } }, - "id": 1258, + "id": 4593, "nodeType": "ExpressionStatement", - "src": "5047:27:8" + "src": "5861:27:52" }, { "expression": { "argumentTypes": null, - "id": 1263, + "id": 4598, "isConstant": false, "isLValue": false, "isPure": false, @@ -3545,26 +3971,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1259, + "id": 4594, "name": "ownedTokensIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1027, - "src": "5080:16:8", + "referencedDeclaration": 4341, + "src": "5894:16:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 1261, + "id": 4596, "indexExpression": { "argumentTypes": null, - "id": 1260, + "id": 4595, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1203, - "src": "5097:8:8", + "referencedDeclaration": 4538, + "src": "5911:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3575,7 +4001,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5080:26:8", + "src": "5894:26:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3586,14 +4012,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 1262, + "id": 4597, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5109:1:8", + "src": "5923:1:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3601,20 +4027,20 @@ }, "value": "0" }, - "src": "5080:30:8", + "src": "5894:30:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1264, + "id": 4599, "nodeType": "ExpressionStatement", - "src": "5080:30:8" + "src": "5894:30:52" }, { "expression": { "argumentTypes": null, - "id": 1269, + "id": 4604, "isConstant": false, "isLValue": false, "isPure": false, @@ -3623,26 +4049,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1265, + "id": 4600, "name": "ownedTokensIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1027, - "src": "5116:16:8", + "referencedDeclaration": 4341, + "src": "5930:16:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 1267, + "id": 4602, "indexExpression": { "argumentTypes": null, - "id": 1266, + "id": 4601, "name": "lastToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "5133:9:8", + "referencedDeclaration": 4565, + "src": "5947:9:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3653,7 +4079,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5116:27:8", + "src": "5930:27:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3663,31 +4089,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1268, + "id": 4603, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1214, - "src": "5146:10:8", + "referencedDeclaration": 4549, + "src": "5960:10:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5116:40:8", + "src": "5930:40:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1270, + "id": 4605, "nodeType": "ExpressionStatement", - "src": "5116:40:8" + "src": "5930:40:52" } ] }, "documentation": "@dev Internal function to remove a token ID from the list of a given address\n@param _from address representing the previous owner of the given token ID\n@param _tokenId uint256 ID of the token to be removed from the tokens list of the given address", - "id": 1272, + "id": 4607, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -3695,16 +4121,16 @@ "name": "removeTokenFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1204, + "id": 4539, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1201, + "id": 4536, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1272, - "src": "4330:13:8", + "scope": 4607, + "src": "5144:13:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3712,10 +4138,10 @@ "typeString": "address" }, "typeName": { - "id": 1200, + "id": 4535, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4330:7:8", + "src": "5144:7:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3726,11 +4152,11 @@ }, { "constant": false, - "id": 1203, + "id": 4538, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 1272, - "src": "4345:16:8", + "scope": 4607, + "src": "5159:16:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3738,10 +4164,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1202, + "id": 4537, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4345:7:8", + "src": "5159:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3751,26 +4177,26 @@ "visibility": "internal" } ], - "src": "4329:33:8" + "src": "5143:33:52" }, "payable": false, "returnParameters": { - "id": 1205, + "id": 4540, "nodeType": "ParameterList", "parameters": [], - "src": "4372:0:8" + "src": "5186:0:52" }, - "scope": 1380, - "src": "4305:856:8", + "scope": 4715, + "src": "5119:856:52", "stateMutability": "nonpayable", - "superFunction": 947, + "superFunction": 4226, "visibility": "internal" }, { "body": { - "id": 1299, + "id": 4634, "nodeType": "Block", - "src": "5482:117:8", + "src": "6291:117:52", "statements": [ { "expression": { @@ -3778,12 +4204,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1282, + "id": 4617, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1274, - "src": "5500:3:8", + "referencedDeclaration": 4609, + "src": "6309:3:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3791,12 +4217,12 @@ }, { "argumentTypes": null, - "id": 1283, + "id": 4618, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "5505:8:8", + "referencedDeclaration": 4611, + "src": "6314:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3816,32 +4242,32 @@ ], "expression": { "argumentTypes": null, - "id": 1279, + "id": 4614, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1576, - "src": "5488:5:8", + "referencedDeclaration": 4957, + "src": "6297:5:52", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721Token_$1380", + "typeIdentifier": "t_super$_ERC721Token_$4715", "typeString": "contract super ERC721Token" } }, - "id": 1281, + "id": 4616, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_mint", "nodeType": "MemberAccess", - "referencedDeclaration": 810, - "src": "5488:11:8", + "referencedDeclaration": 4097, + "src": "6297:11:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1284, + "id": 4619, "isConstant": false, "isLValue": false, "isPure": false, @@ -3849,20 +4275,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5488:26:8", + "src": "6297:26:52", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1285, + "id": 4620, "nodeType": "ExpressionStatement", - "src": "5488:26:8" + "src": "6297:26:52" }, { "expression": { "argumentTypes": null, - "id": 1291, + "id": 4626, "isConstant": false, "isLValue": false, "isPure": false, @@ -3871,26 +4297,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1286, + "id": 4621, "name": "allTokensIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1034, - "src": "5521:14:8", + "referencedDeclaration": 4348, + "src": "6330:14:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 1288, + "id": 4623, "indexExpression": { "argumentTypes": null, - "id": 1287, + "id": 4622, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "5536:8:8", + "referencedDeclaration": 4611, + "src": "6345:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3901,7 +4327,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5521:24:8", + "src": "6330:24:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3913,18 +4339,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1289, + "id": 4624, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "5548:9:8", + "referencedDeclaration": 4344, + "src": "6357:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1290, + "id": 4625, "isConstant": false, "isLValue": true, "isPure": false, @@ -3932,21 +4358,21 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5548:16:8", + "src": "6357:16:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5521:43:8", + "src": "6330:43:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1292, + "id": 4627, "nodeType": "ExpressionStatement", - "src": "5521:43:8" + "src": "6330:43:52" }, { "expression": { @@ -3954,12 +4380,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1296, + "id": 4631, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "5585:8:8", + "referencedDeclaration": 4611, + "src": "6394:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3975,18 +4401,18 @@ ], "expression": { "argumentTypes": null, - "id": 1293, + "id": 4628, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "5570:9:8", + "referencedDeclaration": 4344, + "src": "6379:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1295, + "id": 4630, "isConstant": false, "isLValue": false, "isPure": false, @@ -3994,13 +4420,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5570:14:8", + "src": "6379:14:52", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) returns (uint256)" } }, - "id": 1297, + "id": 4632, "isConstant": false, "isLValue": false, "isPure": false, @@ -4008,20 +4434,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5570:24:8", + "src": "6379:24:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1298, + "id": 4633, "nodeType": "ExpressionStatement", - "src": "5570:24:8" + "src": "6379:24:52" } ] }, - "documentation": "@dev Internal function to mint a new token\n@dev Reverts if the given token ID already exists\n@param _to address the beneficiary that will own the minted token\n@param _tokenId uint256 ID of the token to be minted by the msg.sender", - "id": 1300, + "documentation": "@dev Internal function to mint a new token\nReverts if the given token ID already exists\n@param _to address the beneficiary that will own the minted token\n@param _tokenId uint256 ID of the token to be minted by the msg.sender", + "id": 4635, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -4029,16 +4455,16 @@ "name": "_mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 1277, + "id": 4612, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1274, + "id": 4609, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1300, - "src": "5442:11:8", + "scope": 4635, + "src": "6251:11:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4046,10 +4472,10 @@ "typeString": "address" }, "typeName": { - "id": 1273, + "id": 4608, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5442:7:8", + "src": "6251:7:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4060,11 +4486,11 @@ }, { "constant": false, - "id": 1276, + "id": 4611, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 1300, - "src": "5455:16:8", + "scope": 4635, + "src": "6264:16:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4072,10 +4498,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1275, + "id": 4610, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5455:7:8", + "src": "6264:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4085,26 +4511,26 @@ "visibility": "internal" } ], - "src": "5441:31:8" + "src": "6250:31:52" }, "payable": false, "returnParameters": { - "id": 1278, + "id": 4613, "nodeType": "ParameterList", "parameters": [], - "src": "5482:0:8" + "src": "6291:0:52" }, - "scope": 1380, - "src": "5427:172:8", + "scope": 4715, + "src": "6236:172:52", "stateMutability": "nonpayable", - "superFunction": 810, + "superFunction": 4097, "visibility": "internal" }, { "body": { - "id": 1378, + "id": 4713, "nodeType": "Block", - "src": "5894:527:8", + "src": "6698:527:52", "statements": [ { "expression": { @@ -4112,12 +4538,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1310, + "id": 4645, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "5912:6:8", + "referencedDeclaration": 4637, + "src": "6716:6:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4125,12 +4551,12 @@ }, { "argumentTypes": null, - "id": 1311, + "id": 4646, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, - "src": "5920:8:8", + "referencedDeclaration": 4639, + "src": "6724:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4150,32 +4576,32 @@ ], "expression": { "argumentTypes": null, - "id": 1307, + "id": 4642, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1576, - "src": "5900:5:8", + "referencedDeclaration": 4957, + "src": "6704:5:52", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721Token_$1380", + "typeIdentifier": "t_super$_ERC721Token_$4715", "typeString": "contract super ERC721Token" } }, - "id": 1309, + "id": 4644, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_burn", "nodeType": "MemberAccess", - "referencedDeclaration": 836, - "src": "5900:11:8", + "referencedDeclaration": 4123, + "src": "6704:11:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1312, + "id": 4647, "isConstant": false, "isLValue": false, "isPure": false, @@ -4183,15 +4609,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5900:29:8", + "src": "6704:29:52", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1313, + "id": 4648, "nodeType": "ExpressionStatement", - "src": "5900:29:8" + "src": "6704:29:52" }, { "condition": { @@ -4200,7 +4626,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1321, + "id": 4656, "isConstant": false, "isLValue": false, "isPure": false, @@ -4214,26 +4640,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1315, + "id": 4650, "name": "tokenURIs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1038, - "src": "5977:9:8", + "referencedDeclaration": 4352, + "src": "6781:9:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string storage ref)" } }, - "id": 1317, + "id": 4652, "indexExpression": { "argumentTypes": null, - "id": 1316, + "id": 4651, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, - "src": "5987:8:8", + "referencedDeclaration": 4639, + "src": "6791:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4244,7 +4670,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5977:19:8", + "src": "6781:19:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -4258,20 +4684,20 @@ "typeString": "string storage ref" } ], - "id": 1314, + "id": 4649, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5971:5:8", + "src": "6775:5:52", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": "bytes" }, - "id": 1318, + "id": 4653, "isConstant": false, "isLValue": false, "isPure": false, @@ -4279,13 +4705,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5971:26:8", + "src": "6775:26:52", "typeDescriptions": { "typeIdentifier": "t_bytes_storage", "typeString": "bytes storage ref" } }, - "id": 1319, + "id": 4654, "isConstant": false, "isLValue": true, "isPure": false, @@ -4293,7 +4719,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5971:33:8", + "src": "6775:33:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4304,14 +4730,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1320, + "id": 4655, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6008:1:8", + "src": "6812:1:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4319,25 +4745,25 @@ }, "value": "0" }, - "src": "5971:38:8", + "src": "6775:38:52", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1328, + "id": 4663, "nodeType": "IfStatement", - "src": "5967:85:8", + "src": "6771:85:52", "trueBody": { - "id": 1327, + "id": 4662, "nodeType": "Block", - "src": "6011:41:8", + "src": "6815:41:52", "statements": [ { "expression": { "argumentTypes": null, - "id": 1325, + "id": 4660, "isConstant": false, "isLValue": false, "isPure": false, @@ -4345,31 +4771,31 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "6019:26:8", + "src": "6823:26:52", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1322, + "id": 4657, "name": "tokenURIs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1038, - "src": "6026:9:8", + "referencedDeclaration": 4352, + "src": "6830:9:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string storage ref)" } }, - "id": 1324, + "id": 4659, "indexExpression": { "argumentTypes": null, - "id": 1323, + "id": 4658, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, - "src": "6036:8:8", + "referencedDeclaration": 4639, + "src": "6840:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4380,7 +4806,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6026:19:8", + "src": "6830:19:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -4391,25 +4817,25 @@ "typeString": "tuple()" } }, - "id": 1326, + "id": 4661, "nodeType": "ExpressionStatement", - "src": "6019:26:8" + "src": "6823:26:52" } ] } }, { "assignments": [ - 1330 + 4665 ], "declarations": [ { "constant": false, - "id": 1330, + "id": 4665, "name": "tokenIndex", "nodeType": "VariableDeclaration", - "scope": 1379, - "src": "6088:18:8", + "scope": 4714, + "src": "6892:18:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4417,10 +4843,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1329, + "id": 4664, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6088:7:8", + "src": "6892:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4430,31 +4856,31 @@ "visibility": "internal" } ], - "id": 1334, + "id": 4669, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1331, + "id": 4666, "name": "allTokensIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1034, - "src": "6109:14:8", + "referencedDeclaration": 4348, + "src": "6913:14:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 1333, + "id": 4668, "indexExpression": { "argumentTypes": null, - "id": 1332, + "id": 4667, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, - "src": "6124:8:8", + "referencedDeclaration": 4639, + "src": "6928:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4465,27 +4891,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6109:24:8", + "src": "6913:24:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6088:45:8" + "src": "6892:45:52" }, { "assignments": [ - 1336 + 4671 ], "declarations": [ { "constant": false, - "id": 1336, + "id": 4671, "name": "lastTokenIndex", "nodeType": "VariableDeclaration", - "scope": 1379, - "src": "6139:22:8", + "scope": 4714, + "src": "6943:22:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4493,10 +4919,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1335, + "id": 4670, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6139:7:8", + "src": "6943:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4506,21 +4932,21 @@ "visibility": "internal" } ], - "id": 1342, + "id": 4677, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "31", - "id": 1340, + "id": 4675, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6185:1:8", + "src": "6989:1:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4540,18 +4966,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1337, + "id": 4672, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "6164:9:8", + "referencedDeclaration": 4344, + "src": "6968:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1338, + "id": 4673, "isConstant": false, "isLValue": true, "isPure": false, @@ -4559,27 +4985,27 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6164:16:8", + "src": "6968:16:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1339, + "id": 4674, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "6164:20:8", + "referencedDeclaration": 554, + "src": "6968:20:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1341, + "id": 4676, "isConstant": false, "isLValue": false, "isPure": false, @@ -4587,27 +5013,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6164:23:8", + "src": "6968:23:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6139:48:8" + "src": "6943:48:52" }, { "assignments": [ - 1344 + 4679 ], "declarations": [ { "constant": false, - "id": 1344, + "id": 4679, "name": "lastToken", "nodeType": "VariableDeclaration", - "scope": 1379, - "src": "6193:17:8", + "scope": 4714, + "src": "6997:17:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4615,10 +5041,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1343, + "id": 4678, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6193:7:8", + "src": "6997:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4628,31 +5054,31 @@ "visibility": "internal" } ], - "id": 1348, + "id": 4683, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1345, + "id": 4680, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "6213:9:8", + "referencedDeclaration": 4344, + "src": "7017:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1347, + "id": 4682, "indexExpression": { "argumentTypes": null, - "id": 1346, + "id": 4681, "name": "lastTokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1336, - "src": "6223:14:8", + "referencedDeclaration": 4671, + "src": "7027:14:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4663,19 +5089,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6213:25:8", + "src": "7017:25:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6193:45:8" + "src": "6997:45:52" }, { "expression": { "argumentTypes": null, - "id": 1353, + "id": 4688, "isConstant": false, "isLValue": false, "isPure": false, @@ -4684,26 +5110,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1349, + "id": 4684, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "6245:9:8", + "referencedDeclaration": 4344, + "src": "7049:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1351, + "id": 4686, "indexExpression": { "argumentTypes": null, - "id": 1350, + "id": 4685, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1330, - "src": "6255:10:8", + "referencedDeclaration": 4665, + "src": "7059:10:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4714,7 +5140,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6245:21:8", + "src": "7049:21:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4724,31 +5150,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1352, + "id": 4687, "name": "lastToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "6269:9:8", + "referencedDeclaration": 4679, + "src": "7073:9:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6245:33:8", + "src": "7049:33:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1354, + "id": 4689, "nodeType": "ExpressionStatement", - "src": "6245:33:8" + "src": "7049:33:52" }, { "expression": { "argumentTypes": null, - "id": 1359, + "id": 4694, "isConstant": false, "isLValue": false, "isPure": false, @@ -4757,26 +5183,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1355, + "id": 4690, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "6284:9:8", + "referencedDeclaration": 4344, + "src": "7088:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1357, + "id": 4692, "indexExpression": { "argumentTypes": null, - "id": 1356, + "id": 4691, "name": "lastTokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1336, - "src": "6294:14:8", + "referencedDeclaration": 4671, + "src": "7098:14:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4787,7 +5213,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6284:25:8", + "src": "7088:25:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4798,14 +5224,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 1358, + "id": 4693, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6312:1:8", + "src": "7116:1:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4813,20 +5239,20 @@ }, "value": "0" }, - "src": "6284:29:8", + "src": "7088:29:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1360, + "id": 4695, "nodeType": "ExpressionStatement", - "src": "6284:29:8" + "src": "7088:29:52" }, { "expression": { "argumentTypes": null, - "id": 1364, + "id": 4699, "isConstant": false, "isLValue": false, "isPure": false, @@ -4834,23 +5260,23 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "6320:18:8", + "src": "7124:18:52", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1361, + "id": 4696, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "6320:9:8", + "referencedDeclaration": 4344, + "src": "7124:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1363, + "id": 4698, "isConstant": false, "isLValue": true, "isPure": false, @@ -4858,7 +5284,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6320:16:8", + "src": "7124:16:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4869,14 +5295,14 @@ "typeString": "uint256" } }, - "id": 1365, + "id": 4700, "nodeType": "ExpressionStatement", - "src": "6320:18:8" + "src": "7124:18:52" }, { "expression": { "argumentTypes": null, - "id": 1370, + "id": 4705, "isConstant": false, "isLValue": false, "isPure": false, @@ -4885,26 +5311,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1366, + "id": 4701, "name": "allTokensIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1034, - "src": "6344:14:8", + "referencedDeclaration": 4348, + "src": "7148:14:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 1368, + "id": 4703, "indexExpression": { "argumentTypes": null, - "id": 1367, + "id": 4702, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, - "src": "6359:8:8", + "referencedDeclaration": 4639, + "src": "7163:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4915,7 +5341,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6344:24:8", + "src": "7148:24:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4926,14 +5352,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 1369, + "id": 4704, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6371:1:8", + "src": "7175:1:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4941,20 +5367,20 @@ }, "value": "0" }, - "src": "6344:28:8", + "src": "7148:28:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1371, + "id": 4706, "nodeType": "ExpressionStatement", - "src": "6344:28:8" + "src": "7148:28:52" }, { "expression": { "argumentTypes": null, - "id": 1376, + "id": 4711, "isConstant": false, "isLValue": false, "isPure": false, @@ -4963,26 +5389,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1372, + "id": 4707, "name": "allTokensIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1034, - "src": "6378:14:8", + "referencedDeclaration": 4348, + "src": "7182:14:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 1374, + "id": 4709, "indexExpression": { "argumentTypes": null, - "id": 1373, + "id": 4708, "name": "lastToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "6393:9:8", + "referencedDeclaration": 4679, + "src": "7197:9:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4993,7 +5419,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6378:25:8", + "src": "7182:25:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5003,31 +5429,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1375, + "id": 4710, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1330, - "src": "6406:10:8", + "referencedDeclaration": 4665, + "src": "7210:10:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6378:38:8", + "src": "7182:38:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1377, + "id": 4712, "nodeType": "ExpressionStatement", - "src": "6378:38:8" + "src": "7182:38:52" } ] }, - "documentation": "@dev Internal function to burn a specific token\n@dev Reverts if the token does not exist\n@param _owner owner of the token to burn\n@param _tokenId uint256 ID of the token being burned by the msg.sender", - "id": 1379, + "documentation": "@dev Internal function to burn a specific token\nReverts if the token does not exist\n@param _owner owner of the token to burn\n@param _tokenId uint256 ID of the token being burned by the msg.sender", + "id": 4714, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5035,16 +5461,16 @@ "name": "_burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 1305, + "id": 4640, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1302, + "id": 4637, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1379, - "src": "5851:14:8", + "scope": 4714, + "src": "6655:14:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5052,10 +5478,10 @@ "typeString": "address" }, "typeName": { - "id": 1301, + "id": 4636, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5851:7:8", + "src": "6655:7:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5066,11 +5492,11 @@ }, { "constant": false, - "id": 1304, + "id": 4639, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 1379, - "src": "5867:16:8", + "scope": 4714, + "src": "6671:16:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5078,10 +5504,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1303, + "id": 4638, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5867:7:8", + "src": "6671:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5091,40 +5517,40 @@ "visibility": "internal" } ], - "src": "5850:34:8" + "src": "6654:34:52" }, "payable": false, "returnParameters": { - "id": 1306, + "id": 4641, "nodeType": "ParameterList", "parameters": [], - "src": "5894:0:8" + "src": "6698:0:52" }, - "scope": 1380, - "src": "5836:585:8", + "scope": 4715, + "src": "6640:585:52", "stateMutability": "nonpayable", - "superFunction": 836, + "superFunction": 4123, "visibility": "internal" } ], - "scope": 1381, - "src": "429:5995:8" + "scope": 4716, + "src": "470:6758:52" } ], - "src": "0:6425:8" + "src": "0:7229:52" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Token.sol", "exportedSymbols": { "ERC721Token": [ - 1380 + 4715 ] }, - "id": 1381, + "id": 4716, "nodeType": "SourceUnit", "nodes": [ { - "id": 1005, + "id": 4310, "literals": [ "solidity", "^", @@ -5132,38 +5558,49 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:8" + "src": "0:24:52" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721.sol", "file": "./ERC721.sol", - "id": 1006, + "id": 4311, "nodeType": "ImportDirective", - "scope": 1381, - "sourceUnit": 297, - "src": "26:22:8", + "scope": 4716, + "sourceUnit": 3565, + "src": "26:22:52", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721BasicToken.sol", "file": "./ERC721BasicToken.sol", - "id": 1007, + "id": 4312, "nodeType": "ImportDirective", - "scope": 1381, - "sourceUnit": 987, - "src": "49:32:8", + "scope": 4716, + "sourceUnit": 4268, + "src": "49:32:52", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/introspection/ERC165.sol", + "file": "../../introspection/ERC165.sol", + "id": 4313, + "nodeType": "ImportDirective", + "scope": 4716, + "sourceUnit": 304, + "src": "82:40:52", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 1008, + "id": 4314, "nodeType": "ImportDirective", - "scope": 1381, - "sourceUnit": 1530, - "src": "82:53:8", + "scope": 4716, + "sourceUnit": 4865, + "src": "123:53:52", "symbolAliases": [], "unitAlias": "" }, @@ -5173,88 +5610,196 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1009, + "id": 4315, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1529, - "src": "453:10:8", + "referencedDeclaration": 4864, + "src": "494:10:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$1529", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 1010, + "id": 4316, "nodeType": "InheritanceSpecifier", - "src": "453:10:8" + "src": "494:10:52" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 1011, - "name": "ERC721", + "id": 4317, + "name": "ERC165Support", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 296, - "src": "465:6:8", + "referencedDeclaration": 336, + "src": "506:13:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$296", - "typeString": "contract ERC721" + "typeIdentifier": "t_contract$_ERC165Support_$336", + "typeString": "contract ERC165Support" } }, - "id": 1012, + "id": 4318, "nodeType": "InheritanceSpecifier", - "src": "465:6:8" + "src": "506:13:52" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 1013, + "id": 4319, "name": "ERC721BasicToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 986, - "src": "473:16:8", + "referencedDeclaration": 4267, + "src": "521:16:52", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721BasicToken_$986", + "typeIdentifier": "t_contract$_ERC721BasicToken_$4267", "typeString": "contract ERC721BasicToken" } }, - "id": 1014, + "id": 4320, "nodeType": "InheritanceSpecifier", - "src": "473:16:8" + "src": "521:16:52" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 4321, + "name": "ERC721", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3564, + "src": "539:6:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721_$3564", + "typeString": "contract ERC721" + } + }, + "id": 4322, + "nodeType": "InheritanceSpecifier", + "src": "539:6:52" } ], "contractDependencies": [ - 269, - 289, - 296, - 403, - 986, - 1529 + 303, + 336, + 3537, + 3557, + 3564, + 3674, + 4267, + 4864 ], "contractKind": "contract", "documentation": "@title Full ERC721 Token\nThis implementation includes all the required and some optional functionality of the ERC721 standard\nMoreover, it includes approve all functionality using operator terminology\n@dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", "fullyImplemented": true, - "id": 1380, + "id": 4715, "linearizedBaseContracts": [ - 1380, - 986, - 296, - 289, - 269, - 403, - 1529 + 4715, + 3564, + 3557, + 3537, + 4267, + 3674, + 336, + 303, + 4864 ], "name": "ERC721Token", "nodeType": "ContractDefinition", "nodes": [ + { + "constant": true, + "id": 4325, + "name": "InterfaceId_ERC721Enumerable", + "nodeType": "VariableDeclaration", + "scope": 4715, + "src": "551:65:52", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 4323, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "551:6:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783738306539643633", + "id": 4324, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "606:10:52", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2014223715_by_1", + "typeString": "int_const 2014223715" + }, + "value": "0x780e9d63" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 4328, + "name": "InterfaceId_ERC721Metadata", + "nodeType": "VariableDeclaration", + "scope": 4715, + "src": "814:63:52", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 4326, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "814:6:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783562356531333966", + "id": 4327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "867:10:52", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1532892063_by_1", + "typeString": "int_const 1532892063" + }, + "value": "0x5b5e139f" + }, + "visibility": "private" + }, { "constant": false, - "id": 1016, + "id": 4330, "name": "name_", "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "510:21:8", + "scope": 4715, + "src": "1052:21:52", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -5262,10 +5807,10 @@ "typeString": "string" }, "typeName": { - "id": 1015, + "id": 4329, "name": "string", "nodeType": "ElementaryTypeName", - "src": "510:6:8", + "src": "1052:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5276,11 +5821,11 @@ }, { "constant": false, - "id": 1018, + "id": 4332, "name": "symbol_", "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "554:23:8", + "scope": 4715, + "src": "1096:23:52", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -5288,10 +5833,10 @@ "typeString": "string" }, "typeName": { - "id": 1017, + "id": 4331, "name": "string", "nodeType": "ElementaryTypeName", - "src": "554:6:8", + "src": "1096:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5302,11 +5847,11 @@ }, { "constant": false, - "id": 1023, + "id": 4337, "name": "ownedTokens", "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "633:51:8", + "scope": 4715, + "src": "1175:50:52", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -5314,38 +5859,38 @@ "typeString": "mapping(address => uint256[])" }, "typeName": { - "id": 1022, + "id": 4336, "keyType": { - "id": 1019, + "id": 4333, "name": "address", "nodeType": "ElementaryTypeName", - "src": "642:7:8", + "src": "1183:7:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "633:30:8", + "src": "1175:29:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[])" }, "valueType": { "baseType": { - "id": 1020, + "id": 4334, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "653:7:8", + "src": "1194:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1021, + "id": 4335, "length": null, "nodeType": "ArrayTypeName", - "src": "653:9:8", + "src": "1194:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -5357,11 +5902,11 @@ }, { "constant": false, - "id": 1027, + "id": 4341, "name": "ownedTokensIndex", "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "750:53:8", + "scope": 4715, + "src": "1291:53:52", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -5369,28 +5914,28 @@ "typeString": "mapping(uint256 => uint256)" }, "typeName": { - "id": 1026, + "id": 4340, "keyType": { - "id": 1024, + "id": 4338, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "758:7:8", + "src": "1299:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "750:27:8", + "src": "1291:27:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" }, "valueType": { - "id": 1025, + "id": 4339, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "769:7:8", + "src": "1310:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5402,11 +5947,11 @@ }, { "constant": false, - "id": 1030, + "id": 4344, "name": "allTokens", "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "860:28:8", + "scope": 4715, + "src": "1401:28:52", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -5415,19 +5960,19 @@ }, "typeName": { "baseType": { - "id": 1028, + "id": 4342, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "860:7:8", + "src": "1401:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1029, + "id": 4343, "length": null, "nodeType": "ArrayTypeName", - "src": "860:9:8", + "src": "1401:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -5438,11 +5983,11 @@ }, { "constant": false, - "id": 1034, + "id": 4348, "name": "allTokensIndex", "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "955:51:8", + "scope": 4715, + "src": "1496:51:52", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -5450,28 +5995,28 @@ "typeString": "mapping(uint256 => uint256)" }, "typeName": { - "id": 1033, + "id": 4347, "keyType": { - "id": 1031, + "id": 4345, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "963:7:8", + "src": "1504:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "955:27:8", + "src": "1496:27:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" }, "valueType": { - "id": 1032, + "id": 4346, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "974:7:8", + "src": "1515:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5483,11 +6028,11 @@ }, { "constant": false, - "id": 1038, + "id": 4352, "name": "tokenURIs", "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "1048:45:8", + "scope": 4715, + "src": "1589:45:52", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -5495,28 +6040,28 @@ "typeString": "mapping(uint256 => string)" }, "typeName": { - "id": 1037, + "id": 4351, "keyType": { - "id": 1035, + "id": 4349, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1056:7:8", + "src": "1597:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "1048:26:8", + "src": "1589:26:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string)" }, "valueType": { - "id": 1036, + "id": 4350, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1067:6:8", + "src": "1608:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5528,26 +6073,26 @@ }, { "body": { - "id": 1057, + "id": 4371, "nodeType": "Block", - "src": "1236:47:8", + "src": "1777:47:52", "statements": [ { "expression": { "argumentTypes": null, - "id": 1051, + "id": 4365, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1049, + "id": 4363, "name": "name_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1016, - "src": "1242:5:8", + "referencedDeclaration": 4330, + "src": "1783:5:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -5557,43 +6102,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1050, + "id": 4364, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "1250:5:8", + "referencedDeclaration": 4354, + "src": "1791:5:52", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "1242:13:8", + "src": "1783:13:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 1052, + "id": 4366, "nodeType": "ExpressionStatement", - "src": "1242:13:8" + "src": "1783:13:52" }, { "expression": { "argumentTypes": null, - "id": 1055, + "id": 4369, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1053, + "id": 4367, "name": "symbol_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "1261:7:8", + "referencedDeclaration": 4332, + "src": "1802:7:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -5603,31 +6148,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1054, + "id": 4368, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1042, - "src": "1271:7:8", + "referencedDeclaration": 4356, + "src": "1812:7:52", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "1261:17:8", + "src": "1802:17:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 1056, + "id": 4370, "nodeType": "ExpressionStatement", - "src": "1261:17:8" + "src": "1802:17:52" } ] }, "documentation": "@dev Constructor function", - "id": 1058, + "id": 4372, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5637,14 +6182,14 @@ { "argumentTypes": null, "hexValue": "455243373231546f6b656e", - "id": 1045, + "id": 4359, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1212:13:8", + "src": "1753:13:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2c817c6313458c967fa5089301c436cc3b6a4c156f9ef2a88b21aef0280ef044", @@ -5655,14 +6200,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 1046, + "id": 4360, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1227:7:8", + "src": "1768:7:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -5671,37 +6216,37 @@ "value": "1.9.0" } ], - "id": 1047, + "id": 4361, "modifierName": { "argumentTypes": null, - "id": 1044, + "id": 4358, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1476, - "src": "1198:13:8", + "referencedDeclaration": 4811, + "src": "1739:13:52", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "1198:37:8" + "src": "1739:37:52" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 1043, + "id": 4357, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1040, + "id": 4354, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 1058, - "src": "1161:12:8", + "scope": 4372, + "src": "1702:12:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5709,10 +6254,10 @@ "typeString": "string" }, "typeName": { - "id": 1039, + "id": 4353, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1161:6:8", + "src": "1702:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5723,11 +6268,11 @@ }, { "constant": false, - "id": 1042, + "id": 4356, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 1058, - "src": "1175:14:8", + "scope": 4372, + "src": "1716:14:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5735,10 +6280,10 @@ "typeString": "string" }, "typeName": { - "id": 1041, + "id": 4355, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1175:6:8", + "src": "1716:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5748,50 +6293,338 @@ "visibility": "internal" } ], - "src": "1160:30:8" + "src": "1701:30:52" }, "payable": false, "returnParameters": { - "id": 1048, + "id": 4362, "nodeType": "ParameterList", "parameters": [], - "src": "1236:0:8" + "src": "1777:0:52" }, - "scope": 1380, - "src": "1141:142:8", + "scope": 4715, + "src": "1682:142:52", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1065, + "id": 4392, "nodeType": "Block", - "src": "1422:23:8", + "src": "1920:162:52", "statements": [ { "expression": { "argumentTypes": null, - "id": 1063, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4381, + "name": "_interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4374, + "src": "1958:12:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "argumentTypes": null, + "id": 4379, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4957, + "src": "1933:5:52", + "typeDescriptions": { + "typeIdentifier": "t_super$_ERC721Token_$4715", + "typeString": "contract super ERC721Token" + } + }, + "id": 4380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "_supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 3768, + "src": "1933:24:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 4382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1933:38:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 4385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4383, + "name": "_interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4374, + "src": "1981:12:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 4384, + "name": "InterfaceId_ERC721Enumerable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4325, + "src": "1997:28:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1981:44:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1933:92:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 4389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4387, + "name": "_interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4374, + "src": "2035:12:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 4388, + "name": "InterfaceId_ERC721Metadata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4328, + "src": "2051:26:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "2035:42:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1933:144:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4378, + "id": 4391, + "nodeType": "Return", + "src": "1926:151:52" + } + ] + }, + "documentation": null, + "id": 4393, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "_supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4374, + "name": "_interfaceId", + "nodeType": "VariableDeclaration", + "scope": 4393, + "src": "1856:19:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 4373, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1856:6:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1855:21:52" + }, + "payable": false, + "returnParameters": { + "id": 4378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4377, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4393, + "src": "1912:4:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4376, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1912:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1911:6:52" + }, + "scope": 4715, + "src": "1828:254:52", + "stateMutability": "view", + "superFunction": 3768, + "visibility": "internal" + }, + { + "body": { + "id": 4400, + "nodeType": "Block", + "src": "2223:23:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4398, "name": "name_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1016, - "src": "1435:5:8", + "referencedDeclaration": 4330, + "src": "2236:5:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 1062, - "id": 1064, + "functionReturnParameters": 4397, + "id": 4399, "nodeType": "Return", - "src": "1428:12:8" + "src": "2229:12:52" } ] }, "documentation": "@dev Gets the token name\n@return string representing the token name", - "id": 1066, + "id": 4401, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -5799,23 +6632,23 @@ "name": "name", "nodeType": "FunctionDefinition", "parameters": { - "id": 1059, + "id": 4394, "nodeType": "ParameterList", "parameters": [], - "src": "1390:2:8" + "src": "2189:2:52" }, "payable": false, "returnParameters": { - "id": 1062, + "id": 4397, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1061, + "id": 4396, "name": "", "nodeType": "VariableDeclaration", - "scope": 1066, - "src": "1414:6:8", + "scope": 4401, + "src": "2215:6:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5823,10 +6656,10 @@ "typeString": "string" }, "typeName": { - "id": 1060, + "id": 4395, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1414:6:8", + "src": "2215:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5836,43 +6669,43 @@ "visibility": "internal" } ], - "src": "1413:8:8" + "src": "2214:8:52" }, - "scope": 1380, - "src": "1377:68:8", + "scope": 4715, + "src": "2176:70:52", "stateMutability": "view", - "superFunction": 276, - "visibility": "public" + "superFunction": 3544, + "visibility": "external" }, { "body": { - "id": 1073, + "id": 4408, "nodeType": "Block", - "src": "1590:25:8", + "src": "2393:25:52", "statements": [ { "expression": { "argumentTypes": null, - "id": 1071, + "id": 4406, "name": "symbol_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "1603:7:8", + "referencedDeclaration": 4332, + "src": "2406:7:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 1070, - "id": 1072, + "functionReturnParameters": 4405, + "id": 4407, "nodeType": "Return", - "src": "1596:14:8" + "src": "2399:14:52" } ] }, "documentation": "@dev Gets the token symbol\n@return string representing the token symbol", - "id": 1074, + "id": 4409, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -5880,23 +6713,23 @@ "name": "symbol", "nodeType": "FunctionDefinition", "parameters": { - "id": 1067, + "id": 4402, "nodeType": "ParameterList", "parameters": [], - "src": "1558:2:8" + "src": "2359:2:52" }, "payable": false, "returnParameters": { - "id": 1070, + "id": 4405, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1069, + "id": 4404, "name": "", "nodeType": "VariableDeclaration", - "scope": 1074, - "src": "1582:6:8", + "scope": 4409, + "src": "2385:6:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5904,10 +6737,10 @@ "typeString": "string" }, "typeName": { - "id": 1068, + "id": 4403, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1582:6:8", + "src": "2385:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5917,19 +6750,19 @@ "visibility": "internal" } ], - "src": "1581:8:8" + "src": "2384:8:52" }, - "scope": 1380, - "src": "1543:72:8", + "scope": 4715, + "src": "2344:74:52", "stateMutability": "view", - "superFunction": 281, - "visibility": "public" + "superFunction": 3549, + "visibility": "external" }, { "body": { - "id": 1091, + "id": 4426, "nodeType": "Block", - "src": "1873:68:8", + "src": "2671:68:52", "statements": [ { "expression": { @@ -5940,12 +6773,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1083, + "id": 4418, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1076, - "src": "1894:8:8", + "referencedDeclaration": 4411, + "src": "2692:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5959,20 +6792,20 @@ "typeString": "uint256" } ], - "id": 1082, + "id": 4417, "name": "exists", "nodeType": "Identifier", "overloadedDeclarations": [ - 531 + 3832 ], - "referencedDeclaration": 531, - "src": "1887:6:8", + "referencedDeclaration": 3832, + "src": "2685:6:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 1084, + "id": 4419, "isConstant": false, "isLValue": false, "isPure": false, @@ -5980,7 +6813,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1887:16:8", + "src": "2685:16:52", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5994,21 +6827,21 @@ "typeString": "bool" } ], - "id": 1081, + "id": 4416, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "1879:7:8", + "referencedDeclaration": 4882, + "src": "2677:7:52", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1085, + "id": 4420, "isConstant": false, "isLValue": false, "isPure": false, @@ -6016,41 +6849,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1879:25:8", + "src": "2677:25:52", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1086, + "id": 4421, "nodeType": "ExpressionStatement", - "src": "1879:25:8" + "src": "2677:25:52" }, { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1087, + "id": 4422, "name": "tokenURIs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1038, - "src": "1917:9:8", + "referencedDeclaration": 4352, + "src": "2715:9:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string storage ref)" } }, - "id": 1089, + "id": 4424, "indexExpression": { "argumentTypes": null, - "id": 1088, + "id": 4423, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1076, - "src": "1927:8:8", + "referencedDeclaration": 4411, + "src": "2725:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6061,21 +6894,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1917:19:8", + "src": "2715:19:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 1080, - "id": 1090, + "functionReturnParameters": 4415, + "id": 4425, "nodeType": "Return", - "src": "1910:26:8" + "src": "2708:26:52" } ] }, - "documentation": "@dev Returns an URI for a given token ID\n@dev Throws if the token ID does not exist. May return an empty string.\n@param _tokenId uint256 ID of the token to query", - "id": 1092, + "documentation": "@dev Returns an URI for a given token ID\nThrows if the token ID does not exist. May return an empty string.\n@param _tokenId uint256 ID of the token to query", + "id": 4427, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6083,16 +6916,16 @@ "name": "tokenURI", "nodeType": "FunctionDefinition", "parameters": { - "id": 1077, + "id": 4412, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1076, + "id": 4411, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 1092, - "src": "1826:16:8", + "scope": 4427, + "src": "2624:16:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6100,10 +6933,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1075, + "id": 4410, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1826:7:8", + "src": "2624:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6113,20 +6946,20 @@ "visibility": "internal" } ], - "src": "1825:18:8" + "src": "2623:18:52" }, "payable": false, "returnParameters": { - "id": 1080, + "id": 4415, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1079, + "id": 4414, "name": "", "nodeType": "VariableDeclaration", - "scope": 1092, - "src": "1865:6:8", + "scope": 4427, + "src": "2663:6:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6134,10 +6967,10 @@ "typeString": "string" }, "typeName": { - "id": 1078, + "id": 4413, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1865:6:8", + "src": "2663:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -6147,19 +6980,19 @@ "visibility": "internal" } ], - "src": "1864:8:8" + "src": "2662:8:52" }, - "scope": 1380, - "src": "1808:133:8", + "scope": 4715, + "src": "2606:133:52", "stateMutability": "view", - "superFunction": 288, + "superFunction": 3556, "visibility": "public" }, { "body": { - "id": 1115, + "id": 4450, "nodeType": "Block", - "src": "2393:86:8", + "src": "3217:86:52", "statements": [ { "expression": { @@ -6171,19 +7004,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1106, + "id": 4441, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1102, + "id": 4437, "name": "_index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1096, - "src": "2407:6:8", + "referencedDeclaration": 4431, + "src": "3231:6:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6196,12 +7029,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1104, + "id": 4439, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1094, - "src": "2426:6:8", + "referencedDeclaration": 4429, + "src": "3250:6:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6215,20 +7048,20 @@ "typeString": "address" } ], - "id": 1103, + "id": 4438, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 487 + 3788 ], - "referencedDeclaration": 487, - "src": "2416:9:8", + "referencedDeclaration": 3788, + "src": "3240:9:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 1105, + "id": 4440, "isConstant": false, "isLValue": false, "isPure": false, @@ -6236,13 +7069,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2416:17:8", + "src": "3240:17:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2407:26:8", + "src": "3231:26:52", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6256,21 +7089,21 @@ "typeString": "bool" } ], - "id": 1101, + "id": 4436, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "2399:7:8", + "referencedDeclaration": 4882, + "src": "3223:7:52", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1107, + "id": 4442, "isConstant": false, "isLValue": false, "isPure": false, @@ -6278,15 +7111,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2399:35:8", + "src": "3223:35:52", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1108, + "id": 4443, "nodeType": "ExpressionStatement", - "src": "2399:35:8" + "src": "3223:35:52" }, { "expression": { @@ -6295,26 +7128,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1109, + "id": 4444, "name": "ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "2447:11:8", + "referencedDeclaration": 4337, + "src": "3271:11:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1111, + "id": 4446, "indexExpression": { "argumentTypes": null, - "id": 1110, + "id": 4445, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1094, - "src": "2459:6:8", + "referencedDeclaration": 4429, + "src": "3283:6:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6325,21 +7158,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2447:19:8", + "src": "3271:19:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1113, + "id": 4448, "indexExpression": { "argumentTypes": null, - "id": 1112, + "id": 4447, "name": "_index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1096, - "src": "2467:6:8", + "referencedDeclaration": 4431, + "src": "3291:6:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6350,21 +7183,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2447:27:8", + "src": "3271:27:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1100, - "id": 1114, + "functionReturnParameters": 4435, + "id": 4449, "nodeType": "Return", - "src": "2440:34:8" + "src": "3264:34:52" } ] }, "documentation": "@dev Gets the token ID at a given index of the tokens list of the requested owner\n@param _owner address owning the tokens list to be accessed\n@param _index uint256 representing the index to be accessed of the requested tokens list\n@return uint256 token ID at the given index of the tokens list owned by the requested address", - "id": 1116, + "id": 4451, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6372,16 +7205,16 @@ "name": "tokenOfOwnerByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 1097, + "id": 4432, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1094, + "id": 4429, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1116, - "src": "2331:14:8", + "scope": 4451, + "src": "3134:14:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6389,10 +7222,10 @@ "typeString": "address" }, "typeName": { - "id": 1093, + "id": 4428, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2331:7:8", + "src": "3134:7:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6403,11 +7236,11 @@ }, { "constant": false, - "id": 1096, + "id": 4431, "name": "_index", "nodeType": "VariableDeclaration", - "scope": 1116, - "src": "2347:14:8", + "scope": 4451, + "src": "3154:14:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6415,10 +7248,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1095, + "id": 4430, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2347:7:8", + "src": "3154:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6428,20 +7261,20 @@ "visibility": "internal" } ], - "src": "2330:32:8" + "src": "3128:44:52" }, "payable": false, "returnParameters": { - "id": 1100, + "id": 4435, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1099, + "id": 4434, "name": "", "nodeType": "VariableDeclaration", - "scope": 1116, - "src": "2384:7:8", + "scope": 4451, + "src": "3206:7:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6449,10 +7282,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1098, + "id": 4433, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2384:7:8", + "src": "3206:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6462,37 +7295,37 @@ "visibility": "internal" } ], - "src": "2383:9:8" + "src": "3205:9:52" }, - "scope": 1380, - "src": "2302:177:8", + "scope": 4715, + "src": "3100:203:52", "stateMutability": "view", - "superFunction": 261, + "superFunction": 3529, "visibility": "public" }, { "body": { - "id": 1124, + "id": 4459, "nodeType": "Block", - "src": "2674:34:8", + "src": "3498:34:52", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1121, + "id": 4456, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "2687:9:8", + "referencedDeclaration": 4344, + "src": "3511:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1122, + "id": 4457, "isConstant": false, "isLValue": true, "isPure": false, @@ -6500,21 +7333,21 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2687:16:8", + "src": "3511:16:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1120, - "id": 1123, + "functionReturnParameters": 4455, + "id": 4458, "nodeType": "Return", - "src": "2680:23:8" + "src": "3504:23:52" } ] }, "documentation": "@dev Gets the total amount of tokens stored by the contract\n@return uint256 representing the total amount of tokens", - "id": 1125, + "id": 4460, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6522,23 +7355,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 1117, + "id": 4452, "nodeType": "ParameterList", "parameters": [], - "src": "2641:2:8" + "src": "3465:2:52" }, "payable": false, "returnParameters": { - "id": 1120, + "id": 4455, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1119, + "id": 4454, "name": "", "nodeType": "VariableDeclaration", - "scope": 1125, - "src": "2665:7:8", + "scope": 4460, + "src": "3489:7:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6546,10 +7379,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1118, + "id": 4453, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2665:7:8", + "src": "3489:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6559,19 +7392,19 @@ "visibility": "internal" } ], - "src": "2664:9:8" + "src": "3488:9:52" }, - "scope": 1380, - "src": "2621:87:8", + "scope": 4715, + "src": "3445:87:52", "stateMutability": "view", - "superFunction": 252, + "superFunction": 3520, "visibility": "public" }, { "body": { - "id": 1143, + "id": 4478, "nodeType": "Block", - "src": "3105:72:8", + "src": "3924:72:52", "statements": [ { "expression": { @@ -6583,19 +7416,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1136, + "id": 4471, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1133, + "id": 4468, "name": "_index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1127, - "src": "3119:6:8", + "referencedDeclaration": 4462, + "src": "3938:6:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6608,20 +7441,20 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1134, + "id": 4469, "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [ - 1125 + 4460 ], - "referencedDeclaration": 1125, - "src": "3128:11:8", + "referencedDeclaration": 4460, + "src": "3947:11:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 1135, + "id": 4470, "isConstant": false, "isLValue": false, "isPure": false, @@ -6629,13 +7462,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3128:13:8", + "src": "3947:13:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3119:22:8", + "src": "3938:22:52", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6649,21 +7482,21 @@ "typeString": "bool" } ], - "id": 1132, + "id": 4467, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "3111:7:8", + "referencedDeclaration": 4882, + "src": "3930:7:52", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1137, + "id": 4472, "isConstant": false, "isLValue": false, "isPure": false, @@ -6671,41 +7504,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3111:31:8", + "src": "3930:31:52", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1138, + "id": 4473, "nodeType": "ExpressionStatement", - "src": "3111:31:8" + "src": "3930:31:52" }, { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1139, + "id": 4474, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "3155:9:8", + "referencedDeclaration": 4344, + "src": "3974:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1141, + "id": 4476, "indexExpression": { "argumentTypes": null, - "id": 1140, + "id": 4475, "name": "_index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1127, - "src": "3165:6:8", + "referencedDeclaration": 4462, + "src": "3984:6:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6716,21 +7549,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3155:17:8", + "src": "3974:17:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1131, - "id": 1142, + "functionReturnParameters": 4466, + "id": 4477, "nodeType": "Return", - "src": "3148:24:8" + "src": "3967:24:52" } ] }, - "documentation": "@dev Gets the token ID at a given index of all the tokens in this contract\n@dev Reverts if the index is greater or equal to the total number of tokens\n@param _index uint256 representing the index to be accessed of the tokens list\n@return uint256 token ID at the given index of the tokens list", - "id": 1144, + "documentation": "@dev Gets the token ID at a given index of all the tokens in this contract\nReverts if the index is greater or equal to the total number of tokens\n@param _index uint256 representing the index to be accessed of the tokens list\n@return uint256 token ID at the given index of the tokens list", + "id": 4479, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6738,16 +7571,16 @@ "name": "tokenByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 1128, + "id": 4463, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1127, + "id": 4462, "name": "_index", "nodeType": "VariableDeclaration", - "scope": 1144, - "src": "3059:14:8", + "scope": 4479, + "src": "3878:14:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6755,10 +7588,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1126, + "id": 4461, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3059:7:8", + "src": "3878:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6768,20 +7601,20 @@ "visibility": "internal" } ], - "src": "3058:16:8" + "src": "3877:16:52" }, "payable": false, "returnParameters": { - "id": 1131, + "id": 4466, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1130, + "id": 4465, "name": "", "nodeType": "VariableDeclaration", - "scope": 1144, - "src": "3096:7:8", + "scope": 4479, + "src": "3915:7:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6789,10 +7622,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1129, + "id": 4464, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3096:7:8", + "src": "3915:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6802,19 +7635,19 @@ "visibility": "internal" } ], - "src": "3095:9:8" + "src": "3914:9:52" }, - "scope": 1380, - "src": "3037:140:8", + "scope": 4715, + "src": "3856:140:52", "stateMutability": "view", - "superFunction": 268, + "superFunction": 3536, "visibility": "public" }, { "body": { - "id": 1163, + "id": 4498, "nodeType": "Block", - "src": "3469:68:8", + "src": "4283:68:52", "statements": [ { "expression": { @@ -6825,12 +7658,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1153, + "id": 4488, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "3490:8:8", + "referencedDeclaration": 4481, + "src": "4304:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6844,20 +7677,20 @@ "typeString": "uint256" } ], - "id": 1152, + "id": 4487, "name": "exists", "nodeType": "Identifier", "overloadedDeclarations": [ - 531 + 3832 ], - "referencedDeclaration": 531, - "src": "3483:6:8", + "referencedDeclaration": 3832, + "src": "4297:6:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 1154, + "id": 4489, "isConstant": false, "isLValue": false, "isPure": false, @@ -6865,7 +7698,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3483:16:8", + "src": "4297:16:52", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6879,21 +7712,21 @@ "typeString": "bool" } ], - "id": 1151, + "id": 4486, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "3475:7:8", + "referencedDeclaration": 4882, + "src": "4289:7:52", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1155, + "id": 4490, "isConstant": false, "isLValue": false, "isPure": false, @@ -6901,20 +7734,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3475:25:8", + "src": "4289:25:52", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1156, + "id": 4491, "nodeType": "ExpressionStatement", - "src": "3475:25:8" + "src": "4289:25:52" }, { "expression": { "argumentTypes": null, - "id": 1161, + "id": 4496, "isConstant": false, "isLValue": false, "isPure": false, @@ -6923,26 +7756,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1157, + "id": 4492, "name": "tokenURIs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1038, - "src": "3506:9:8", + "referencedDeclaration": 4352, + "src": "4320:9:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string storage ref)" } }, - "id": 1159, + "id": 4494, "indexExpression": { "argumentTypes": null, - "id": 1158, + "id": 4493, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "3516:8:8", + "referencedDeclaration": 4481, + "src": "4330:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6953,7 +7786,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3506:19:8", + "src": "4320:19:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -6963,31 +7796,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1160, + "id": 4495, "name": "_uri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3528:4:8", + "referencedDeclaration": 4483, + "src": "4342:4:52", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3506:26:8", + "src": "4320:26:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 1162, + "id": 4497, "nodeType": "ExpressionStatement", - "src": "3506:26:8" + "src": "4320:26:52" } ] }, - "documentation": "@dev Internal function to set the token URI for a given token\n@dev Reverts if the token ID does not exist\n@param _tokenId uint256 ID of the token to set its URI\n@param _uri string URI to assign", - "id": 1164, + "documentation": "@dev Internal function to set the token URI for a given token\nReverts if the token ID does not exist\n@param _tokenId uint256 ID of the token to set its URI\n@param _uri string URI to assign", + "id": 4499, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6995,16 +7828,16 @@ "name": "_setTokenURI", "nodeType": "FunctionDefinition", "parameters": { - "id": 1149, + "id": 4484, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1146, + "id": 4481, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 1164, - "src": "3429:16:8", + "scope": 4499, + "src": "4243:16:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7012,10 +7845,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1145, + "id": 4480, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3429:7:8", + "src": "4243:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7026,11 +7859,11 @@ }, { "constant": false, - "id": 1148, + "id": 4483, "name": "_uri", "nodeType": "VariableDeclaration", - "scope": 1164, - "src": "3447:11:8", + "scope": 4499, + "src": "4261:11:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7038,10 +7871,10 @@ "typeString": "string" }, "typeName": { - "id": 1147, + "id": 4482, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3447:6:8", + "src": "4261:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7051,26 +7884,26 @@ "visibility": "internal" } ], - "src": "3428:31:8" + "src": "4242:31:52" }, "payable": false, "returnParameters": { - "id": 1150, + "id": 4485, "nodeType": "ParameterList", "parameters": [], - "src": "3469:0:8" + "src": "4283:0:52" }, - "scope": 1380, - "src": "3407:130:8", + "scope": 4715, + "src": "4221:130:52", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1198, + "id": 4533, "nodeType": "Block", - "src": "3860:166:8", + "src": "4674:166:52", "statements": [ { "expression": { @@ -7078,12 +7911,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1174, + "id": 4509, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1166, - "src": "3883:3:8", + "referencedDeclaration": 4501, + "src": "4697:3:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7091,12 +7924,12 @@ }, { "argumentTypes": null, - "id": 1175, + "id": 4510, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1168, - "src": "3888:8:8", + "referencedDeclaration": 4503, + "src": "4702:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7116,32 +7949,32 @@ ], "expression": { "argumentTypes": null, - "id": 1171, + "id": 4506, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1576, - "src": "3866:5:8", + "referencedDeclaration": 4957, + "src": "4680:5:52", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721Token_$1380", + "typeIdentifier": "t_super$_ERC721Token_$4715", "typeString": "contract super ERC721Token" } }, - "id": 1173, + "id": 4508, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "addTokenTo", "nodeType": "MemberAccess", - "referencedDeclaration": 912, - "src": "3866:16:8", + "referencedDeclaration": 4191, + "src": "4680:16:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1176, + "id": 4511, "isConstant": false, "isLValue": false, "isPure": false, @@ -7149,28 +7982,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3866:31:8", + "src": "4680:31:52", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1177, + "id": 4512, "nodeType": "ExpressionStatement", - "src": "3866:31:8" + "src": "4680:31:52" }, { "assignments": [ - 1179 + 4514 ], "declarations": [ { "constant": false, - "id": 1179, + "id": 4514, "name": "length", "nodeType": "VariableDeclaration", - "scope": 1199, - "src": "3903:14:8", + "scope": 4534, + "src": "4717:14:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7178,10 +8011,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1178, + "id": 4513, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3903:7:8", + "src": "4717:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7191,33 +8024,33 @@ "visibility": "internal" } ], - "id": 1184, + "id": 4519, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1180, + "id": 4515, "name": "ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "3920:11:8", + "referencedDeclaration": 4337, + "src": "4734:11:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1182, + "id": 4517, "indexExpression": { "argumentTypes": null, - "id": 1181, + "id": 4516, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1166, - "src": "3932:3:8", + "referencedDeclaration": 4501, + "src": "4746:3:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7228,13 +8061,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3920:16:8", + "src": "4734:16:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1183, + "id": 4518, "isConstant": false, "isLValue": true, "isPure": false, @@ -7242,14 +8075,14 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3920:23:8", + "src": "4734:23:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3903:40:8" + "src": "4717:40:52" }, { "expression": { @@ -7257,12 +8090,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1189, + "id": 4524, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1168, - "src": "3971:8:8", + "referencedDeclaration": 4503, + "src": "4785:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7280,26 +8113,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1185, + "id": 4520, "name": "ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "3949:11:8", + "referencedDeclaration": 4337, + "src": "4763:11:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1187, + "id": 4522, "indexExpression": { "argumentTypes": null, - "id": 1186, + "id": 4521, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1166, - "src": "3961:3:8", + "referencedDeclaration": 4501, + "src": "4775:3:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7310,13 +8143,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3949:16:8", + "src": "4763:16:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1188, + "id": 4523, "isConstant": false, "isLValue": false, "isPure": false, @@ -7324,13 +8157,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3949:21:8", + "src": "4763:21:52", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) returns (uint256)" } }, - "id": 1190, + "id": 4525, "isConstant": false, "isLValue": false, "isPure": false, @@ -7338,20 +8171,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3949:31:8", + "src": "4763:31:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1191, + "id": 4526, "nodeType": "ExpressionStatement", - "src": "3949:31:8" + "src": "4763:31:52" }, { "expression": { "argumentTypes": null, - "id": 1196, + "id": 4531, "isConstant": false, "isLValue": false, "isPure": false, @@ -7360,26 +8193,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1192, + "id": 4527, "name": "ownedTokensIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1027, - "src": "3986:16:8", + "referencedDeclaration": 4341, + "src": "4800:16:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 1194, + "id": 4529, "indexExpression": { "argumentTypes": null, - "id": 1193, + "id": 4528, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1168, - "src": "4003:8:8", + "referencedDeclaration": 4503, + "src": "4817:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7390,7 +8223,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3986:26:8", + "src": "4800:26:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7400,31 +8233,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1195, + "id": 4530, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1179, - "src": "4015:6:8", + "referencedDeclaration": 4514, + "src": "4829:6:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3986:35:8", + "src": "4800:35:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1197, + "id": 4532, "nodeType": "ExpressionStatement", - "src": "3986:35:8" + "src": "4800:35:52" } ] }, "documentation": "@dev Internal function to add a token ID to the list of a given address\n@param _to address representing the new owner of the given token ID\n@param _tokenId uint256 ID of the token to be added to the tokens list of the given address", - "id": 1199, + "id": 4534, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -7432,16 +8265,16 @@ "name": "addTokenTo", "nodeType": "FunctionDefinition", "parameters": { - "id": 1169, + "id": 4504, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1166, + "id": 4501, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1199, - "src": "3820:11:8", + "scope": 4534, + "src": "4634:11:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7449,10 +8282,10 @@ "typeString": "address" }, "typeName": { - "id": 1165, + "id": 4500, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3820:7:8", + "src": "4634:7:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7463,11 +8296,11 @@ }, { "constant": false, - "id": 1168, + "id": 4503, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 1199, - "src": "3833:16:8", + "scope": 4534, + "src": "4647:16:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7475,10 +8308,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1167, + "id": 4502, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3833:7:8", + "src": "4647:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7488,26 +8321,26 @@ "visibility": "internal" } ], - "src": "3819:31:8" + "src": "4633:31:52" }, "payable": false, "returnParameters": { - "id": 1170, + "id": 4505, "nodeType": "ParameterList", "parameters": [], - "src": "3860:0:8" + "src": "4674:0:52" }, - "scope": 1380, - "src": "3800:226:8", + "scope": 4715, + "src": "4614:226:52", "stateMutability": "nonpayable", - "superFunction": 912, + "superFunction": 4191, "visibility": "internal" }, { "body": { - "id": 1271, + "id": 4606, "nodeType": "Block", - "src": "4372:789:8", + "src": "5186:789:52", "statements": [ { "expression": { @@ -7515,12 +8348,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1209, + "id": 4544, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "4400:5:8", + "referencedDeclaration": 4536, + "src": "5214:5:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7528,12 +8361,12 @@ }, { "argumentTypes": null, - "id": 1210, + "id": 4545, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1203, - "src": "4407:8:8", + "referencedDeclaration": 4538, + "src": "5221:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7553,32 +8386,32 @@ ], "expression": { "argumentTypes": null, - "id": 1206, + "id": 4541, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1576, - "src": "4378:5:8", + "referencedDeclaration": 4957, + "src": "5192:5:52", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721Token_$1380", + "typeIdentifier": "t_super$_ERC721Token_$4715", "typeString": "contract super ERC721Token" } }, - "id": 1208, + "id": 4543, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "removeTokenFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 947, - "src": "4378:21:8", + "referencedDeclaration": 4226, + "src": "5192:21:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1211, + "id": 4546, "isConstant": false, "isLValue": false, "isPure": false, @@ -7586,28 +8419,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4378:38:8", + "src": "5192:38:52", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1212, + "id": 4547, "nodeType": "ExpressionStatement", - "src": "4378:38:8" + "src": "5192:38:52" }, { "assignments": [ - 1214 + 4549 ], "declarations": [ { "constant": false, - "id": 1214, + "id": 4549, "name": "tokenIndex", "nodeType": "VariableDeclaration", - "scope": 1272, - "src": "4423:18:8", + "scope": 4607, + "src": "5237:18:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7615,10 +8448,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1213, + "id": 4548, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4423:7:8", + "src": "5237:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7628,31 +8461,31 @@ "visibility": "internal" } ], - "id": 1218, + "id": 4553, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1215, + "id": 4550, "name": "ownedTokensIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1027, - "src": "4444:16:8", + "referencedDeclaration": 4341, + "src": "5258:16:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 1217, + "id": 4552, "indexExpression": { "argumentTypes": null, - "id": 1216, + "id": 4551, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1203, - "src": "4461:8:8", + "referencedDeclaration": 4538, + "src": "5275:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7663,27 +8496,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4444:26:8", + "src": "5258:26:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4423:47:8" + "src": "5237:47:52" }, { "assignments": [ - 1220 + 4555 ], "declarations": [ { "constant": false, - "id": 1220, + "id": 4555, "name": "lastTokenIndex", "nodeType": "VariableDeclaration", - "scope": 1272, - "src": "4476:22:8", + "scope": 4607, + "src": "5290:22:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7691,10 +8524,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1219, + "id": 4554, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4476:7:8", + "src": "5290:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7704,21 +8537,21 @@ "visibility": "internal" } ], - "id": 1228, + "id": 4563, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "31", - "id": 1226, + "id": 4561, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4531:1:8", + "src": "5345:1:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -7740,26 +8573,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1221, + "id": 4556, "name": "ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "4501:11:8", + "referencedDeclaration": 4337, + "src": "5315:11:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1223, + "id": 4558, "indexExpression": { "argumentTypes": null, - "id": 1222, + "id": 4557, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "4513:5:8", + "referencedDeclaration": 4536, + "src": "5327:5:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7770,13 +8603,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4501:18:8", + "src": "5315:18:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1224, + "id": 4559, "isConstant": false, "isLValue": true, "isPure": false, @@ -7784,27 +8617,27 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4501:25:8", + "src": "5315:25:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1225, + "id": 4560, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "4501:29:8", + "referencedDeclaration": 554, + "src": "5315:29:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1227, + "id": 4562, "isConstant": false, "isLValue": false, "isPure": false, @@ -7812,27 +8645,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4501:32:8", + "src": "5315:32:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4476:57:8" + "src": "5290:57:52" }, { "assignments": [ - 1230 + 4565 ], "declarations": [ { "constant": false, - "id": 1230, + "id": 4565, "name": "lastToken", "nodeType": "VariableDeclaration", - "scope": 1272, - "src": "4539:17:8", + "scope": 4607, + "src": "5353:17:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7840,10 +8673,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1229, + "id": 4564, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4539:7:8", + "src": "5353:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7853,33 +8686,33 @@ "visibility": "internal" } ], - "id": 1236, + "id": 4571, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1231, + "id": 4566, "name": "ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "4559:11:8", + "referencedDeclaration": 4337, + "src": "5373:11:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1233, + "id": 4568, "indexExpression": { "argumentTypes": null, - "id": 1232, + "id": 4567, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "4571:5:8", + "referencedDeclaration": 4536, + "src": "5385:5:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7890,21 +8723,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4559:18:8", + "src": "5373:18:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1235, + "id": 4570, "indexExpression": { "argumentTypes": null, - "id": 1234, + "id": 4569, "name": "lastTokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1220, - "src": "4578:14:8", + "referencedDeclaration": 4555, + "src": "5392:14:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7915,19 +8748,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4559:34:8", + "src": "5373:34:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4539:54:8" + "src": "5353:54:52" }, { "expression": { "argumentTypes": null, - "id": 1243, + "id": 4578, "isConstant": false, "isLValue": false, "isPure": false, @@ -7938,26 +8771,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1237, + "id": 4572, "name": "ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "4600:11:8", + "referencedDeclaration": 4337, + "src": "5414:11:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1240, + "id": 4575, "indexExpression": { "argumentTypes": null, - "id": 1238, + "id": 4573, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "4612:5:8", + "referencedDeclaration": 4536, + "src": "5426:5:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7968,21 +8801,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4600:18:8", + "src": "5414:18:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1241, + "id": 4576, "indexExpression": { "argumentTypes": null, - "id": 1239, + "id": 4574, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1214, - "src": "4619:10:8", + "referencedDeclaration": 4549, + "src": "5433:10:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7993,7 +8826,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4600:30:8", + "src": "5414:30:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8003,31 +8836,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1242, + "id": 4577, "name": "lastToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "4633:9:8", + "referencedDeclaration": 4565, + "src": "5447:9:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4600:42:8", + "src": "5414:42:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1244, + "id": 4579, "nodeType": "ExpressionStatement", - "src": "4600:42:8" + "src": "5414:42:52" }, { "expression": { "argumentTypes": null, - "id": 1251, + "id": 4586, "isConstant": false, "isLValue": false, "isPure": false, @@ -8038,26 +8871,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1245, + "id": 4580, "name": "ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "4648:11:8", + "referencedDeclaration": 4337, + "src": "5462:11:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1248, + "id": 4583, "indexExpression": { "argumentTypes": null, - "id": 1246, + "id": 4581, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "4660:5:8", + "referencedDeclaration": 4536, + "src": "5474:5:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8068,21 +8901,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4648:18:8", + "src": "5462:18:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1249, + "id": 4584, "indexExpression": { "argumentTypes": null, - "id": 1247, + "id": 4582, "name": "lastTokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1220, - "src": "4667:14:8", + "referencedDeclaration": 4555, + "src": "5481:14:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8093,7 +8926,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4648:34:8", + "src": "5462:34:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8104,14 +8937,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 1250, + "id": 4585, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4685:1:8", + "src": "5499:1:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8119,20 +8952,20 @@ }, "value": "0" }, - "src": "4648:38:8", + "src": "5462:38:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1252, + "id": 4587, "nodeType": "ExpressionStatement", - "src": "4648:38:8" + "src": "5462:38:52" }, { "expression": { "argumentTypes": null, - "id": 1257, + "id": 4592, "isConstant": false, "isLValue": false, "isPure": false, @@ -8140,33 +8973,33 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "5047:27:8", + "src": "5861:27:52", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1253, + "id": 4588, "name": "ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "5047:11:8", + "referencedDeclaration": 4337, + "src": "5861:11:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1255, + "id": 4590, "indexExpression": { "argumentTypes": null, - "id": 1254, + "id": 4589, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "5059:5:8", + "referencedDeclaration": 4536, + "src": "5873:5:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8177,13 +9010,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5047:18:8", + "src": "5861:18:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1256, + "id": 4591, "isConstant": false, "isLValue": true, "isPure": false, @@ -8191,7 +9024,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5047:25:8", + "src": "5861:25:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8202,14 +9035,14 @@ "typeString": "uint256" } }, - "id": 1258, + "id": 4593, "nodeType": "ExpressionStatement", - "src": "5047:27:8" + "src": "5861:27:52" }, { "expression": { "argumentTypes": null, - "id": 1263, + "id": 4598, "isConstant": false, "isLValue": false, "isPure": false, @@ -8218,26 +9051,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1259, + "id": 4594, "name": "ownedTokensIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1027, - "src": "5080:16:8", + "referencedDeclaration": 4341, + "src": "5894:16:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 1261, + "id": 4596, "indexExpression": { "argumentTypes": null, - "id": 1260, + "id": 4595, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1203, - "src": "5097:8:8", + "referencedDeclaration": 4538, + "src": "5911:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8248,7 +9081,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5080:26:8", + "src": "5894:26:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8259,14 +9092,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 1262, + "id": 4597, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5109:1:8", + "src": "5923:1:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8274,20 +9107,20 @@ }, "value": "0" }, - "src": "5080:30:8", + "src": "5894:30:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1264, + "id": 4599, "nodeType": "ExpressionStatement", - "src": "5080:30:8" + "src": "5894:30:52" }, { "expression": { "argumentTypes": null, - "id": 1269, + "id": 4604, "isConstant": false, "isLValue": false, "isPure": false, @@ -8296,26 +9129,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1265, + "id": 4600, "name": "ownedTokensIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1027, - "src": "5116:16:8", + "referencedDeclaration": 4341, + "src": "5930:16:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 1267, + "id": 4602, "indexExpression": { "argumentTypes": null, - "id": 1266, + "id": 4601, "name": "lastToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "5133:9:8", + "referencedDeclaration": 4565, + "src": "5947:9:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8326,7 +9159,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5116:27:8", + "src": "5930:27:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8336,31 +9169,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1268, + "id": 4603, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1214, - "src": "5146:10:8", + "referencedDeclaration": 4549, + "src": "5960:10:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5116:40:8", + "src": "5930:40:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1270, + "id": 4605, "nodeType": "ExpressionStatement", - "src": "5116:40:8" + "src": "5930:40:52" } ] }, "documentation": "@dev Internal function to remove a token ID from the list of a given address\n@param _from address representing the previous owner of the given token ID\n@param _tokenId uint256 ID of the token to be removed from the tokens list of the given address", - "id": 1272, + "id": 4607, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -8368,16 +9201,16 @@ "name": "removeTokenFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1204, + "id": 4539, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1201, + "id": 4536, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1272, - "src": "4330:13:8", + "scope": 4607, + "src": "5144:13:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8385,10 +9218,10 @@ "typeString": "address" }, "typeName": { - "id": 1200, + "id": 4535, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4330:7:8", + "src": "5144:7:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8399,11 +9232,11 @@ }, { "constant": false, - "id": 1203, + "id": 4538, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 1272, - "src": "4345:16:8", + "scope": 4607, + "src": "5159:16:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8411,10 +9244,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1202, + "id": 4537, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4345:7:8", + "src": "5159:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8424,26 +9257,26 @@ "visibility": "internal" } ], - "src": "4329:33:8" + "src": "5143:33:52" }, "payable": false, "returnParameters": { - "id": 1205, + "id": 4540, "nodeType": "ParameterList", "parameters": [], - "src": "4372:0:8" + "src": "5186:0:52" }, - "scope": 1380, - "src": "4305:856:8", + "scope": 4715, + "src": "5119:856:52", "stateMutability": "nonpayable", - "superFunction": 947, + "superFunction": 4226, "visibility": "internal" }, { "body": { - "id": 1299, + "id": 4634, "nodeType": "Block", - "src": "5482:117:8", + "src": "6291:117:52", "statements": [ { "expression": { @@ -8451,12 +9284,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1282, + "id": 4617, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1274, - "src": "5500:3:8", + "referencedDeclaration": 4609, + "src": "6309:3:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8464,12 +9297,12 @@ }, { "argumentTypes": null, - "id": 1283, + "id": 4618, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "5505:8:8", + "referencedDeclaration": 4611, + "src": "6314:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8489,32 +9322,32 @@ ], "expression": { "argumentTypes": null, - "id": 1279, + "id": 4614, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1576, - "src": "5488:5:8", + "referencedDeclaration": 4957, + "src": "6297:5:52", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721Token_$1380", + "typeIdentifier": "t_super$_ERC721Token_$4715", "typeString": "contract super ERC721Token" } }, - "id": 1281, + "id": 4616, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_mint", "nodeType": "MemberAccess", - "referencedDeclaration": 810, - "src": "5488:11:8", + "referencedDeclaration": 4097, + "src": "6297:11:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1284, + "id": 4619, "isConstant": false, "isLValue": false, "isPure": false, @@ -8522,20 +9355,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5488:26:8", + "src": "6297:26:52", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1285, + "id": 4620, "nodeType": "ExpressionStatement", - "src": "5488:26:8" + "src": "6297:26:52" }, { "expression": { "argumentTypes": null, - "id": 1291, + "id": 4626, "isConstant": false, "isLValue": false, "isPure": false, @@ -8544,26 +9377,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1286, + "id": 4621, "name": "allTokensIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1034, - "src": "5521:14:8", + "referencedDeclaration": 4348, + "src": "6330:14:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 1288, + "id": 4623, "indexExpression": { "argumentTypes": null, - "id": 1287, + "id": 4622, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "5536:8:8", + "referencedDeclaration": 4611, + "src": "6345:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8574,7 +9407,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5521:24:8", + "src": "6330:24:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8586,18 +9419,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1289, + "id": 4624, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "5548:9:8", + "referencedDeclaration": 4344, + "src": "6357:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1290, + "id": 4625, "isConstant": false, "isLValue": true, "isPure": false, @@ -8605,21 +9438,21 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5548:16:8", + "src": "6357:16:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5521:43:8", + "src": "6330:43:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1292, + "id": 4627, "nodeType": "ExpressionStatement", - "src": "5521:43:8" + "src": "6330:43:52" }, { "expression": { @@ -8627,12 +9460,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1296, + "id": 4631, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "5585:8:8", + "referencedDeclaration": 4611, + "src": "6394:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8648,18 +9481,18 @@ ], "expression": { "argumentTypes": null, - "id": 1293, + "id": 4628, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "5570:9:8", + "referencedDeclaration": 4344, + "src": "6379:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1295, + "id": 4630, "isConstant": false, "isLValue": false, "isPure": false, @@ -8667,13 +9500,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5570:14:8", + "src": "6379:14:52", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) returns (uint256)" } }, - "id": 1297, + "id": 4632, "isConstant": false, "isLValue": false, "isPure": false, @@ -8681,20 +9514,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5570:24:8", + "src": "6379:24:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1298, + "id": 4633, "nodeType": "ExpressionStatement", - "src": "5570:24:8" + "src": "6379:24:52" } ] }, - "documentation": "@dev Internal function to mint a new token\n@dev Reverts if the given token ID already exists\n@param _to address the beneficiary that will own the minted token\n@param _tokenId uint256 ID of the token to be minted by the msg.sender", - "id": 1300, + "documentation": "@dev Internal function to mint a new token\nReverts if the given token ID already exists\n@param _to address the beneficiary that will own the minted token\n@param _tokenId uint256 ID of the token to be minted by the msg.sender", + "id": 4635, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -8702,16 +9535,16 @@ "name": "_mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 1277, + "id": 4612, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1274, + "id": 4609, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1300, - "src": "5442:11:8", + "scope": 4635, + "src": "6251:11:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8719,10 +9552,10 @@ "typeString": "address" }, "typeName": { - "id": 1273, + "id": 4608, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5442:7:8", + "src": "6251:7:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8733,11 +9566,11 @@ }, { "constant": false, - "id": 1276, + "id": 4611, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 1300, - "src": "5455:16:8", + "scope": 4635, + "src": "6264:16:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8745,10 +9578,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1275, + "id": 4610, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5455:7:8", + "src": "6264:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8758,26 +9591,26 @@ "visibility": "internal" } ], - "src": "5441:31:8" + "src": "6250:31:52" }, "payable": false, "returnParameters": { - "id": 1278, + "id": 4613, "nodeType": "ParameterList", "parameters": [], - "src": "5482:0:8" + "src": "6291:0:52" }, - "scope": 1380, - "src": "5427:172:8", + "scope": 4715, + "src": "6236:172:52", "stateMutability": "nonpayable", - "superFunction": 810, + "superFunction": 4097, "visibility": "internal" }, { "body": { - "id": 1378, + "id": 4713, "nodeType": "Block", - "src": "5894:527:8", + "src": "6698:527:52", "statements": [ { "expression": { @@ -8785,12 +9618,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1310, + "id": 4645, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "5912:6:8", + "referencedDeclaration": 4637, + "src": "6716:6:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8798,12 +9631,12 @@ }, { "argumentTypes": null, - "id": 1311, + "id": 4646, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, - "src": "5920:8:8", + "referencedDeclaration": 4639, + "src": "6724:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8823,32 +9656,32 @@ ], "expression": { "argumentTypes": null, - "id": 1307, + "id": 4642, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1576, - "src": "5900:5:8", + "referencedDeclaration": 4957, + "src": "6704:5:52", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721Token_$1380", + "typeIdentifier": "t_super$_ERC721Token_$4715", "typeString": "contract super ERC721Token" } }, - "id": 1309, + "id": 4644, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_burn", "nodeType": "MemberAccess", - "referencedDeclaration": 836, - "src": "5900:11:8", + "referencedDeclaration": 4123, + "src": "6704:11:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1312, + "id": 4647, "isConstant": false, "isLValue": false, "isPure": false, @@ -8856,15 +9689,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5900:29:8", + "src": "6704:29:52", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1313, + "id": 4648, "nodeType": "ExpressionStatement", - "src": "5900:29:8" + "src": "6704:29:52" }, { "condition": { @@ -8873,7 +9706,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1321, + "id": 4656, "isConstant": false, "isLValue": false, "isPure": false, @@ -8887,26 +9720,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1315, + "id": 4650, "name": "tokenURIs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1038, - "src": "5977:9:8", + "referencedDeclaration": 4352, + "src": "6781:9:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string storage ref)" } }, - "id": 1317, + "id": 4652, "indexExpression": { "argumentTypes": null, - "id": 1316, + "id": 4651, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, - "src": "5987:8:8", + "referencedDeclaration": 4639, + "src": "6791:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8917,7 +9750,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5977:19:8", + "src": "6781:19:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -8931,20 +9764,20 @@ "typeString": "string storage ref" } ], - "id": 1314, + "id": 4649, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5971:5:8", + "src": "6775:5:52", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": "bytes" }, - "id": 1318, + "id": 4653, "isConstant": false, "isLValue": false, "isPure": false, @@ -8952,13 +9785,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5971:26:8", + "src": "6775:26:52", "typeDescriptions": { "typeIdentifier": "t_bytes_storage", "typeString": "bytes storage ref" } }, - "id": 1319, + "id": 4654, "isConstant": false, "isLValue": true, "isPure": false, @@ -8966,7 +9799,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5971:33:8", + "src": "6775:33:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8977,14 +9810,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1320, + "id": 4655, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6008:1:8", + "src": "6812:1:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8992,25 +9825,25 @@ }, "value": "0" }, - "src": "5971:38:8", + "src": "6775:38:52", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1328, + "id": 4663, "nodeType": "IfStatement", - "src": "5967:85:8", + "src": "6771:85:52", "trueBody": { - "id": 1327, + "id": 4662, "nodeType": "Block", - "src": "6011:41:8", + "src": "6815:41:52", "statements": [ { "expression": { "argumentTypes": null, - "id": 1325, + "id": 4660, "isConstant": false, "isLValue": false, "isPure": false, @@ -9018,31 +9851,31 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "6019:26:8", + "src": "6823:26:52", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1322, + "id": 4657, "name": "tokenURIs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1038, - "src": "6026:9:8", + "referencedDeclaration": 4352, + "src": "6830:9:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string storage ref)" } }, - "id": 1324, + "id": 4659, "indexExpression": { "argumentTypes": null, - "id": 1323, + "id": 4658, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, - "src": "6036:8:8", + "referencedDeclaration": 4639, + "src": "6840:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9053,7 +9886,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6026:19:8", + "src": "6830:19:52", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -9064,25 +9897,25 @@ "typeString": "tuple()" } }, - "id": 1326, + "id": 4661, "nodeType": "ExpressionStatement", - "src": "6019:26:8" + "src": "6823:26:52" } ] } }, { "assignments": [ - 1330 + 4665 ], "declarations": [ { "constant": false, - "id": 1330, + "id": 4665, "name": "tokenIndex", "nodeType": "VariableDeclaration", - "scope": 1379, - "src": "6088:18:8", + "scope": 4714, + "src": "6892:18:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9090,10 +9923,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1329, + "id": 4664, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6088:7:8", + "src": "6892:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9103,31 +9936,31 @@ "visibility": "internal" } ], - "id": 1334, + "id": 4669, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1331, + "id": 4666, "name": "allTokensIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1034, - "src": "6109:14:8", + "referencedDeclaration": 4348, + "src": "6913:14:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 1333, + "id": 4668, "indexExpression": { "argumentTypes": null, - "id": 1332, + "id": 4667, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, - "src": "6124:8:8", + "referencedDeclaration": 4639, + "src": "6928:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9138,27 +9971,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6109:24:8", + "src": "6913:24:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6088:45:8" + "src": "6892:45:52" }, { "assignments": [ - 1336 + 4671 ], "declarations": [ { "constant": false, - "id": 1336, + "id": 4671, "name": "lastTokenIndex", "nodeType": "VariableDeclaration", - "scope": 1379, - "src": "6139:22:8", + "scope": 4714, + "src": "6943:22:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9166,10 +9999,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1335, + "id": 4670, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6139:7:8", + "src": "6943:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9179,21 +10012,21 @@ "visibility": "internal" } ], - "id": 1342, + "id": 4677, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "31", - "id": 1340, + "id": 4675, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6185:1:8", + "src": "6989:1:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9213,18 +10046,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1337, + "id": 4672, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "6164:9:8", + "referencedDeclaration": 4344, + "src": "6968:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1338, + "id": 4673, "isConstant": false, "isLValue": true, "isPure": false, @@ -9232,27 +10065,27 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6164:16:8", + "src": "6968:16:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1339, + "id": 4674, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "6164:20:8", + "referencedDeclaration": 554, + "src": "6968:20:52", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1341, + "id": 4676, "isConstant": false, "isLValue": false, "isPure": false, @@ -9260,27 +10093,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6164:23:8", + "src": "6968:23:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6139:48:8" + "src": "6943:48:52" }, { "assignments": [ - 1344 + 4679 ], "declarations": [ { "constant": false, - "id": 1344, + "id": 4679, "name": "lastToken", "nodeType": "VariableDeclaration", - "scope": 1379, - "src": "6193:17:8", + "scope": 4714, + "src": "6997:17:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9288,10 +10121,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1343, + "id": 4678, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6193:7:8", + "src": "6997:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9301,31 +10134,31 @@ "visibility": "internal" } ], - "id": 1348, + "id": 4683, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1345, + "id": 4680, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "6213:9:8", + "referencedDeclaration": 4344, + "src": "7017:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1347, + "id": 4682, "indexExpression": { "argumentTypes": null, - "id": 1346, + "id": 4681, "name": "lastTokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1336, - "src": "6223:14:8", + "referencedDeclaration": 4671, + "src": "7027:14:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9336,19 +10169,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6213:25:8", + "src": "7017:25:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6193:45:8" + "src": "6997:45:52" }, { "expression": { "argumentTypes": null, - "id": 1353, + "id": 4688, "isConstant": false, "isLValue": false, "isPure": false, @@ -9357,26 +10190,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1349, + "id": 4684, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "6245:9:8", + "referencedDeclaration": 4344, + "src": "7049:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1351, + "id": 4686, "indexExpression": { "argumentTypes": null, - "id": 1350, + "id": 4685, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1330, - "src": "6255:10:8", + "referencedDeclaration": 4665, + "src": "7059:10:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9387,7 +10220,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6245:21:8", + "src": "7049:21:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9397,31 +10230,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1352, + "id": 4687, "name": "lastToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "6269:9:8", + "referencedDeclaration": 4679, + "src": "7073:9:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6245:33:8", + "src": "7049:33:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1354, + "id": 4689, "nodeType": "ExpressionStatement", - "src": "6245:33:8" + "src": "7049:33:52" }, { "expression": { "argumentTypes": null, - "id": 1359, + "id": 4694, "isConstant": false, "isLValue": false, "isPure": false, @@ -9430,26 +10263,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1355, + "id": 4690, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "6284:9:8", + "referencedDeclaration": 4344, + "src": "7088:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1357, + "id": 4692, "indexExpression": { "argumentTypes": null, - "id": 1356, + "id": 4691, "name": "lastTokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1336, - "src": "6294:14:8", + "referencedDeclaration": 4671, + "src": "7098:14:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9460,7 +10293,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6284:25:8", + "src": "7088:25:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9471,14 +10304,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 1358, + "id": 4693, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6312:1:8", + "src": "7116:1:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9486,20 +10319,20 @@ }, "value": "0" }, - "src": "6284:29:8", + "src": "7088:29:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1360, + "id": 4695, "nodeType": "ExpressionStatement", - "src": "6284:29:8" + "src": "7088:29:52" }, { "expression": { "argumentTypes": null, - "id": 1364, + "id": 4699, "isConstant": false, "isLValue": false, "isPure": false, @@ -9507,23 +10340,23 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "6320:18:8", + "src": "7124:18:52", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1361, + "id": 4696, "name": "allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "6320:9:8", + "referencedDeclaration": 4344, + "src": "7124:9:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1363, + "id": 4698, "isConstant": false, "isLValue": true, "isPure": false, @@ -9531,7 +10364,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6320:16:8", + "src": "7124:16:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9542,14 +10375,14 @@ "typeString": "uint256" } }, - "id": 1365, + "id": 4700, "nodeType": "ExpressionStatement", - "src": "6320:18:8" + "src": "7124:18:52" }, { "expression": { "argumentTypes": null, - "id": 1370, + "id": 4705, "isConstant": false, "isLValue": false, "isPure": false, @@ -9558,26 +10391,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1366, + "id": 4701, "name": "allTokensIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1034, - "src": "6344:14:8", + "referencedDeclaration": 4348, + "src": "7148:14:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 1368, + "id": 4703, "indexExpression": { "argumentTypes": null, - "id": 1367, + "id": 4702, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, - "src": "6359:8:8", + "referencedDeclaration": 4639, + "src": "7163:8:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9588,7 +10421,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6344:24:8", + "src": "7148:24:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9599,14 +10432,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 1369, + "id": 4704, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6371:1:8", + "src": "7175:1:52", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9614,20 +10447,20 @@ }, "value": "0" }, - "src": "6344:28:8", + "src": "7148:28:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1371, + "id": 4706, "nodeType": "ExpressionStatement", - "src": "6344:28:8" + "src": "7148:28:52" }, { "expression": { "argumentTypes": null, - "id": 1376, + "id": 4711, "isConstant": false, "isLValue": false, "isPure": false, @@ -9636,26 +10469,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1372, + "id": 4707, "name": "allTokensIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1034, - "src": "6378:14:8", + "referencedDeclaration": 4348, + "src": "7182:14:52", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 1374, + "id": 4709, "indexExpression": { "argumentTypes": null, - "id": 1373, + "id": 4708, "name": "lastToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "6393:9:8", + "referencedDeclaration": 4679, + "src": "7197:9:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9666,7 +10499,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6378:25:8", + "src": "7182:25:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9676,31 +10509,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1375, + "id": 4710, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1330, - "src": "6406:10:8", + "referencedDeclaration": 4665, + "src": "7210:10:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6378:38:8", + "src": "7182:38:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1377, + "id": 4712, "nodeType": "ExpressionStatement", - "src": "6378:38:8" + "src": "7182:38:52" } ] }, - "documentation": "@dev Internal function to burn a specific token\n@dev Reverts if the token does not exist\n@param _owner owner of the token to burn\n@param _tokenId uint256 ID of the token being burned by the msg.sender", - "id": 1379, + "documentation": "@dev Internal function to burn a specific token\nReverts if the token does not exist\n@param _owner owner of the token to burn\n@param _tokenId uint256 ID of the token being burned by the msg.sender", + "id": 4714, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -9708,16 +10541,16 @@ "name": "_burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 1305, + "id": 4640, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1302, + "id": 4637, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1379, - "src": "5851:14:8", + "scope": 4714, + "src": "6655:14:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9725,10 +10558,10 @@ "typeString": "address" }, "typeName": { - "id": 1301, + "id": 4636, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5851:7:8", + "src": "6655:7:52", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9739,11 +10572,11 @@ }, { "constant": false, - "id": 1304, + "id": 4639, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 1379, - "src": "5867:16:8", + "scope": 4714, + "src": "6671:16:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9751,10 +10584,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1303, + "id": 4638, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5867:7:8", + "src": "6671:7:52", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9764,27 +10597,27 @@ "visibility": "internal" } ], - "src": "5850:34:8" + "src": "6654:34:52" }, "payable": false, "returnParameters": { - "id": 1306, + "id": 4641, "nodeType": "ParameterList", "parameters": [], - "src": "5894:0:8" + "src": "6698:0:52" }, - "scope": 1380, - "src": "5836:585:8", + "scope": 4715, + "src": "6640:585:52", "stateMutability": "nonpayable", - "superFunction": 836, + "superFunction": 4123, "visibility": "internal" } ], - "scope": 1381, - "src": "429:5995:8" + "scope": 4716, + "src": "470:6758:52" } ], - "src": "0:6425:8" + "src": "0:7229:52" }, "compiler": { "name": "solc", @@ -9792,5 +10625,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-08-23T17:26:04.166Z" + "updatedAt": "2018-08-27T20:45:00.221Z" } \ No newline at end of file diff --git a/build/contracts/ERC721TokenMock.json b/build/contracts/ERC721TokenMock.json index d942b48ce..446d6f286 100644 --- a/build/contracts/ERC721TokenMock.json +++ b/build/contracts/ERC721TokenMock.json @@ -1,6 +1,25 @@ { "contractName": "ERC721TokenMock", "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [], @@ -499,24 +518,24 @@ "type": "function" } ], - "bytecode": "0x60806040523480156200001157600080fd5b5060405162002a3638038062002a368339810180604052810190808051820192919060200180518201929190505050620000608282620000686401000000000262000ec7176401000000009004565b5050620004d2565b6040805190810160405280600b81526020017f455243373231546f6b656e0000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250620000ef828262000334640100000000026401000000009004565b151515620000fc57600080fd5b83600590805190602001906200011492919062000423565b5082600690805190602001906200012d92919062000423565b507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015620001975780820151818401526020810190506200017a565b50505050905090810190601f168015620001c55780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101562000200578082015181840152602081019050620001e3565b50505050905090810190601f1680156200022e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151562000279578051825260208201915060208101905060208303925062000252565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515620002e45780518252602082019150602081019050602083039250620002bd565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050565b600080836040518082805190602001908083835b6020831015156200036f578051825260208201915060208101905060208303925062000348565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515620003da5780518252602082019150602081019050602083039250620003b3565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200046657805160ff191683800117855562000497565b8280016001018555821562000497579182015b828111156200049657825182559160200191906001019062000479565b5b509050620004a69190620004aa565b5090565b620004cf91905b80821115620004cb576000816000905550600101620004b1565b5090565b90565b61255480620004e26000396000f30060806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610122578063081812fc146101b2578063095ea7b31461021f578063162094c41461026c57806318160ddd146102df57806323b872dd1461030a5780632f745c591461037757806340c10f19146103d857806342842e0e1461042557806342966c68146104925780634cd88b76146104bf5780634f558e791461056e5780634f6ccce7146105b35780636352211e146105f457806370a082311461066157806395d89b41146106b8578063a22cb46514610748578063b88d4fde14610797578063c0bac1a81461084a578063c87b56dd14610911578063e985e9c5146109b7575b600080fd5b34801561012e57600080fd5b50610137610a32565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017757808201518184015260208101905061015c565b50505050905090810190601f1680156101a45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101be57600080fd5b506101dd60048036038101908080359060200190929190505050610ad4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561022b57600080fd5b5061026a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b11565b005b34801561027857600080fd5b506102dd60048036038101908080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ccd565b005b3480156102eb57600080fd5b506102f4610cdb565b6040518082815260200191505060405180910390f35b34801561031657600080fd5b50610375600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce8565b005b34801561038357600080fd5b506103c2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610df5565b6040518082815260200191505060405180910390f35b3480156103e457600080fd5b50610423600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e6c565b005b34801561043157600080fd5b50610490600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e7a565b005b34801561049e57600080fd5b506104bd60048036038101908080359060200190929190505050610eb2565b005b3480156104cb57600080fd5b5061056c600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ec7565b005b34801561057a57600080fd5b5061059960048036038101908080359060200190929190505050611173565b604051808215151515815260200191505060405180910390f35b3480156105bf57600080fd5b506105de600480360381019080803590602001909291905050506111e5565b6040518082815260200191505060405180910390f35b34801561060057600080fd5b5061061f6004803603810190808035906020019092919050505061121d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561066d57600080fd5b506106a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061129b565b6040518082815260200191505060405180910390f35b3480156106c457600080fd5b506106cd61131f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561070d5780820151818401526020810190506106f2565b50505050905090810190601f16801561073a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561075457600080fd5b50610795600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506113c1565b005b3480156107a357600080fd5b50610848600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506114fd565b005b34801561085657600080fd5b506108f7600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061153c565b604051808215151515815260200191505060405180910390f35b34801561091d57600080fd5b5061093c60048036038101908080359060200190929190505050611627565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561097c578082015181840152602081019050610961565b50505050905090810190601f1680156109a95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109c357600080fd5b50610a18600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116f0565b604051808215151515815260200191505060405180910390f35b606060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aca5780601f10610a9f57610100808354040283529160200191610aca565b820191906000526020600020905b815481529060010190602001808311610aad57829003601f168201915b5050505050905090565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610b1c8261121d565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b5957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b995750610b9881336116f0565b5b1515610ba457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16610bc583610ad4565b73ffffffffffffffffffffffffffffffffffffffff16141580610c155750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610cc857826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505050565b610cd78282611784565b5050565b6000600980549050905090565b80610cf333826117c4565b1515610cfe57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610d3a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610d7657600080fd5b610d808483611859565b610d8a84836119b8565b610d948383611bd0565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b6000610e008361129b565b82101515610e0d57600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610e5957fe5b9060005260206000200154905092915050565b610e768282611ca7565b5050565b80610e8533826117c4565b1515610e9057600080fd5b610eac84848460206040519081016040528060008152506114fd565b50505050565b610ec4610ebe8261121d565b82611cfe565b50565b6040805190810160405280600b81526020017f455243373231546f6b656e0000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610f3d828261153c565b151515610f4957600080fd5b8360059080519060200190610f5f92919061240f565b508260069080519060200190610f7692919061240f565b507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610fde578082015181840152602081019050610fc3565b50505050905090810190601f16801561100b5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611044578082015181840152602081019050611029565b50505050905090810190601f1680156110715780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156110ba5780518252602082019150602081019050602083039250611095565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561112357805182526020820191506020810190506020830392506110fe565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60006111ef610cdb565b821015156111fc57600080fd5b60098281548110151561120b57fe5b90600052602060002001549050919050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561129257600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156112d857600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113b75780601f1061138c576101008083540402835291602001916113b7565b820191906000526020600020905b81548152906001019060200180831161139a57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156113fc57600080fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b8161150833826117c4565b151561151357600080fd5b61151e858585610ce8565b61152a85858585611e36565b151561153557600080fd5b5050505050565b600080836040518082805190602001908083835b6020831015156115755780518252602082019150602081019050602083039250611550565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156115de57805182526020820191506020810190506020830392506115b9565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b606061163282611173565b151561163d57600080fd5b600b60008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116e45780601f106116b9576101008083540402835291602001916116e4565b820191906000526020600020905b8154815290600101906020018083116116c757829003601f168201915b50505050509050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61178d82611173565b151561179857600080fd5b80600b600084815260200190815260200160002090805190602001906117bf92919061240f565b505050565b6000806117d08361121d565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061183f57508373ffffffffffffffffffffffffffffffffffffffff1661182784610ad4565b73ffffffffffffffffffffffffffffffffffffffff16145b80611850575061184f81856116f0565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff166118798261121d565b73ffffffffffffffffffffffffffffffffffffffff1614151561189b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156119b45760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b5050565b60008060006119c78585612024565b60086000858152602001908152602001600020549250611a336001600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061215390919063ffffffff16565b9150600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515611a8157fe5b9060005260206000200154905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002084815481101515611adb57fe5b90600052602060002001819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515611b3757fe5b9060005260206000200181905550600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060019003611b97919061248f565b50600060086000868152602001908152602001600020819055508260086000838152602001908152602001600020819055505050505050565b6000611bdc838361216c565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020829080600181540180825580915050906001820390600052602060002001600090919290919091505550806008600084815260200190815260200160002081905550505050565b611cb182826122c6565b600980549050600a60008381526020019081526020016000208190555060098190806001815401808255809150509060018203906000526020600020016000909192909190915055505050565b6000806000611d0d858561236c565b6000600b6000868152602001908152602001600020805460018160011615610100020316600290049050141515611d5e57600b60008581526020019081526020016000206000611d5d91906124bb565b5b600a6000858152602001908152602001600020549250611d8d600160098054905061215390919063ffffffff16565b9150600982815481101515611d9e57fe5b9060005260206000200154905080600984815481101515611dbb57fe5b90600052602060002001819055506000600983815481101515611dda57fe5b90600052602060002001819055506009805480919060019003611dfd919061248f565b506000600a60008681526020019081526020016000208190555082600a6000838152602001908152602001600020819055505050505050565b600080611e588573ffffffffffffffffffffffffffffffffffffffff166123e0565b1515611e67576001915061201b565b8473ffffffffffffffffffffffffffffffffffffffff1663f0b9e5ba8786866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611f29578082015181840152602081019050611f0e565b50505050905090810190601f168015611f565780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b158015611f7757600080fd5b505af1158015611f8b573d6000803e3d6000fd5b505050506040513d6020811015611fa157600080fd5b8101908080519060200190929190505050905063f0b9e5ba7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b8173ffffffffffffffffffffffffffffffffffffffff166120448261121d565b73ffffffffffffffffffffffffffffffffffffffff1614151561206657600080fd5b6120b96001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461215390919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600082821115151561216157fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156121da57600080fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061227f6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f390919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561230257600080fd5b61230c8282611bd0565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6123768282611859565b61238082826119b8565b80600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b6000818301905082811015151561240657fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061245057805160ff191683800117855561247e565b8280016001018555821561247e579182015b8281111561247d578251825591602001919060010190612462565b5b50905061248b9190612503565b5090565b8154818355818111156124b6578183600052602060002091820191016124b59190612503565b5b505050565b50805460018160011615610100020316600290046000825580601f106124e15750612500565b601f0160209004906000526020600020908101906124ff9190612503565b5b50565b61252591905b80821115612521576000816000905550600101612509565b5090565b905600a165627a7a7230582069355ed5f84e8cd89dbe7c585fd97fc0a6c4f719e6ae1eec025de8c166fb2ffb0029", - "deployedBytecode": "0x60806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610122578063081812fc146101b2578063095ea7b31461021f578063162094c41461026c57806318160ddd146102df57806323b872dd1461030a5780632f745c591461037757806340c10f19146103d857806342842e0e1461042557806342966c68146104925780634cd88b76146104bf5780634f558e791461056e5780634f6ccce7146105b35780636352211e146105f457806370a082311461066157806395d89b41146106b8578063a22cb46514610748578063b88d4fde14610797578063c0bac1a81461084a578063c87b56dd14610911578063e985e9c5146109b7575b600080fd5b34801561012e57600080fd5b50610137610a32565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017757808201518184015260208101905061015c565b50505050905090810190601f1680156101a45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101be57600080fd5b506101dd60048036038101908080359060200190929190505050610ad4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561022b57600080fd5b5061026a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b11565b005b34801561027857600080fd5b506102dd60048036038101908080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ccd565b005b3480156102eb57600080fd5b506102f4610cdb565b6040518082815260200191505060405180910390f35b34801561031657600080fd5b50610375600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce8565b005b34801561038357600080fd5b506103c2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610df5565b6040518082815260200191505060405180910390f35b3480156103e457600080fd5b50610423600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e6c565b005b34801561043157600080fd5b50610490600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e7a565b005b34801561049e57600080fd5b506104bd60048036038101908080359060200190929190505050610eb2565b005b3480156104cb57600080fd5b5061056c600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ec7565b005b34801561057a57600080fd5b5061059960048036038101908080359060200190929190505050611173565b604051808215151515815260200191505060405180910390f35b3480156105bf57600080fd5b506105de600480360381019080803590602001909291905050506111e5565b6040518082815260200191505060405180910390f35b34801561060057600080fd5b5061061f6004803603810190808035906020019092919050505061121d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561066d57600080fd5b506106a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061129b565b6040518082815260200191505060405180910390f35b3480156106c457600080fd5b506106cd61131f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561070d5780820151818401526020810190506106f2565b50505050905090810190601f16801561073a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561075457600080fd5b50610795600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506113c1565b005b3480156107a357600080fd5b50610848600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506114fd565b005b34801561085657600080fd5b506108f7600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061153c565b604051808215151515815260200191505060405180910390f35b34801561091d57600080fd5b5061093c60048036038101908080359060200190929190505050611627565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561097c578082015181840152602081019050610961565b50505050905090810190601f1680156109a95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109c357600080fd5b50610a18600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116f0565b604051808215151515815260200191505060405180910390f35b606060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aca5780601f10610a9f57610100808354040283529160200191610aca565b820191906000526020600020905b815481529060010190602001808311610aad57829003601f168201915b5050505050905090565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610b1c8261121d565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b5957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b995750610b9881336116f0565b5b1515610ba457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16610bc583610ad4565b73ffffffffffffffffffffffffffffffffffffffff16141580610c155750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610cc857826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505050565b610cd78282611784565b5050565b6000600980549050905090565b80610cf333826117c4565b1515610cfe57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610d3a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610d7657600080fd5b610d808483611859565b610d8a84836119b8565b610d948383611bd0565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b6000610e008361129b565b82101515610e0d57600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610e5957fe5b9060005260206000200154905092915050565b610e768282611ca7565b5050565b80610e8533826117c4565b1515610e9057600080fd5b610eac84848460206040519081016040528060008152506114fd565b50505050565b610ec4610ebe8261121d565b82611cfe565b50565b6040805190810160405280600b81526020017f455243373231546f6b656e0000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610f3d828261153c565b151515610f4957600080fd5b8360059080519060200190610f5f92919061240f565b508260069080519060200190610f7692919061240f565b507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610fde578082015181840152602081019050610fc3565b50505050905090810190601f16801561100b5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611044578082015181840152602081019050611029565b50505050905090810190601f1680156110715780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156110ba5780518252602082019150602081019050602083039250611095565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561112357805182526020820191506020810190506020830392506110fe565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60006111ef610cdb565b821015156111fc57600080fd5b60098281548110151561120b57fe5b90600052602060002001549050919050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561129257600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156112d857600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113b75780601f1061138c576101008083540402835291602001916113b7565b820191906000526020600020905b81548152906001019060200180831161139a57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156113fc57600080fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b8161150833826117c4565b151561151357600080fd5b61151e858585610ce8565b61152a85858585611e36565b151561153557600080fd5b5050505050565b600080836040518082805190602001908083835b6020831015156115755780518252602082019150602081019050602083039250611550565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156115de57805182526020820191506020810190506020830392506115b9565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b606061163282611173565b151561163d57600080fd5b600b60008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116e45780601f106116b9576101008083540402835291602001916116e4565b820191906000526020600020905b8154815290600101906020018083116116c757829003601f168201915b50505050509050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61178d82611173565b151561179857600080fd5b80600b600084815260200190815260200160002090805190602001906117bf92919061240f565b505050565b6000806117d08361121d565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061183f57508373ffffffffffffffffffffffffffffffffffffffff1661182784610ad4565b73ffffffffffffffffffffffffffffffffffffffff16145b80611850575061184f81856116f0565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff166118798261121d565b73ffffffffffffffffffffffffffffffffffffffff1614151561189b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156119b45760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b5050565b60008060006119c78585612024565b60086000858152602001908152602001600020549250611a336001600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061215390919063ffffffff16565b9150600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515611a8157fe5b9060005260206000200154905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002084815481101515611adb57fe5b90600052602060002001819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515611b3757fe5b9060005260206000200181905550600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060019003611b97919061248f565b50600060086000868152602001908152602001600020819055508260086000838152602001908152602001600020819055505050505050565b6000611bdc838361216c565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020829080600181540180825580915050906001820390600052602060002001600090919290919091505550806008600084815260200190815260200160002081905550505050565b611cb182826122c6565b600980549050600a60008381526020019081526020016000208190555060098190806001815401808255809150509060018203906000526020600020016000909192909190915055505050565b6000806000611d0d858561236c565b6000600b6000868152602001908152602001600020805460018160011615610100020316600290049050141515611d5e57600b60008581526020019081526020016000206000611d5d91906124bb565b5b600a6000858152602001908152602001600020549250611d8d600160098054905061215390919063ffffffff16565b9150600982815481101515611d9e57fe5b9060005260206000200154905080600984815481101515611dbb57fe5b90600052602060002001819055506000600983815481101515611dda57fe5b90600052602060002001819055506009805480919060019003611dfd919061248f565b506000600a60008681526020019081526020016000208190555082600a6000838152602001908152602001600020819055505050505050565b600080611e588573ffffffffffffffffffffffffffffffffffffffff166123e0565b1515611e67576001915061201b565b8473ffffffffffffffffffffffffffffffffffffffff1663f0b9e5ba8786866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611f29578082015181840152602081019050611f0e565b50505050905090810190601f168015611f565780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b158015611f7757600080fd5b505af1158015611f8b573d6000803e3d6000fd5b505050506040513d6020811015611fa157600080fd5b8101908080519060200190929190505050905063f0b9e5ba7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b8173ffffffffffffffffffffffffffffffffffffffff166120448261121d565b73ffffffffffffffffffffffffffffffffffffffff1614151561206657600080fd5b6120b96001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461215390919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600082821115151561216157fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156121da57600080fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061227f6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f390919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561230257600080fd5b61230c8282611bd0565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6123768282611859565b61238082826119b8565b80600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b6000818301905082811015151561240657fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061245057805160ff191683800117855561247e565b8280016001018555821561247e579182015b8281111561247d578251825591602001919060010190612462565b5b50905061248b9190612503565b5090565b8154818355818111156124b6578183600052602060002091820191016124b59190612503565b5b505050565b50805460018160011615610100020316600290046000825580601f106124e15750612500565b601f0160209004906000526020600020908101906124ff9190612503565b5b50565b61252591905b80821115612521576000816000905550600101612509565b5090565b905600a165627a7a7230582069355ed5f84e8cd89dbe7c585fd97fc0a6c4f719e6ae1eec025de8c166fb2ffb0029", - "sourceMap": "226:448:2:-;;;270:107;8:9:-1;5:2;;;30:1;27;20:12;5:2;270:107:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:36;359:4;365:6;336:22;;;;;:36;;;:::i;:::-;270:107;;226:448;;1141:142:8;1004:223:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;;;:37;;;:::i;:::-;1082:38;1074:47;;;;;;;;1250:5:8;1242;:13;;;;;;;;;;;;:::i;:::-;;1271:7;1261;:17;;;;;;;;;;;;:::i;:::-;;1139:35:10;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:10;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:10;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;1141:142:8;;;;:::o;1950:140:10:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:10;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;226:448:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "226:448:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1377:68:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1377:68:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1377:68:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3605:111:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3605:111:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3021:355;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3021:355:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;568:104:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;568:104:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2621:87:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2621:87:8;;;;;;;;;;;;;;;;;;;;;;;5085:316:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5085:316:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2302:177:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2302:177:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;381:89:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;381:89:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6017:225:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6017:225:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;474:90:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;474:90:2;;;;;;;;;;;;;;;;;;;;;;;;;;1141:142:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1141:142:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2461:140:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2461:140:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3037::8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3037:140:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2119:164:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2119:164:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1764:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1764:142:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1543:72:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1543:72:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1543:72:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4001:205:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4001:205:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6929:302;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6929:302:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:133:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1808:133:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1808:133:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4515:142:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4515:142:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1377:68:8;1414:6;1435:5;1428:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1377:68;:::o;3605:111:6:-;3665:7;3687:14;:24;3702:8;3687:24;;;;;;;;;;;;;;;;;;;;;3680:31;;3605:111;;;:::o;3021:355::-;3082:13;3098:17;3106:8;3098:7;:17::i;:::-;3082:33;;3136:5;3129:12;;:3;:12;;;;3121:21;;;;;;;;3170:5;3156:19;;:10;:19;;;:58;;;;3179:35;3196:5;3203:10;3179:16;:35::i;:::-;3156:58;3148:67;;;;;;;;3259:1;3226:35;;:21;3238:8;3226:11;:21::i;:::-;:35;;;;:56;;;;3280:1;3265:17;;:3;:17;;;;3226:56;3222:150;;;3319:3;3292:14;:24;3307:8;3292:24;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;3356:8;3351:3;3335:30;;3344:5;3335:30;;;;;;;;;;;;3222:150;3021:355;;;:::o;568:104:2:-;633:34;652:8;662:4;633:18;:34::i;:::-;568:104;;:::o;2621:87:8:-;2665:7;2687:9;:16;;;;2680:23;;2621:87;:::o;5085:316:6:-;5172:8;1520:39;1538:10;1550:8;1520:17;:39::i;:::-;1512:48;;;;;;;;5213:1;5196:19;;:5;:19;;;;5188:28;;;;;;;;5245:1;5230:17;;:3;:17;;;;5222:26;;;;;;;;5255:30;5269:5;5276:8;5255:13;:30::i;:::-;5291:32;5307:5;5314:8;5291:15;:32::i;:::-;5329:25;5340:3;5345:8;5329:10;:25::i;:::-;5387:8;5382:3;5366:30;;5375:5;5366:30;;;;;;;;;;;;5085:316;;;;:::o;2302:177:8:-;2384:7;2416:17;2426:6;2416:9;:17::i;:::-;2407:6;:26;2399:35;;;;;;;;2447:11;:19;2459:6;2447:19;;;;;;;;;;;;;;;2467:6;2447:27;;;;;;;;;;;;;;;;;;2440:34;;2302:177;;;;:::o;381:89:2:-;439:26;451:3;456:8;439:11;:26::i;:::-;381:89;;:::o;6017:225:6:-;6132:8;1520:39;1538:10;1550:8;1520:17;:39::i;:::-;1512:48;;;;;;;;6195:42;6212:5;6219:3;6224:8;6195:42;;;;;;;;;;;;;:16;:42::i;:::-;6017:225;;;;:::o;474:90:2:-;519:40;531:17;539:8;531:7;:17::i;:::-;550:8;519:11;:40::i;:::-;474:90;:::o;1141:142:8:-;1004:223:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;1250:5:8;1242;:13;;;;;;;;;;;;:::i;:::-;;1271:7;1261;:17;;;;;;;;;;;;:::i;:::-;;1139:35:10;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:10;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:10;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;1141:142:8;;;;:::o;2461:140:6:-;2516:4;2528:13;2544:10;:20;2555:8;2544:20;;;;;;;;;;;;;;;;;;;;;2528:36;;2594:1;2577:19;;:5;:19;;;;2570:26;;2461:140;;;;:::o;3037::8:-;3096:7;3128:13;:11;:13::i;:::-;3119:6;:22;3111:31;;;;;;;;3155:9;3165:6;3155:17;;;;;;;;;;;;;;;;;;3148:24;;3037:140;;;:::o;2119:164:6:-;2175:7;2190:13;2206:10;:20;2217:8;2206:20;;;;;;;;;;;;;;;;;;;;;2190:36;;2257:1;2240:19;;:5;:19;;;;2232:28;;;;;;;;2273:5;2266:12;;2119:164;;;;:::o;1764:142::-;1820:7;1861:1;1843:20;;:6;:20;;;;1835:29;;;;;;;;1877:16;:24;1894:6;1877:24;;;;;;;;;;;;;;;;1870:31;;1764:142;;;:::o;1543:72:8:-;1582:6;1603:7;1596:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1543:72;:::o;4001:205:6:-;4085:10;4078:17;;:3;:17;;;;4070:26;;;;;;;;4139:9;4102:17;:29;4120:10;4102:29;;;;;;;;;;;;;;;:34;4132:3;4102:34;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;4186:3;4159:42;;4174:10;4159:42;;;4191:9;4159:42;;;;;;;;;;;;;;;;;;;;;;4001:205;;:::o;6929:302::-;7061:8;1520:39;1538:10;1550:8;1520:17;:39::i;:::-;1512:48;;;;;;;;7079:34;7092:5;7099:3;7104:8;7079:12;:34::i;:::-;7172:53;7197:5;7204:3;7209:8;7219:5;7172:24;:53::i;:::-;7164:62;;;;;;;;6929:302;;;;;:::o;1950:140:10:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:10;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;1808:133:8:-;1865:6;1887:16;1894:8;1887:6;:16::i;:::-;1879:25;;;;;;;;1917:9;:19;1927:8;1917:19;;;;;;;;;;;1910:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:133;;;:::o;4515:142:6:-;4597:4;4616:17;:25;4634:6;4616:25;;;;;;;;;;;;;;;:36;4642:9;4616:36;;;;;;;;;;;;;;;;;;;;;;;;;4609:43;;4515:142;;;;:::o;3407:130:8:-;3483:16;3490:8;3483:6;:16::i;:::-;3475:25;;;;;;;;3528:4;3506:9;:19;3516:8;3506:19;;;;;;;;;;;:26;;;;;;;;;;;;:::i;:::-;;3407:130;;:::o;7578:240:6:-;7664:4;7676:13;7692:17;7700:8;7692:7;:17::i;:::-;7676:33;;7734:5;7722:17;;:8;:17;;;:54;;;;7768:8;7743:33;;:21;7755:8;7743:11;:21::i;:::-;:33;;;7722:54;:91;;;;7780:33;7797:5;7804:8;7780:16;:33::i;:::-;7722:91;7715:98;;7578:240;;;;;:::o;8887:265::-;8988:6;8967:27;;:17;8975:8;8967:7;:17::i;:::-;:27;;;8959:36;;;;;;;;9041:1;9005:38;;:14;:24;9020:8;9005:24;;;;;;;;;;;;;;;;;;;;;:38;;;;9001:147;;;9088:1;9053:14;:24;9068:8;9053:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;9132:8;9128:1;9103:38;;9112:6;9103:38;;;;;;;;;;;;9001:147;8887:265;;:::o;4305:856:8:-;4423:18;4476:22;4539:17;4378:38;4400:5;4407:8;4378:21;:38::i;:::-;4444:16;:26;4461:8;4444:26;;;;;;;;;;;;4423:47;;4501:32;4531:1;4501:11;:18;4513:5;4501:18;;;;;;;;;;;;;;;:25;;;;:29;;:32;;;;:::i;:::-;4476:57;;4559:11;:18;4571:5;4559:18;;;;;;;;;;;;;;;4578:14;4559:34;;;;;;;;;;;;;;;;;;4539:54;;4633:9;4600:11;:18;4612:5;4600:18;;;;;;;;;;;;;;;4619:10;4600:30;;;;;;;;;;;;;;;;;:42;;;;4685:1;4648:11;:18;4660:5;4648:18;;;;;;;;;;;;;;;4667:14;4648:34;;;;;;;;;;;;;;;;;:38;;;;5047:11;:18;5059:5;5047:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;:::i;:::-;;5109:1;5080:16;:26;5097:8;5080:26;;;;;;;;;;;:30;;;;5146:10;5116:16;:27;5133:9;5116:27;;;;;;;;;;;:40;;;;4305:856;;;;;:::o;3800:226::-;3903:14;3866:31;3883:3;3888:8;3866:16;:31::i;:::-;3920:11;:16;3932:3;3920:16;;;;;;;;;;;;;;;:23;;;;3903:40;;3949:11;:16;3961:3;3949:16;;;;;;;;;;;;;;;3971:8;3949:31;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;3949:31:8;;;;;;;;;;;;;;;;;;;;;;4015:6;3986:16;:26;4003:8;3986:26;;;;;;;;;;;:35;;;;3800:226;;;:::o;5427:172::-;5488:26;5500:3;5505:8;5488:11;:26::i;:::-;5548:9;:16;;;;5521:14;:24;5536:8;5521:24;;;;;;;;;;;:43;;;;5570:9;5585:8;5570:24;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;5570:24:8;;;;;;;;;;;;;;;;;;;;;;5427:172;;:::o;5836:585::-;6088:18;6139:22;6193:17;5900:29;5912:6;5920:8;5900:11;:29::i;:::-;6008:1;5977:9;:19;5987:8;5977:19;;;;;;;;;;;5971:33;;;;;;;;;;;;;;;;:38;;5967:85;;;6026:9;:19;6036:8;6026:19;;;;;;;;;;;;6019:26;;;;:::i;:::-;5967:85;6109:14;:24;6124:8;6109:24;;;;;;;;;;;;6088:45;;6164:23;6185:1;6164:9;:16;;;;:20;;:23;;;;:::i;:::-;6139:48;;6213:9;6223:14;6213:25;;;;;;;;;;;;;;;;;;6193:45;;6269:9;6245;6255:10;6245:21;;;;;;;;;;;;;;;;;:33;;;;6312:1;6284:9;6294:14;6284:25;;;;;;;;;;;;;;;;;:29;;;;6320:9;:18;;;;;;;;;;;;:::i;:::-;;6371:1;6344:14;:24;6359:8;6344:24;;;;;;;;;;;:28;;;;6406:10;6378:14;:25;6393:9;6378:25;;;;;;;;;;;:38;;;;5836:585;;;;;:::o;10623:328:6:-;10762:4;10830:13;10781:16;:3;:14;;;:16::i;:::-;10780:17;10776:49;;;10814:4;10807:11;;;;10776:49;10861:3;10846:36;;;10883:5;10890:8;10900:5;10846:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;10846:60:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10846:60:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10846:60:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10846:60:6;;;;;;;;;;;;;;;;10830:76;;604:10;10930:15;;10920:25;;;:6;:25;;;;10912:34;;10623:328;;;;;;;;:::o;9898:214::-;10000:5;9979:26;;:17;9987:8;9979:7;:17::i;:::-;:26;;;9971:35;;;;;;;;10038:30;10066:1;10038:16;:23;10055:5;10038:23;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;10012:16;:23;10029:5;10012:23;;;;;;;;;;;;;;;:56;;;;10105:1;10074:10;:20;10085:8;10074:20;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;9898:214;;:::o;836:110:1:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;9415:204:6:-;9521:1;9489:34;;:10;:20;9500:8;9489:20;;;;;;;;;;;;;;;;;;;;;:34;;;9481:43;;;;;;;;9553:3;9530:10;:20;9541:8;9530:20;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;9586:28;9612:1;9586:16;:21;9603:3;9586:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;9562:16;:21;9579:3;9562:21;;;;;;;;;;;;;;;:52;;;;9415:204;;:::o;8072:169::-;8156:1;8141:17;;:3;:17;;;;8133:26;;;;;;;;8165:25;8176:3;8181:8;8165:10;:25::i;:::-;8227:8;8222:3;8201:35;;8218:1;8201:35;;;;;;;;;;;;8072:169;;:::o;8432:188::-;8496:31;8510:6;8518:8;8496:13;:31::i;:::-;8533:33;8549:6;8557:8;8533:15;:33::i;:::-;8606:8;8602:1;8577:38;;8586:6;8577:38;;;;;;;;;;;;8432:188;;:::o;438:568:0:-;495:4;507:12;922:4;910:17;902:25;;1000:1;993:4;:8;986:15;;438:568;;;;:::o;1008:123:1:-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;226:448:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity ^0.4.21;\n\nimport \"../token/ERC721/ERC721Token.sol\";\n\n\n/**\n * @title ERC721TokenMock\n * This mock just provides a public mint and burn functions for testing purposes,\n * and a public setter for metadata URI\n */\ncontract ERC721TokenMock is ERC721Token {\n function ERC721TokenMock(string name, string symbol) public {\n ERC721Token.initialize(name, symbol);\n }\n\n function mint(address _to, uint256 _tokenId) public {\n super._mint(_to, _tokenId);\n }\n\n function burn(uint256 _tokenId) public {\n super._burn(ownerOf(_tokenId), _tokenId);\n }\n\n function setTokenURI(uint256 _tokenId, string _uri) public {\n super._setTokenURI(_tokenId, _uri);\n }\n}\n", + "bytecode": "0x60806040523480156200001157600080fd5b5060405162002c5538038062002c558339810180604052810190808051820192919060200180518201929190505050620000608282620000686401000000000262000ed1176401000000009004565b5050620004d2565b6040805190810160405280600b81526020017f455243373231546f6b656e0000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250620000ef828262000334640100000000026401000000009004565b151515620000fc57600080fd5b83600590805190602001906200011492919062000423565b5082600690805190602001906200012d92919062000423565b507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015620001975780820151818401526020810190506200017a565b50505050905090810190601f168015620001c55780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101562000200578082015181840152602081019050620001e3565b50505050905090810190601f1680156200022e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151562000279578051825260208201915060208101905060208303925062000252565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515620002e45780518252602082019150602081019050602083039250620002bd565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050565b600080836040518082805190602001908083835b6020831015156200036f578051825260208201915060208101905060208303925062000348565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515620003da5780518252602082019150602081019050602083039250620003b3565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200046657805160ff191683800117855562000497565b8280016001018555821562000497579182015b828111156200049657825182559160200191906001019062000479565b5b509050620004a69190620004aa565b5090565b620004cf91905b80821115620004cb576000816000905550600101620004b1565b5090565b90565b61277380620004e26000396000f300608060405260043610610128576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ffc9a71461012d57806306fdde0314610191578063081812fc14610221578063095ea7b31461028e578063162094c4146102db57806318160ddd1461034e57806323b872dd146103795780632f745c59146103e657806340c10f191461044757806342842e0e1461049457806342966c68146105015780634cd88b761461052e5780634f558e79146105dd5780634f6ccce7146106225780636352211e1461066357806370a08231146106d057806395d89b4114610727578063a22cb465146107b7578063b88d4fde14610806578063c0bac1a8146108b9578063c87b56dd14610980578063e985e9c514610a26575b600080fd5b34801561013957600080fd5b5061017760048036038101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610aa1565b604051808215151515815260200191505060405180910390f35b34801561019d57600080fd5b506101a6610ab3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e65780820151818401526020810190506101cb565b50505050905090810190601f1680156102135780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022d57600080fd5b5061024c60048036038101908080359060200190929190505050610b55565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029a57600080fd5b506102d9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b92565b005b3480156102e757600080fd5b5061034c60048036038101908080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610cd7565b005b34801561035a57600080fd5b50610363610ce5565b6040518082815260200191505060405180910390f35b34801561038557600080fd5b506103e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cf2565b005b3480156103f257600080fd5b50610431600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dff565b6040518082815260200191505060405180910390f35b34801561045357600080fd5b50610492600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e76565b005b3480156104a057600080fd5b506104ff600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e84565b005b34801561050d57600080fd5b5061052c60048036038101908080359060200190929190505050610ebc565b005b34801561053a57600080fd5b506105db600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ed1565b005b3480156105e957600080fd5b506106086004803603810190808035906020019092919050505061117d565b604051808215151515815260200191505060405180910390f35b34801561062e57600080fd5b5061064d600480360381019080803590602001909291905050506111ef565b6040518082815260200191505060405180910390f35b34801561066f57600080fd5b5061068e60048036038101908080359060200190929190505050611227565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106dc57600080fd5b50610711600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112a5565b6040518082815260200191505060405180910390f35b34801561073357600080fd5b5061073c611329565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561077c578082015181840152602081019050610761565b50505050905090810190601f1680156107a95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107c357600080fd5b50610804600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506113cb565b005b34801561081257600080fd5b506108b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611507565b005b3480156108c557600080fd5b50610966600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611546565b604051808215151515815260200191505060405180910390f35b34801561098c57600080fd5b506109ab60048036038101908080359060200190929190505050611631565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109eb5780820151818401526020810190506109d0565b50505050905090810190601f168015610a185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a3257600080fd5b50610a87600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116fa565b604051808215151515815260200191505060405180910390f35b6000610aac8261178e565b9050919050565b606060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b4b5780601f10610b2057610100808354040283529160200191610b4b565b820191906000526020600020905b815481529060010190602001808311610b2e57829003601f168201915b5050505050905090565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610b9d82611227565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610bda57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c1a5750610c1981336116fa565b5b1515610c2557600080fd5b826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b610ce18282611876565b5050565b6000600980549050905090565b80610cfd33826118b6565b1515610d0857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610d4457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610d8057600080fd5b610d8a848361194b565b610d948483611a4e565b610d9e8383611c66565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b6000610e0a836112a5565b82101515610e1757600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610e6357fe5b9060005260206000200154905092915050565b610e808282611d3d565b5050565b80610e8f33826118b6565b1515610e9a57600080fd5b610eb68484846020604051908101604052806000815250611507565b50505050565b610ece610ec882611227565b82611d94565b50565b6040805190810160405280600b81526020017f455243373231546f6b656e0000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610f478282611546565b151515610f5357600080fd5b8360059080519060200190610f6992919061262e565b508260069080519060200190610f8092919061262e565b507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610fe8578082015181840152602081019050610fcd565b50505050905090810190601f1680156110155780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561104e578082015181840152602081019050611033565b50505050905090810190601f16801561107b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156110c4578051825260208201915060208101905060208303925061109f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561112d5780518252602082019150602081019050602083039250611108565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60006111f9610ce5565b8210151561120657600080fd5b60098281548110151561121557fe5b90600052602060002001549050919050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561129c57600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156112e257600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113c15780601f10611396576101008083540402835291602001916113c1565b820191906000526020600020905b8154815290600101906020018083116113a457829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561140657600080fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b8161151233826118b6565b151561151d57600080fd5b611528858585610cf2565b61153485858585611ecc565b151561153f57600080fd5b5050505050565b600080836040518082805190602001908083835b60208310151561157f578051825260208201915060208101905060208303925061155a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156115e857805182526020820191506020810190506020830392506115c3565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b606061163c8261117d565b151561164757600080fd5b600b60008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116ee5780601f106116c3576101008083540402835291602001916116ee565b820191906000526020600020905b8154815290600101906020018083116116d157829003601f168201915b50505050509050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000611799826120ee565b80611804575063780e9d637c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061186f5750635b5e139f7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b61187f8261117d565b151561188a57600080fd5b80600b600084815260200190815260200160002090805190602001906118b192919061262e565b505050565b6000806118c283611227565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061193157508373ffffffffffffffffffffffffffffffffffffffff1661191984610b55565b73ffffffffffffffffffffffffffffffffffffffff16145b80611942575061194181856116fa565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff1661196b82611227565b73ffffffffffffffffffffffffffffffffffffffff1614151561198d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611a4a5760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b6000806000611a5d85856121d6565b60086000858152602001908152602001600020549250611ac96001600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061230590919063ffffffff16565b9150600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515611b1757fe5b9060005260206000200154905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002084815481101515611b7157fe5b90600052602060002001819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515611bcd57fe5b9060005260206000200181905550600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060019003611c2d91906126ae565b50600060086000868152602001908152602001600020819055508260086000838152602001908152602001600020819055505050505050565b6000611c72838361231e565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020829080600181540180825580915050906001820390600052602060002001600090919290919091505550806008600084815260200190815260200160002081905550505050565b611d478282612478565b600980549050600a60008381526020019081526020016000208190555060098190806001815401808255809150509060018203906000526020600020016000909192909190915055505050565b6000806000611da3858561251e565b6000600b6000868152602001908152602001600020805460018160011615610100020316600290049050141515611df457600b60008581526020019081526020016000206000611df391906126da565b5b600a6000858152602001908152602001600020549250611e23600160098054905061230590919063ffffffff16565b9150600982815481101515611e3457fe5b9060005260206000200154905080600984815481101515611e5157fe5b90600052602060002001819055506000600983815481101515611e7057fe5b90600052602060002001819055506009805480919060019003611e9391906126ae565b506000600a60008681526020019081526020016000208190555082600a6000838152602001908152602001600020819055505050505050565b600080611eee8573ffffffffffffffffffffffffffffffffffffffff16612592565b1515611efd57600191506120e5565b8473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611ff2578082015181840152602081019050611fd7565b50505050905090810190601f16801561201f5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561204157600080fd5b505af1158015612055573d6000803e3d6000fd5b505050506040513d602081101561206b57600080fd5b8101908080519060200190929190505050905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b60006120f9826125a5565b8061216457506380ac58cd7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806121cf5750634f558e797c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff166121f682611227565b73ffffffffffffffffffffffffffffffffffffffff1614151561221857600080fd5b61226b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461230590919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600082821115151561231357fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561238c57600080fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506124316001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261290919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156124b457600080fd5b6124be8282611c66565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b612528828261194b565b6125328282611a4e565b80600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b60006301ffc9a77c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000818301905082811015151561262557fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061266f57805160ff191683800117855561269d565b8280016001018555821561269d579182015b8281111561269c578251825591602001919060010190612681565b5b5090506126aa9190612722565b5090565b8154818355818111156126d5578183600052602060002091820191016126d49190612722565b5b505050565b50805460018160011615610100020316600290046000825580601f10612700575061271f565b601f01602090049060005260206000209081019061271e9190612722565b5b50565b61274491905b80821115612740576000816000905550600101612728565b5090565b905600a165627a7a72305820eb426a7296ec5cfee42e7ea240dea5a7f9a9a4c7b01bc91ae6530f91cb40c5be0029", + "deployedBytecode": "0x608060405260043610610128576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ffc9a71461012d57806306fdde0314610191578063081812fc14610221578063095ea7b31461028e578063162094c4146102db57806318160ddd1461034e57806323b872dd146103795780632f745c59146103e657806340c10f191461044757806342842e0e1461049457806342966c68146105015780634cd88b761461052e5780634f558e79146105dd5780634f6ccce7146106225780636352211e1461066357806370a08231146106d057806395d89b4114610727578063a22cb465146107b7578063b88d4fde14610806578063c0bac1a8146108b9578063c87b56dd14610980578063e985e9c514610a26575b600080fd5b34801561013957600080fd5b5061017760048036038101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610aa1565b604051808215151515815260200191505060405180910390f35b34801561019d57600080fd5b506101a6610ab3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e65780820151818401526020810190506101cb565b50505050905090810190601f1680156102135780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022d57600080fd5b5061024c60048036038101908080359060200190929190505050610b55565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029a57600080fd5b506102d9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b92565b005b3480156102e757600080fd5b5061034c60048036038101908080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610cd7565b005b34801561035a57600080fd5b50610363610ce5565b6040518082815260200191505060405180910390f35b34801561038557600080fd5b506103e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cf2565b005b3480156103f257600080fd5b50610431600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dff565b6040518082815260200191505060405180910390f35b34801561045357600080fd5b50610492600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e76565b005b3480156104a057600080fd5b506104ff600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e84565b005b34801561050d57600080fd5b5061052c60048036038101908080359060200190929190505050610ebc565b005b34801561053a57600080fd5b506105db600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ed1565b005b3480156105e957600080fd5b506106086004803603810190808035906020019092919050505061117d565b604051808215151515815260200191505060405180910390f35b34801561062e57600080fd5b5061064d600480360381019080803590602001909291905050506111ef565b6040518082815260200191505060405180910390f35b34801561066f57600080fd5b5061068e60048036038101908080359060200190929190505050611227565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106dc57600080fd5b50610711600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112a5565b6040518082815260200191505060405180910390f35b34801561073357600080fd5b5061073c611329565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561077c578082015181840152602081019050610761565b50505050905090810190601f1680156107a95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107c357600080fd5b50610804600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506113cb565b005b34801561081257600080fd5b506108b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611507565b005b3480156108c557600080fd5b50610966600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611546565b604051808215151515815260200191505060405180910390f35b34801561098c57600080fd5b506109ab60048036038101908080359060200190929190505050611631565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109eb5780820151818401526020810190506109d0565b50505050905090810190601f168015610a185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a3257600080fd5b50610a87600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116fa565b604051808215151515815260200191505060405180910390f35b6000610aac8261178e565b9050919050565b606060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b4b5780601f10610b2057610100808354040283529160200191610b4b565b820191906000526020600020905b815481529060010190602001808311610b2e57829003601f168201915b5050505050905090565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610b9d82611227565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610bda57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c1a5750610c1981336116fa565b5b1515610c2557600080fd5b826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b610ce18282611876565b5050565b6000600980549050905090565b80610cfd33826118b6565b1515610d0857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610d4457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610d8057600080fd5b610d8a848361194b565b610d948483611a4e565b610d9e8383611c66565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b6000610e0a836112a5565b82101515610e1757600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610e6357fe5b9060005260206000200154905092915050565b610e808282611d3d565b5050565b80610e8f33826118b6565b1515610e9a57600080fd5b610eb68484846020604051908101604052806000815250611507565b50505050565b610ece610ec882611227565b82611d94565b50565b6040805190810160405280600b81526020017f455243373231546f6b656e0000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610f478282611546565b151515610f5357600080fd5b8360059080519060200190610f6992919061262e565b508260069080519060200190610f8092919061262e565b507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610fe8578082015181840152602081019050610fcd565b50505050905090810190601f1680156110155780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561104e578082015181840152602081019050611033565b50505050905090810190601f16801561107b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156110c4578051825260208201915060208101905060208303925061109f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561112d5780518252602082019150602081019050602083039250611108565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60006111f9610ce5565b8210151561120657600080fd5b60098281548110151561121557fe5b90600052602060002001549050919050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561129c57600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156112e257600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113c15780601f10611396576101008083540402835291602001916113c1565b820191906000526020600020905b8154815290600101906020018083116113a457829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561140657600080fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b8161151233826118b6565b151561151d57600080fd5b611528858585610cf2565b61153485858585611ecc565b151561153f57600080fd5b5050505050565b600080836040518082805190602001908083835b60208310151561157f578051825260208201915060208101905060208303925061155a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156115e857805182526020820191506020810190506020830392506115c3565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b606061163c8261117d565b151561164757600080fd5b600b60008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116ee5780601f106116c3576101008083540402835291602001916116ee565b820191906000526020600020905b8154815290600101906020018083116116d157829003601f168201915b50505050509050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000611799826120ee565b80611804575063780e9d637c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061186f5750635b5e139f7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b61187f8261117d565b151561188a57600080fd5b80600b600084815260200190815260200160002090805190602001906118b192919061262e565b505050565b6000806118c283611227565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061193157508373ffffffffffffffffffffffffffffffffffffffff1661191984610b55565b73ffffffffffffffffffffffffffffffffffffffff16145b80611942575061194181856116fa565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff1661196b82611227565b73ffffffffffffffffffffffffffffffffffffffff1614151561198d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611a4a5760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b6000806000611a5d85856121d6565b60086000858152602001908152602001600020549250611ac96001600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061230590919063ffffffff16565b9150600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515611b1757fe5b9060005260206000200154905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002084815481101515611b7157fe5b90600052602060002001819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515611bcd57fe5b9060005260206000200181905550600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060019003611c2d91906126ae565b50600060086000868152602001908152602001600020819055508260086000838152602001908152602001600020819055505050505050565b6000611c72838361231e565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020829080600181540180825580915050906001820390600052602060002001600090919290919091505550806008600084815260200190815260200160002081905550505050565b611d478282612478565b600980549050600a60008381526020019081526020016000208190555060098190806001815401808255809150509060018203906000526020600020016000909192909190915055505050565b6000806000611da3858561251e565b6000600b6000868152602001908152602001600020805460018160011615610100020316600290049050141515611df457600b60008581526020019081526020016000206000611df391906126da565b5b600a6000858152602001908152602001600020549250611e23600160098054905061230590919063ffffffff16565b9150600982815481101515611e3457fe5b9060005260206000200154905080600984815481101515611e5157fe5b90600052602060002001819055506000600983815481101515611e7057fe5b90600052602060002001819055506009805480919060019003611e9391906126ae565b506000600a60008681526020019081526020016000208190555082600a6000838152602001908152602001600020819055505050505050565b600080611eee8573ffffffffffffffffffffffffffffffffffffffff16612592565b1515611efd57600191506120e5565b8473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611ff2578082015181840152602081019050611fd7565b50505050905090810190601f16801561201f5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561204157600080fd5b505af1158015612055573d6000803e3d6000fd5b505050506040513d602081101561206b57600080fd5b8101908080519060200190929190505050905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b60006120f9826125a5565b8061216457506380ac58cd7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806121cf5750634f558e797c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff166121f682611227565b73ffffffffffffffffffffffffffffffffffffffff1614151561221857600080fd5b61226b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461230590919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600082821115151561231357fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561238c57600080fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506124316001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261290919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156124b457600080fd5b6124be8282611c66565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b612528828261194b565b6125328282611a4e565b80600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b60006301ffc9a77c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000818301905082811015151561262557fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061266f57805160ff191683800117855561269d565b8280016001018555821561269d579182015b8281111561269c578251825591602001919060010190612681565b5b5090506126aa9190612722565b5090565b8154818355818111156126d5578183600052602060002091820191016126d49190612722565b5b505050565b50805460018160011615610100020316600290046000825580601f10612700575061271f565b601f01602090049060005260206000209081019061271e9190612722565b5b50565b61274491905b80821115612740576000816000905550600101612728565b5090565b905600a165627a7a72305820eb426a7296ec5cfee42e7ea240dea5a7f9a9a4c7b01bc91ae6530f91cb40c5be0029", + "sourceMap": "226:435:16:-;;;270:94;8:9:-1;5:2;;;30:1;27;20:12;5:2;270:94:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;323:36;346:4;352:6;323:22;;;;;:36;;;:::i;:::-;270:94;;226:435;;1682:142:52;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;;;:37;;;:::i;:::-;1082:38;1074:47;;;;;;;;1791:5:52;1783;:13;;;;;;;;;;;;:::i;:::-;;1812:7;1802;:17;;;;;;;;;;;;:::i;:::-;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;1682:142:52;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;226:435:16:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "226:435:16:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;340:143:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;340:143:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2176:70:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2176:70:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2176:70:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4612:111:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4612:111:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4108:277;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4108:277:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;555:104:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;555:104:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3445:87:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3445:87:52;;;;;;;;;;;;;;;;;;;;;;;6103:342:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6103:342:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3100:203:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3100:203:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;368:89:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;368:89:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7061:225:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7061:225:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;461:90:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;461:90:16;;;;;;;;;;;;;;;;;;;;;;;;;;1682:142:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1682:142:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3563:140:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:140:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3856::52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3856:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3221:164:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3221:164:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2866:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2866:142:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2344:74:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2344:74:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2344:74:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5003:205:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5003:205:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7968:302;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7968:302:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2606:133:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2606:133:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2606:133:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5517:168:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5517:168:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;340:143:5;423:4;444:32;463:12;444:18;:32::i;:::-;437:39;;340:143;;;:::o;2176:70:52:-;2215:6;2236:5;2229:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2176:70;:::o;4612:111:49:-;4672:7;4694:14;:24;4709:8;4694:24;;;;;;;;;;;;;;;;;;;;;4687:31;;4612:111;;;:::o;4108:277::-;4169:13;4185:17;4193:8;4185:7;:17::i;:::-;4169:33;;4223:5;4216:12;;:3;:12;;;;4208:21;;;;;;;;4257:5;4243:19;;:10;:19;;;:58;;;;4266:35;4283:5;4290:10;4266:16;:35::i;:::-;4243:58;4235:67;;;;;;;;4336:3;4309:14;:24;4324:8;4309:24;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;4371:8;4366:3;4350:30;;4359:5;4350:30;;;;;;;;;;;;4108:277;;;:::o;555:104:16:-;620:34;639:8;649:4;620:18;:34::i;:::-;555:104;;:::o;3445:87:52:-;3489:7;3511:9;:16;;;;3504:23;;3445:87;:::o;6103:342:49:-;6214:8;2376:39;2394:10;2406:8;2376:17;:39::i;:::-;2368:48;;;;;;;;6257:1;6240:19;;:5;:19;;;;6232:28;;;;;;;;6289:1;6274:17;;:3;:17;;;;6266:26;;;;;;;;6299:30;6313:5;6320:8;6299:13;:30::i;:::-;6335:32;6351:5;6358:8;6335:15;:32::i;:::-;6373:25;6384:3;6389:8;6373:10;:25::i;:::-;6431:8;6426:3;6410:30;;6419:5;6410:30;;;;;;;;;;;;6103:342;;;;:::o;3100:203:52:-;3206:7;3240:17;3250:6;3240:9;:17::i;:::-;3231:6;:26;3223:35;;;;;;;;3271:11;:19;3283:6;3271:19;;;;;;;;;;;;;;;3291:6;3271:27;;;;;;;;;;;;;;;;;;3264:34;;3100:203;;;;:::o;368:89:16:-;426:26;438:3;443:8;426:11;:26::i;:::-;368:89;;:::o;7061:225:49:-;7176:8;2376:39;2394:10;2406:8;2376:17;:39::i;:::-;2368:48;;;;;;;;7239:42;7256:5;7263:3;7268:8;7239:42;;;;;;;;;;;;;:16;:42::i;:::-;7061:225;;;;:::o;461:90:16:-;506:40;518:17;526:8;518:7;:17::i;:::-;537:8;506:11;:40::i;:::-;461:90;:::o;1682:142:52:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;1791:5:52;1783;:13;;;;;;;;;;;;:::i;:::-;;1812:7;1802;:17;;;;;;;;;;;;:::i;:::-;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;1682:142:52;;;;:::o;3563:140:49:-;3618:4;3630:13;3646:10;:20;3657:8;3646:20;;;;;;;;;;;;;;;;;;;;;3630:36;;3696:1;3679:19;;:5;:19;;;;3672:26;;3563:140;;;;:::o;3856::52:-;3915:7;3947:13;:11;:13::i;:::-;3938:6;:22;3930:31;;;;;;;;3974:9;3984:6;3974:17;;;;;;;;;;;;;;;;;;3967:24;;3856:140;;;:::o;3221:164:49:-;3277:7;3292:13;3308:10;:20;3319:8;3308:20;;;;;;;;;;;;;;;;;;;;;3292:36;;3359:1;3342:19;;:5;:19;;;;3334:28;;;;;;;;3375:5;3368:12;;3221:164;;;;:::o;2866:142::-;2922:7;2963:1;2945:20;;:6;:20;;;;2937:29;;;;;;;;2979:16;:24;2996:6;2979:24;;;;;;;;;;;;;;;;2972:31;;2866:142;;;:::o;2344:74:52:-;2385:6;2406:7;2399:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2344:74;:::o;5003:205:49:-;5087:10;5080:17;;:3;:17;;;;5072:26;;;;;;;;5141:9;5104:17;:29;5122:10;5104:29;;;;;;;;;;;;;;;:34;5134:3;5104:34;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;5188:3;5161:42;;5176:10;5161:42;;;5193:9;5161:42;;;;;;;;;;;;;;;;;;;;;;5003:205;;:::o;7968:302::-;8100:8;2376:39;2394:10;2406:8;2376:17;:39::i;:::-;2368:48;;;;;;;;8118:34;8131:5;8138:3;8143:8;8118:12;:34::i;:::-;8211:53;8236:5;8243:3;8248:8;8258:5;8211:24;:53::i;:::-;8203:62;;;;;;;;7968:302;;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;2606:133:52:-;2663:6;2685:16;2692:8;2685:6;:16::i;:::-;2677:25;;;;;;;;2715:9;:19;2725:8;2715:19;;;;;;;;;;;2708:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2606:133;;;:::o;5517:168:49:-;5623:4;5644:17;:25;5662:6;5644:25;;;;;;;;;;;;;;;:36;5670:9;5644:36;;;;;;;;;;;;;;;;;;;;;;;;;5637:43;;5517:168;;;;:::o;1828:254:52:-;1912:4;1933:38;1958:12;1933:24;:38::i;:::-;:92;;;;606:10;1997:28;;1981:44;;;:12;:44;;;;1933:92;:144;;;;867:10;2051:26;;2035:42;;;:12;:42;;;;1933:144;1926:151;;1828:254;;;:::o;4221:130::-;4297:16;4304:8;4297:6;:16::i;:::-;4289:25;;;;;;;;4342:4;4320:9;:19;4330:8;4320:19;;;;;;;;;;;:26;;;;;;;;;;;;:::i;:::-;;4221:130;;:::o;8617:438:49:-;8727:4;8741:13;8757:17;8765:8;8757:7;:17::i;:::-;8741:33;;8953:5;8941:17;;:8;:17;;;:60;;;;8993:8;8968:33;;:21;8980:8;8968:11;:21::i;:::-;:33;;;8941:60;:103;;;;9011:33;9028:5;9035:8;9011:16;:33::i;:::-;8941:103;8926:124;;8617:438;;;;;:::o;10109:214::-;10210:6;10189:27;;:17;10197:8;10189:7;:17::i;:::-;:27;;;10181:36;;;;;;;;10263:1;10227:38;;:14;:24;10242:8;10227:24;;;;;;;;;;;;;;;;;;;;;:38;;;;10223:96;;;10310:1;10275:14;:24;10290:8;10275:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;10223:96;10109:214;;:::o;5119:856:52:-;5237:18;5290:22;5353:17;5192:38;5214:5;5221:8;5192:21;:38::i;:::-;5258:16;:26;5275:8;5258:26;;;;;;;;;;;;5237:47;;5315:32;5345:1;5315:11;:18;5327:5;5315:18;;;;;;;;;;;;;;;:25;;;;:29;;:32;;;;:::i;:::-;5290:57;;5373:11;:18;5385:5;5373:18;;;;;;;;;;;;;;;5392:14;5373:34;;;;;;;;;;;;;;;;;;5353:54;;5447:9;5414:11;:18;5426:5;5414:18;;;;;;;;;;;;;;;5433:10;5414:30;;;;;;;;;;;;;;;;;:42;;;;5499:1;5462:11;:18;5474:5;5462:18;;;;;;;;;;;;;;;5481:14;5462:34;;;;;;;;;;;;;;;;;:38;;;;5861:11;:18;5873:5;5861:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;:::i;:::-;;5923:1;5894:16;:26;5911:8;5894:26;;;;;;;;;;;:30;;;;5960:10;5930:16;:27;5947:9;5930:27;;;;;;;;;;;:40;;;;5119:856;;;;;:::o;4614:226::-;4717:14;4680:31;4697:3;4702:8;4680:16;:31::i;:::-;4734:11;:16;4746:3;4734:16;;;;;;;;;;;;;;;:23;;;;4717:40;;4763:11;:16;4775:3;4763:16;;;;;;;;;;;;;;;4785:8;4763:31;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;4763:31:52;;;;;;;;;;;;;;;;;;;;;;4829:6;4800:16;:26;4817:8;4800:26;;;;;;;;;;;:35;;;;4614:226;;;:::o;6236:172::-;6297:26;6309:3;6314:8;6297:11;:26::i;:::-;6357:9;:16;;;;6330:14;:24;6345:8;6330:24;;;;;;;;;;;:43;;;;6379:9;6394:8;6379:24;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;6379:24:52;;;;;;;;;;;;;;;;;;;;;;6236:172;;:::o;6640:585::-;6892:18;6943:22;6997:17;6704:29;6716:6;6724:8;6704:11;:29::i;:::-;6812:1;6781:9;:19;6791:8;6781:19;;;;;;;;;;;6775:33;;;;;;;;;;;;;;;;:38;;6771:85;;;6830:9;:19;6840:8;6830:19;;;;;;;;;;;;6823:26;;;;:::i;:::-;6771:85;6913:14;:24;6928:8;6913:24;;;;;;;;;;;;6892:45;;6968:23;6989:1;6968:9;:16;;;;:20;;:23;;;;:::i;:::-;6943:48;;7017:9;7027:14;7017:25;;;;;;;;;;;;;;;;;;6997:45;;7073:9;7049;7059:10;7049:21;;;;;;;;;;;;;;;;;:33;;;;7116:1;7088:9;7098:14;7088:25;;;;;;;;;;;;;;;;;:29;;;;7124:9;:18;;;;;;;;;;;;:::i;:::-;;7175:1;7148:14;:24;7163:8;7148:24;;;;;;;;;;;:28;;;;7210:10;7182:14;:25;7197:9;7182:25;;;;;;;;;;;:38;;;;6640:585;;;;;:::o;11789:347:49:-;11928:4;11996:13;11947:16;:3;:14;;;:16::i;:::-;11946:17;11942:49;;;11980:4;11973:11;;;;11942:49;12027:3;12012:36;;;12056:10;12068:5;12075:8;12085:5;12012:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;12012:79:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12012:79:49;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12012:79:49;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12012:79:49;;;;;;;;;;;;;;;;11996:95;;1460:10;12115:15;;12105:25;;;:6;:25;;;;12097:34;;11789:347;;;;;;;;:::o;2432:242::-;2516:4;2537:38;2562:12;2537:24;:38::i;:::-;:82;;;;455:10;2601:18;;2585:34;;;:12;:34;;;;2537:82;:132;;;;1096:10;2645:24;;2629:40;;;:12;:40;;;;2537:132;2530:139;;2432:242;;;:::o;11069:214::-;11171:5;11150:26;;:17;11158:8;11150:7;:17::i;:::-;:26;;;11142:35;;;;;;;;11209:30;11237:1;11209:16;:23;11226:5;11209:23;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;11183:16;:23;11200:5;11183:23;;;;;;;;;;;;;;;:56;;;;11276:1;11245:10;:20;11256:8;11245:20;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;11069:214;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;10586:204:49:-;10692:1;10660:34;;:10;:20;10671:8;10660:20;;;;;;;;;;;;;;;;;;;;;:34;;;10652:43;;;;;;;;10724:3;10701:10;:20;10712:8;10701:20;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;10757:28;10783:1;10757:16;:21;10774:3;10757:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;10733:16;:21;10750:3;10733:21;;;;;;;;;;;;;;;:52;;;;10586:204;;:::o;9304:169::-;9388:1;9373:17;;:3;:17;;;;9365:26;;;;;;;;9397:25;9408:3;9413:8;9397:10;:25::i;:::-;9459:8;9454:3;9433:35;;9450:1;9433:35;;;;;;;;;;;;9304:169;;:::o;9659:188::-;9723:31;9737:6;9745:8;9723:13;:31::i;:::-;9760:33;9776:6;9784:8;9760:15;:33::i;:::-;9833:8;9829:1;9804:38;;9813:6;9804:38;;;;;;;;;;;;9659:188;;:::o;438:568:0:-;495:4;507:12;922:4;910:17;902:25;;1000:1;993:4;:8;986:15;;438:568;;;;:::o;487:146:5:-;571:4;239:10;608:18;;592:34;;;:12;:34;;;;585:41;;487:146;;;:::o;1008:123:8:-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;226:435:16:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.21;\n\nimport \"../token/ERC721/ERC721Token.sol\";\n\n\n/**\n * @title ERC721TokenMock\n * This mock just provides a public mint and burn functions for testing purposes,\n * and a public setter for metadata URI\n */\ncontract ERC721TokenMock is ERC721Token {\n constructor(string name, string symbol) public {\n ERC721Token.initialize(name, symbol);\n }\n\n function mint(address _to, uint256 _tokenId) public {\n super._mint(_to, _tokenId);\n }\n\n function burn(uint256 _tokenId) public {\n super._burn(ownerOf(_tokenId), _tokenId);\n }\n\n function setTokenURI(uint256 _tokenId, string _uri) public {\n super._setTokenURI(_tokenId, _uri);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/ERC721TokenMock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/ERC721TokenMock.sol", "exportedSymbols": { "ERC721TokenMock": [ - 178 + 904 ] }, - "id": 179, + "id": 905, "nodeType": "SourceUnit", "nodes": [ { - "id": 114, + "id": 840, "literals": [ "solidity", "^", @@ -524,16 +543,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:2" + "src": "0:24:16" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Token.sol", "file": "../token/ERC721/ERC721Token.sol", - "id": 115, + "id": 841, "nodeType": "ImportDirective", - "scope": 179, - "sourceUnit": 1381, - "src": "26:41:2", + "scope": 905, + "sourceUnit": 4716, + "src": "26:41:16", "symbolAliases": [], "unitAlias": "" }, @@ -543,52 +562,56 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 116, + "id": 842, "name": "ERC721Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1380, - "src": "254:11:2", + "referencedDeclaration": 4715, + "src": "254:11:16", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Token_$1380", + "typeIdentifier": "t_contract$_ERC721Token_$4715", "typeString": "contract ERC721Token" } }, - "id": 117, + "id": 843, "nodeType": "InheritanceSpecifier", - "src": "254:11:2" + "src": "254:11:16" } ], "contractDependencies": [ - 269, - 289, - 296, - 403, - 986, - 1380, - 1529 + 303, + 336, + 3537, + 3557, + 3564, + 3674, + 4267, + 4715, + 4864 ], "contractKind": "contract", "documentation": "@title ERC721TokenMock\nThis mock just provides a public mint and burn functions for testing purposes,\nand a public setter for metadata URI", "fullyImplemented": true, - "id": 178, + "id": 904, "linearizedBaseContracts": [ - 178, - 1380, - 986, - 296, - 289, - 269, - 403, - 1529 + 904, + 4715, + 3564, + 3557, + 3537, + 4267, + 3674, + 336, + 303, + 4864 ], "name": "ERC721TokenMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 131, + "id": 857, "nodeType": "Block", - "src": "330:47:2", + "src": "317:47:16", "statements": [ { "expression": { @@ -596,12 +619,12 @@ "arguments": [ { "argumentTypes": null, - "id": 127, + "id": 853, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119, - "src": "359:4:2", + "referencedDeclaration": 845, + "src": "346:4:16", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -609,12 +632,12 @@ }, { "argumentTypes": null, - "id": 128, + "id": 854, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "365:6:2", + "referencedDeclaration": 847, + "src": "352:6:16", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -634,32 +657,32 @@ ], "expression": { "argumentTypes": null, - "id": 124, + "id": 850, "name": "ERC721Token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "336:11:2", + "referencedDeclaration": 4715, + "src": "323:11:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Token_$1380_$", + "typeIdentifier": "t_type$_t_contract$_ERC721Token_$4715_$", "typeString": "type(contract ERC721Token)" } }, - "id": 126, + "id": 852, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1058, - "src": "336:22:2", + "referencedDeclaration": 4372, + "src": "323:22:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, - "id": 129, + "id": 855, "isConstant": false, "isLValue": false, "isPure": false, @@ -667,37 +690,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "336:36:2", + "src": "323:36:16", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 130, + "id": 856, "nodeType": "ExpressionStatement", - "src": "336:36:2" + "src": "323:36:16" } ] }, "documentation": null, - "id": 132, + "id": 858, "implemented": true, "isConstructor": true, "isDeclaredConst": false, "modifiers": [], - "name": "ERC721TokenMock", + "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 122, + "id": 848, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119, + "id": 845, "name": "name", "nodeType": "VariableDeclaration", - "scope": 132, - "src": "295:11:2", + "scope": 858, + "src": "282:11:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -705,10 +728,10 @@ "typeString": "string" }, "typeName": { - "id": 118, + "id": 844, "name": "string", "nodeType": "ElementaryTypeName", - "src": "295:6:2", + "src": "282:6:16", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -719,11 +742,11 @@ }, { "constant": false, - "id": 121, + "id": 847, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 132, - "src": "308:13:2", + "scope": 858, + "src": "295:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -731,10 +754,10 @@ "typeString": "string" }, "typeName": { - "id": 120, + "id": 846, "name": "string", "nodeType": "ElementaryTypeName", - "src": "308:6:2", + "src": "295:6:16", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -744,26 +767,26 @@ "visibility": "internal" } ], - "src": "294:28:2" + "src": "281:28:16" }, "payable": false, "returnParameters": { - "id": 123, + "id": 849, "nodeType": "ParameterList", "parameters": [], - "src": "330:0:2" + "src": "317:0:16" }, - "scope": 178, - "src": "270:107:2", + "scope": 904, + "src": "270:94:16", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 146, + "id": 872, "nodeType": "Block", - "src": "433:37:2", + "src": "420:37:16", "statements": [ { "expression": { @@ -771,12 +794,12 @@ "arguments": [ { "argumentTypes": null, - "id": 142, + "id": 868, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "451:3:2", + "referencedDeclaration": 860, + "src": "438:3:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -784,12 +807,12 @@ }, { "argumentTypes": null, - "id": 143, + "id": 869, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "456:8:2", + "referencedDeclaration": 862, + "src": "443:8:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -809,32 +832,32 @@ ], "expression": { "argumentTypes": null, - "id": 139, + "id": 865, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1578, - "src": "439:5:2", + "referencedDeclaration": 4959, + "src": "426:5:16", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721TokenMock_$178", + "typeIdentifier": "t_super$_ERC721TokenMock_$904", "typeString": "contract super ERC721TokenMock" } }, - "id": 141, + "id": 867, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_mint", "nodeType": "MemberAccess", - "referencedDeclaration": 1300, - "src": "439:11:2", + "referencedDeclaration": 4635, + "src": "426:11:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 144, + "id": 870, "isConstant": false, "isLValue": false, "isPure": false, @@ -842,20 +865,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "439:26:2", + "src": "426:26:16", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 145, + "id": 871, "nodeType": "ExpressionStatement", - "src": "439:26:2" + "src": "426:26:16" } ] }, "documentation": null, - "id": 147, + "id": 873, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -863,16 +886,16 @@ "name": "mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 137, + "id": 863, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 134, + "id": 860, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 147, - "src": "395:11:2", + "scope": 873, + "src": "382:11:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -880,10 +903,10 @@ "typeString": "address" }, "typeName": { - "id": 133, + "id": 859, "name": "address", "nodeType": "ElementaryTypeName", - "src": "395:7:2", + "src": "382:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -894,11 +917,11 @@ }, { "constant": false, - "id": 136, + "id": 862, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 147, - "src": "408:16:2", + "scope": 873, + "src": "395:16:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -906,10 +929,10 @@ "typeString": "uint256" }, "typeName": { - "id": 135, + "id": 861, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "408:7:2", + "src": "395:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -919,26 +942,26 @@ "visibility": "internal" } ], - "src": "394:31:2" + "src": "381:31:16" }, "payable": false, "returnParameters": { - "id": 138, + "id": 864, "nodeType": "ParameterList", "parameters": [], - "src": "433:0:2" + "src": "420:0:16" }, - "scope": 178, - "src": "381:89:2", + "scope": 904, + "src": "368:89:16", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 161, + "id": 887, "nodeType": "Block", - "src": "513:51:2", + "src": "500:51:16", "statements": [ { "expression": { @@ -949,12 +972,12 @@ "arguments": [ { "argumentTypes": null, - "id": 156, + "id": 882, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "539:8:2", + "referencedDeclaration": 875, + "src": "526:8:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -968,20 +991,20 @@ "typeString": "uint256" } ], - "id": 155, + "id": 881, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 511 + 3812 ], - "referencedDeclaration": 511, - "src": "531:7:2", + "referencedDeclaration": 3812, + "src": "518:7:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 157, + "id": 883, "isConstant": false, "isLValue": false, "isPure": false, @@ -989,7 +1012,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "531:17:2", + "src": "518:17:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -997,12 +1020,12 @@ }, { "argumentTypes": null, - "id": 158, + "id": 884, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "550:8:2", + "referencedDeclaration": 875, + "src": "537:8:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1022,32 +1045,32 @@ ], "expression": { "argumentTypes": null, - "id": 152, + "id": 878, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1578, - "src": "519:5:2", + "referencedDeclaration": 4959, + "src": "506:5:16", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721TokenMock_$178", + "typeIdentifier": "t_super$_ERC721TokenMock_$904", "typeString": "contract super ERC721TokenMock" } }, - "id": 154, + "id": 880, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_burn", "nodeType": "MemberAccess", - "referencedDeclaration": 1379, - "src": "519:11:2", + "referencedDeclaration": 4714, + "src": "506:11:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 159, + "id": 885, "isConstant": false, "isLValue": false, "isPure": false, @@ -1055,20 +1078,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "519:40:2", + "src": "506:40:16", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 160, + "id": 886, "nodeType": "ExpressionStatement", - "src": "519:40:2" + "src": "506:40:16" } ] }, "documentation": null, - "id": 162, + "id": 888, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1076,16 +1099,16 @@ "name": "burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 150, + "id": 876, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 149, + "id": 875, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 162, - "src": "488:16:2", + "scope": 888, + "src": "475:16:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1093,10 +1116,10 @@ "typeString": "uint256" }, "typeName": { - "id": 148, + "id": 874, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "488:7:2", + "src": "475:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1106,26 +1129,26 @@ "visibility": "internal" } ], - "src": "487:18:2" + "src": "474:18:16" }, "payable": false, "returnParameters": { - "id": 151, + "id": 877, "nodeType": "ParameterList", "parameters": [], - "src": "513:0:2" + "src": "500:0:16" }, - "scope": 178, - "src": "474:90:2", + "scope": 904, + "src": "461:90:16", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 176, + "id": 902, "nodeType": "Block", - "src": "627:45:2", + "src": "614:45:16", "statements": [ { "expression": { @@ -1133,12 +1156,12 @@ "arguments": [ { "argumentTypes": null, - "id": 172, + "id": 898, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 164, - "src": "652:8:2", + "referencedDeclaration": 890, + "src": "639:8:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1146,12 +1169,12 @@ }, { "argumentTypes": null, - "id": 173, + "id": 899, "name": "_uri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "662:4:2", + "referencedDeclaration": 892, + "src": "649:4:16", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1171,32 +1194,32 @@ ], "expression": { "argumentTypes": null, - "id": 169, + "id": 895, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1578, - "src": "633:5:2", + "referencedDeclaration": 4959, + "src": "620:5:16", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721TokenMock_$178", + "typeIdentifier": "t_super$_ERC721TokenMock_$904", "typeString": "contract super ERC721TokenMock" } }, - "id": 171, + "id": 897, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_setTokenURI", "nodeType": "MemberAccess", - "referencedDeclaration": 1164, - "src": "633:18:2", + "referencedDeclaration": 4499, + "src": "620:18:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (uint256,string memory)" } }, - "id": 174, + "id": 900, "isConstant": false, "isLValue": false, "isPure": false, @@ -1204,20 +1227,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "633:34:2", + "src": "620:34:16", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 175, + "id": 901, "nodeType": "ExpressionStatement", - "src": "633:34:2" + "src": "620:34:16" } ] }, "documentation": null, - "id": 177, + "id": 903, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1225,16 +1248,16 @@ "name": "setTokenURI", "nodeType": "FunctionDefinition", "parameters": { - "id": 167, + "id": 893, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 164, + "id": 890, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 177, - "src": "589:16:2", + "scope": 903, + "src": "576:16:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1242,10 +1265,10 @@ "typeString": "uint256" }, "typeName": { - "id": 163, + "id": 889, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "589:7:2", + "src": "576:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1256,11 +1279,11 @@ }, { "constant": false, - "id": 166, + "id": 892, "name": "_uri", "nodeType": "VariableDeclaration", - "scope": 177, - "src": "607:11:2", + "scope": 903, + "src": "594:11:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1268,10 +1291,10 @@ "typeString": "string" }, "typeName": { - "id": 165, + "id": 891, "name": "string", "nodeType": "ElementaryTypeName", - "src": "607:6:2", + "src": "594:6:16", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1281,40 +1304,40 @@ "visibility": "internal" } ], - "src": "588:31:2" + "src": "575:31:16" }, "payable": false, "returnParameters": { - "id": 168, + "id": 894, "nodeType": "ParameterList", "parameters": [], - "src": "627:0:2" + "src": "614:0:16" }, - "scope": 178, - "src": "568:104:2", + "scope": 904, + "src": "555:104:16", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 179, - "src": "226:448:2" + "scope": 905, + "src": "226:435:16" } ], - "src": "0:675:2" + "src": "0:662:16" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/ERC721TokenMock.sol", "exportedSymbols": { "ERC721TokenMock": [ - 178 + 904 ] }, - "id": 179, + "id": 905, "nodeType": "SourceUnit", "nodes": [ { - "id": 114, + "id": 840, "literals": [ "solidity", "^", @@ -1322,16 +1345,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:2" + "src": "0:24:16" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Token.sol", "file": "../token/ERC721/ERC721Token.sol", - "id": 115, + "id": 841, "nodeType": "ImportDirective", - "scope": 179, - "sourceUnit": 1381, - "src": "26:41:2", + "scope": 905, + "sourceUnit": 4716, + "src": "26:41:16", "symbolAliases": [], "unitAlias": "" }, @@ -1341,52 +1364,56 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 116, + "id": 842, "name": "ERC721Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1380, - "src": "254:11:2", + "referencedDeclaration": 4715, + "src": "254:11:16", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Token_$1380", + "typeIdentifier": "t_contract$_ERC721Token_$4715", "typeString": "contract ERC721Token" } }, - "id": 117, + "id": 843, "nodeType": "InheritanceSpecifier", - "src": "254:11:2" + "src": "254:11:16" } ], "contractDependencies": [ - 269, - 289, - 296, - 403, - 986, - 1380, - 1529 + 303, + 336, + 3537, + 3557, + 3564, + 3674, + 4267, + 4715, + 4864 ], "contractKind": "contract", "documentation": "@title ERC721TokenMock\nThis mock just provides a public mint and burn functions for testing purposes,\nand a public setter for metadata URI", "fullyImplemented": true, - "id": 178, + "id": 904, "linearizedBaseContracts": [ - 178, - 1380, - 986, - 296, - 289, - 269, - 403, - 1529 + 904, + 4715, + 3564, + 3557, + 3537, + 4267, + 3674, + 336, + 303, + 4864 ], "name": "ERC721TokenMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 131, + "id": 857, "nodeType": "Block", - "src": "330:47:2", + "src": "317:47:16", "statements": [ { "expression": { @@ -1394,12 +1421,12 @@ "arguments": [ { "argumentTypes": null, - "id": 127, + "id": 853, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119, - "src": "359:4:2", + "referencedDeclaration": 845, + "src": "346:4:16", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1407,12 +1434,12 @@ }, { "argumentTypes": null, - "id": 128, + "id": 854, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "365:6:2", + "referencedDeclaration": 847, + "src": "352:6:16", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1432,32 +1459,32 @@ ], "expression": { "argumentTypes": null, - "id": 124, + "id": 850, "name": "ERC721Token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "336:11:2", + "referencedDeclaration": 4715, + "src": "323:11:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Token_$1380_$", + "typeIdentifier": "t_type$_t_contract$_ERC721Token_$4715_$", "typeString": "type(contract ERC721Token)" } }, - "id": 126, + "id": 852, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1058, - "src": "336:22:2", + "referencedDeclaration": 4372, + "src": "323:22:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, - "id": 129, + "id": 855, "isConstant": false, "isLValue": false, "isPure": false, @@ -1465,37 +1492,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "336:36:2", + "src": "323:36:16", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 130, + "id": 856, "nodeType": "ExpressionStatement", - "src": "336:36:2" + "src": "323:36:16" } ] }, "documentation": null, - "id": 132, + "id": 858, "implemented": true, "isConstructor": true, "isDeclaredConst": false, "modifiers": [], - "name": "ERC721TokenMock", + "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 122, + "id": 848, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119, + "id": 845, "name": "name", "nodeType": "VariableDeclaration", - "scope": 132, - "src": "295:11:2", + "scope": 858, + "src": "282:11:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1503,10 +1530,10 @@ "typeString": "string" }, "typeName": { - "id": 118, + "id": 844, "name": "string", "nodeType": "ElementaryTypeName", - "src": "295:6:2", + "src": "282:6:16", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1517,11 +1544,11 @@ }, { "constant": false, - "id": 121, + "id": 847, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 132, - "src": "308:13:2", + "scope": 858, + "src": "295:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1529,10 +1556,10 @@ "typeString": "string" }, "typeName": { - "id": 120, + "id": 846, "name": "string", "nodeType": "ElementaryTypeName", - "src": "308:6:2", + "src": "295:6:16", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1542,26 +1569,26 @@ "visibility": "internal" } ], - "src": "294:28:2" + "src": "281:28:16" }, "payable": false, "returnParameters": { - "id": 123, + "id": 849, "nodeType": "ParameterList", "parameters": [], - "src": "330:0:2" + "src": "317:0:16" }, - "scope": 178, - "src": "270:107:2", + "scope": 904, + "src": "270:94:16", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 146, + "id": 872, "nodeType": "Block", - "src": "433:37:2", + "src": "420:37:16", "statements": [ { "expression": { @@ -1569,12 +1596,12 @@ "arguments": [ { "argumentTypes": null, - "id": 142, + "id": 868, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "451:3:2", + "referencedDeclaration": 860, + "src": "438:3:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1582,12 +1609,12 @@ }, { "argumentTypes": null, - "id": 143, + "id": 869, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "456:8:2", + "referencedDeclaration": 862, + "src": "443:8:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1607,32 +1634,32 @@ ], "expression": { "argumentTypes": null, - "id": 139, + "id": 865, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1578, - "src": "439:5:2", + "referencedDeclaration": 4959, + "src": "426:5:16", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721TokenMock_$178", + "typeIdentifier": "t_super$_ERC721TokenMock_$904", "typeString": "contract super ERC721TokenMock" } }, - "id": 141, + "id": 867, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_mint", "nodeType": "MemberAccess", - "referencedDeclaration": 1300, - "src": "439:11:2", + "referencedDeclaration": 4635, + "src": "426:11:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 144, + "id": 870, "isConstant": false, "isLValue": false, "isPure": false, @@ -1640,20 +1667,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "439:26:2", + "src": "426:26:16", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 145, + "id": 871, "nodeType": "ExpressionStatement", - "src": "439:26:2" + "src": "426:26:16" } ] }, "documentation": null, - "id": 147, + "id": 873, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1661,16 +1688,16 @@ "name": "mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 137, + "id": 863, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 134, + "id": 860, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 147, - "src": "395:11:2", + "scope": 873, + "src": "382:11:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1678,10 +1705,10 @@ "typeString": "address" }, "typeName": { - "id": 133, + "id": 859, "name": "address", "nodeType": "ElementaryTypeName", - "src": "395:7:2", + "src": "382:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1692,11 +1719,11 @@ }, { "constant": false, - "id": 136, + "id": 862, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 147, - "src": "408:16:2", + "scope": 873, + "src": "395:16:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1704,10 +1731,10 @@ "typeString": "uint256" }, "typeName": { - "id": 135, + "id": 861, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "408:7:2", + "src": "395:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1717,26 +1744,26 @@ "visibility": "internal" } ], - "src": "394:31:2" + "src": "381:31:16" }, "payable": false, "returnParameters": { - "id": 138, + "id": 864, "nodeType": "ParameterList", "parameters": [], - "src": "433:0:2" + "src": "420:0:16" }, - "scope": 178, - "src": "381:89:2", + "scope": 904, + "src": "368:89:16", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 161, + "id": 887, "nodeType": "Block", - "src": "513:51:2", + "src": "500:51:16", "statements": [ { "expression": { @@ -1747,12 +1774,12 @@ "arguments": [ { "argumentTypes": null, - "id": 156, + "id": 882, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "539:8:2", + "referencedDeclaration": 875, + "src": "526:8:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1766,20 +1793,20 @@ "typeString": "uint256" } ], - "id": 155, + "id": 881, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 511 + 3812 ], - "referencedDeclaration": 511, - "src": "531:7:2", + "referencedDeclaration": 3812, + "src": "518:7:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 157, + "id": 883, "isConstant": false, "isLValue": false, "isPure": false, @@ -1787,7 +1814,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "531:17:2", + "src": "518:17:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1795,12 +1822,12 @@ }, { "argumentTypes": null, - "id": 158, + "id": 884, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "550:8:2", + "referencedDeclaration": 875, + "src": "537:8:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1820,32 +1847,32 @@ ], "expression": { "argumentTypes": null, - "id": 152, + "id": 878, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1578, - "src": "519:5:2", + "referencedDeclaration": 4959, + "src": "506:5:16", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721TokenMock_$178", + "typeIdentifier": "t_super$_ERC721TokenMock_$904", "typeString": "contract super ERC721TokenMock" } }, - "id": 154, + "id": 880, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_burn", "nodeType": "MemberAccess", - "referencedDeclaration": 1379, - "src": "519:11:2", + "referencedDeclaration": 4714, + "src": "506:11:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 159, + "id": 885, "isConstant": false, "isLValue": false, "isPure": false, @@ -1853,20 +1880,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "519:40:2", + "src": "506:40:16", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 160, + "id": 886, "nodeType": "ExpressionStatement", - "src": "519:40:2" + "src": "506:40:16" } ] }, "documentation": null, - "id": 162, + "id": 888, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1874,16 +1901,16 @@ "name": "burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 150, + "id": 876, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 149, + "id": 875, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 162, - "src": "488:16:2", + "scope": 888, + "src": "475:16:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1891,10 +1918,10 @@ "typeString": "uint256" }, "typeName": { - "id": 148, + "id": 874, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "488:7:2", + "src": "475:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1904,26 +1931,26 @@ "visibility": "internal" } ], - "src": "487:18:2" + "src": "474:18:16" }, "payable": false, "returnParameters": { - "id": 151, + "id": 877, "nodeType": "ParameterList", "parameters": [], - "src": "513:0:2" + "src": "500:0:16" }, - "scope": 178, - "src": "474:90:2", + "scope": 904, + "src": "461:90:16", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 176, + "id": 902, "nodeType": "Block", - "src": "627:45:2", + "src": "614:45:16", "statements": [ { "expression": { @@ -1931,12 +1958,12 @@ "arguments": [ { "argumentTypes": null, - "id": 172, + "id": 898, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 164, - "src": "652:8:2", + "referencedDeclaration": 890, + "src": "639:8:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1944,12 +1971,12 @@ }, { "argumentTypes": null, - "id": 173, + "id": 899, "name": "_uri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "662:4:2", + "referencedDeclaration": 892, + "src": "649:4:16", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1969,32 +1996,32 @@ ], "expression": { "argumentTypes": null, - "id": 169, + "id": 895, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1578, - "src": "633:5:2", + "referencedDeclaration": 4959, + "src": "620:5:16", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721TokenMock_$178", + "typeIdentifier": "t_super$_ERC721TokenMock_$904", "typeString": "contract super ERC721TokenMock" } }, - "id": 171, + "id": 897, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_setTokenURI", "nodeType": "MemberAccess", - "referencedDeclaration": 1164, - "src": "633:18:2", + "referencedDeclaration": 4499, + "src": "620:18:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (uint256,string memory)" } }, - "id": 174, + "id": 900, "isConstant": false, "isLValue": false, "isPure": false, @@ -2002,20 +2029,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "633:34:2", + "src": "620:34:16", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 175, + "id": 901, "nodeType": "ExpressionStatement", - "src": "633:34:2" + "src": "620:34:16" } ] }, "documentation": null, - "id": 177, + "id": 903, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2023,16 +2050,16 @@ "name": "setTokenURI", "nodeType": "FunctionDefinition", "parameters": { - "id": 167, + "id": 893, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 164, + "id": 890, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 177, - "src": "589:16:2", + "scope": 903, + "src": "576:16:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2040,10 +2067,10 @@ "typeString": "uint256" }, "typeName": { - "id": 163, + "id": 889, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "589:7:2", + "src": "576:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2054,11 +2081,11 @@ }, { "constant": false, - "id": 166, + "id": 892, "name": "_uri", "nodeType": "VariableDeclaration", - "scope": 177, - "src": "607:11:2", + "scope": 903, + "src": "594:11:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2066,10 +2093,10 @@ "typeString": "string" }, "typeName": { - "id": 165, + "id": 891, "name": "string", "nodeType": "ElementaryTypeName", - "src": "607:6:2", + "src": "594:6:16", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2079,27 +2106,27 @@ "visibility": "internal" } ], - "src": "588:31:2" + "src": "575:31:16" }, "payable": false, "returnParameters": { - "id": 168, + "id": 894, "nodeType": "ParameterList", "parameters": [], - "src": "627:0:2" + "src": "614:0:16" }, - "scope": 178, - "src": "568:104:2", + "scope": 904, + "src": "555:104:16", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 179, - "src": "226:448:2" + "scope": 905, + "src": "226:435:16" } ], - "src": "0:675:2" + "src": "0:662:16" }, "compiler": { "name": "solc", @@ -2107,5 +2134,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-08-23T17:26:04.153Z" + "updatedAt": "2018-08-27T20:45:00.205Z" } \ No newline at end of file diff --git a/build/contracts/Math.json b/build/contracts/Math.json index 48b0c3fa6..be765c5f0 100644 --- a/build/contracts/Math.json +++ b/build/contracts/Math.json @@ -1,24 +1,24 @@ { "contractName": "Math", "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820cf052131d23f0a2cb39d1cca102f4b7186fbc62a6e68c0b78d8b2562f2ac8e210029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820cf052131d23f0a2cb39d1cca102f4b7186fbc62a6e68c0b78d8b2562f2ac8e210029", - "sourceMap": "83:429:5:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", - "deployedSourceMap": "83:429:5:-;;;;;;;;", + "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820ae801e9b7aa854520be51e1275df6c10338f1ac1b24aa46d29d4a01d8eeb3f600029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820ae801e9b7aa854520be51e1275df6c10338f1ac1b24aa46d29d4a01d8eeb3f600029", + "sourceMap": "83:429:7:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", + "deployedSourceMap": "83:429:7:-;;;;;;;;", "source": "pragma solidity ^0.4.21;\n\n\n/**\n * @title Math\n * @dev Assorted math operations\n */\nlibrary Math {\n function max64(uint64 a, uint64 b) internal pure returns (uint64) {\n return a >= b ? a : b;\n }\n\n function min64(uint64 a, uint64 b) internal pure returns (uint64) {\n return a < b ? a : b;\n }\n\n function max256(uint256 a, uint256 b) internal pure returns (uint256) {\n return a >= b ? a : b;\n }\n\n function min256(uint256 a, uint256 b) internal pure returns (uint256) {\n return a < b ? a : b;\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/Math.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/Math.sol", "exportedSymbols": { "Math": [ - 442 + 485 ] }, - "id": 443, + "id": 486, "nodeType": "SourceUnit", "nodes": [ { - "id": 373, + "id": 416, "literals": [ "solidity", "^", @@ -26,7 +26,7 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:5" + "src": "0:24:7" }, { "baseContracts": [], @@ -34,18 +34,18 @@ "contractKind": "library", "documentation": "@title Math\n@dev Assorted math operations", "fullyImplemented": true, - "id": 442, + "id": 485, "linearizedBaseContracts": [ - 442 + 485 ], "name": "Math", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 389, + "id": 432, "nodeType": "Block", - "src": "166:32:5", + "src": "166:32:7", "statements": [ { "expression": { @@ -56,19 +56,19 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 384, + "id": 427, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 382, + "id": 425, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "179:1:5", + "referencedDeclaration": 418, + "src": "179:1:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -78,18 +78,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 383, + "id": 426, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "184:1:5", + "referencedDeclaration": 420, + "src": "184:1:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "src": "179:6:5", + "src": "179:6:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -97,32 +97,32 @@ }, "falseExpression": { "argumentTypes": null, - "id": 386, + "id": 429, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "192:1:5", + "referencedDeclaration": 420, + "src": "192:1:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "id": 387, + "id": 430, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "179:14:5", + "src": "179:14:7", "trueExpression": { "argumentTypes": null, - "id": 385, + "id": 428, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "188:1:5", + "referencedDeclaration": 418, + "src": "188:1:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -133,15 +133,15 @@ "typeString": "uint64" } }, - "functionReturnParameters": 381, - "id": 388, + "functionReturnParameters": 424, + "id": 431, "nodeType": "Return", - "src": "172:21:5" + "src": "172:21:7" } ] }, "documentation": null, - "id": 390, + "id": 433, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -149,16 +149,16 @@ "name": "max64", "nodeType": "FunctionDefinition", "parameters": { - "id": 378, + "id": 421, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 375, + "id": 418, "name": "a", "nodeType": "VariableDeclaration", - "scope": 390, - "src": "115:8:5", + "scope": 433, + "src": "115:8:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -166,10 +166,10 @@ "typeString": "uint64" }, "typeName": { - "id": 374, + "id": 417, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "115:6:5", + "src": "115:6:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -180,11 +180,11 @@ }, { "constant": false, - "id": 377, + "id": 420, "name": "b", "nodeType": "VariableDeclaration", - "scope": 390, - "src": "125:8:5", + "scope": 433, + "src": "125:8:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -192,10 +192,10 @@ "typeString": "uint64" }, "typeName": { - "id": 376, + "id": 419, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "125:6:5", + "src": "125:6:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -205,20 +205,20 @@ "visibility": "internal" } ], - "src": "114:20:5" + "src": "114:20:7" }, "payable": false, "returnParameters": { - "id": 381, + "id": 424, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 380, + "id": 423, "name": "", "nodeType": "VariableDeclaration", - "scope": 390, - "src": "158:6:5", + "scope": 433, + "src": "158:6:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -226,10 +226,10 @@ "typeString": "uint64" }, "typeName": { - "id": 379, + "id": 422, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "158:6:5", + "src": "158:6:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -239,19 +239,19 @@ "visibility": "internal" } ], - "src": "157:8:5" + "src": "157:8:7" }, - "scope": 442, - "src": "100:98:5", + "scope": 485, + "src": "100:98:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 406, + "id": 449, "nodeType": "Block", - "src": "268:31:5", + "src": "268:31:7", "statements": [ { "expression": { @@ -262,19 +262,19 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 401, + "id": 444, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 399, + "id": 442, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "281:1:5", + "referencedDeclaration": 435, + "src": "281:1:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -284,18 +284,18 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 400, + "id": 443, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 394, - "src": "285:1:5", + "referencedDeclaration": 437, + "src": "285:1:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "src": "281:5:5", + "src": "281:5:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -303,32 +303,32 @@ }, "falseExpression": { "argumentTypes": null, - "id": 403, + "id": 446, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 394, - "src": "293:1:5", + "referencedDeclaration": 437, + "src": "293:1:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "id": 404, + "id": 447, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "281:13:5", + "src": "281:13:7", "trueExpression": { "argumentTypes": null, - "id": 402, + "id": 445, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "289:1:5", + "referencedDeclaration": 435, + "src": "289:1:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -339,15 +339,15 @@ "typeString": "uint64" } }, - "functionReturnParameters": 398, - "id": 405, + "functionReturnParameters": 441, + "id": 448, "nodeType": "Return", - "src": "274:20:5" + "src": "274:20:7" } ] }, "documentation": null, - "id": 407, + "id": 450, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -355,16 +355,16 @@ "name": "min64", "nodeType": "FunctionDefinition", "parameters": { - "id": 395, + "id": 438, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 392, + "id": 435, "name": "a", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "217:8:5", + "scope": 450, + "src": "217:8:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -372,10 +372,10 @@ "typeString": "uint64" }, "typeName": { - "id": 391, + "id": 434, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "217:6:5", + "src": "217:6:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -386,11 +386,11 @@ }, { "constant": false, - "id": 394, + "id": 437, "name": "b", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "227:8:5", + "scope": 450, + "src": "227:8:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -398,10 +398,10 @@ "typeString": "uint64" }, "typeName": { - "id": 393, + "id": 436, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "227:6:5", + "src": "227:6:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -411,20 +411,20 @@ "visibility": "internal" } ], - "src": "216:20:5" + "src": "216:20:7" }, "payable": false, "returnParameters": { - "id": 398, + "id": 441, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 397, + "id": 440, "name": "", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "260:6:5", + "scope": 450, + "src": "260:6:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -432,10 +432,10 @@ "typeString": "uint64" }, "typeName": { - "id": 396, + "id": 439, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "260:6:5", + "src": "260:6:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -445,19 +445,19 @@ "visibility": "internal" } ], - "src": "259:8:5" + "src": "259:8:7" }, - "scope": 442, - "src": "202:97:5", + "scope": 485, + "src": "202:97:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 423, + "id": 466, "nodeType": "Block", - "src": "373:32:5", + "src": "373:32:7", "statements": [ { "expression": { @@ -468,19 +468,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 418, + "id": 461, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 416, + "id": 459, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "386:1:5", + "referencedDeclaration": 452, + "src": "386:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -490,18 +490,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 417, + "id": 460, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "391:1:5", + "referencedDeclaration": 454, + "src": "391:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "386:6:5", + "src": "386:6:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -509,32 +509,32 @@ }, "falseExpression": { "argumentTypes": null, - "id": 420, + "id": 463, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "399:1:5", + "referencedDeclaration": 454, + "src": "399:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 421, + "id": 464, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "386:14:5", + "src": "386:14:7", "trueExpression": { "argumentTypes": null, - "id": 419, + "id": 462, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "395:1:5", + "referencedDeclaration": 452, + "src": "395:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -545,15 +545,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 415, - "id": 422, + "functionReturnParameters": 458, + "id": 465, "nodeType": "Return", - "src": "379:21:5" + "src": "379:21:7" } ] }, "documentation": null, - "id": 424, + "id": 467, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -561,16 +561,16 @@ "name": "max256", "nodeType": "FunctionDefinition", "parameters": { - "id": 412, + "id": 455, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 409, + "id": 452, "name": "a", "nodeType": "VariableDeclaration", - "scope": 424, - "src": "319:9:5", + "scope": 467, + "src": "319:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -578,10 +578,10 @@ "typeString": "uint256" }, "typeName": { - "id": 408, + "id": 451, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "319:7:5", + "src": "319:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -592,11 +592,11 @@ }, { "constant": false, - "id": 411, + "id": 454, "name": "b", "nodeType": "VariableDeclaration", - "scope": 424, - "src": "330:9:5", + "scope": 467, + "src": "330:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -604,10 +604,10 @@ "typeString": "uint256" }, "typeName": { - "id": 410, + "id": 453, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "330:7:5", + "src": "330:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -617,20 +617,20 @@ "visibility": "internal" } ], - "src": "318:22:5" + "src": "318:22:7" }, "payable": false, "returnParameters": { - "id": 415, + "id": 458, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 414, + "id": 457, "name": "", "nodeType": "VariableDeclaration", - "scope": 424, - "src": "364:7:5", + "scope": 467, + "src": "364:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -638,10 +638,10 @@ "typeString": "uint256" }, "typeName": { - "id": 413, + "id": 456, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "364:7:5", + "src": "364:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -651,19 +651,19 @@ "visibility": "internal" } ], - "src": "363:9:5" + "src": "363:9:7" }, - "scope": 442, - "src": "303:102:5", + "scope": 485, + "src": "303:102:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 440, + "id": 483, "nodeType": "Block", - "src": "479:31:5", + "src": "479:31:7", "statements": [ { "expression": { @@ -674,19 +674,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 435, + "id": 478, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 433, + "id": 476, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "492:1:5", + "referencedDeclaration": 469, + "src": "492:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -696,18 +696,18 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 434, + "id": 477, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "496:1:5", + "referencedDeclaration": 471, + "src": "496:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "492:5:5", + "src": "492:5:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -715,32 +715,32 @@ }, "falseExpression": { "argumentTypes": null, - "id": 437, + "id": 480, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "504:1:5", + "referencedDeclaration": 471, + "src": "504:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 438, + "id": 481, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "492:13:5", + "src": "492:13:7", "trueExpression": { "argumentTypes": null, - "id": 436, + "id": 479, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "500:1:5", + "referencedDeclaration": 469, + "src": "500:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -751,15 +751,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 432, - "id": 439, + "functionReturnParameters": 475, + "id": 482, "nodeType": "Return", - "src": "485:20:5" + "src": "485:20:7" } ] }, "documentation": null, - "id": 441, + "id": 484, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -767,16 +767,16 @@ "name": "min256", "nodeType": "FunctionDefinition", "parameters": { - "id": 429, + "id": 472, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 426, + "id": 469, "name": "a", "nodeType": "VariableDeclaration", - "scope": 441, - "src": "425:9:5", + "scope": 484, + "src": "425:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -784,10 +784,10 @@ "typeString": "uint256" }, "typeName": { - "id": 425, + "id": 468, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "425:7:5", + "src": "425:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -798,11 +798,11 @@ }, { "constant": false, - "id": 428, + "id": 471, "name": "b", "nodeType": "VariableDeclaration", - "scope": 441, - "src": "436:9:5", + "scope": 484, + "src": "436:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -810,10 +810,10 @@ "typeString": "uint256" }, "typeName": { - "id": 427, + "id": 470, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "436:7:5", + "src": "436:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -823,20 +823,20 @@ "visibility": "internal" } ], - "src": "424:22:5" + "src": "424:22:7" }, "payable": false, "returnParameters": { - "id": 432, + "id": 475, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 431, + "id": 474, "name": "", "nodeType": "VariableDeclaration", - "scope": 441, - "src": "470:7:5", + "scope": 484, + "src": "470:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -844,10 +844,10 @@ "typeString": "uint256" }, "typeName": { - "id": 430, + "id": 473, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "470:7:5", + "src": "470:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -857,33 +857,33 @@ "visibility": "internal" } ], - "src": "469:9:5" + "src": "469:9:7" }, - "scope": 442, - "src": "409:101:5", + "scope": 485, + "src": "409:101:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 443, - "src": "83:429:5" + "scope": 486, + "src": "83:429:7" } ], - "src": "0:513:5" + "src": "0:513:7" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/Math.sol", "exportedSymbols": { "Math": [ - 442 + 485 ] }, - "id": 443, + "id": 486, "nodeType": "SourceUnit", "nodes": [ { - "id": 373, + "id": 416, "literals": [ "solidity", "^", @@ -891,7 +891,7 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:5" + "src": "0:24:7" }, { "baseContracts": [], @@ -899,18 +899,18 @@ "contractKind": "library", "documentation": "@title Math\n@dev Assorted math operations", "fullyImplemented": true, - "id": 442, + "id": 485, "linearizedBaseContracts": [ - 442 + 485 ], "name": "Math", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 389, + "id": 432, "nodeType": "Block", - "src": "166:32:5", + "src": "166:32:7", "statements": [ { "expression": { @@ -921,19 +921,19 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 384, + "id": 427, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 382, + "id": 425, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "179:1:5", + "referencedDeclaration": 418, + "src": "179:1:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -943,18 +943,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 383, + "id": 426, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "184:1:5", + "referencedDeclaration": 420, + "src": "184:1:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "src": "179:6:5", + "src": "179:6:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -962,32 +962,32 @@ }, "falseExpression": { "argumentTypes": null, - "id": 386, + "id": 429, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "192:1:5", + "referencedDeclaration": 420, + "src": "192:1:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "id": 387, + "id": 430, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "179:14:5", + "src": "179:14:7", "trueExpression": { "argumentTypes": null, - "id": 385, + "id": 428, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "188:1:5", + "referencedDeclaration": 418, + "src": "188:1:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -998,15 +998,15 @@ "typeString": "uint64" } }, - "functionReturnParameters": 381, - "id": 388, + "functionReturnParameters": 424, + "id": 431, "nodeType": "Return", - "src": "172:21:5" + "src": "172:21:7" } ] }, "documentation": null, - "id": 390, + "id": 433, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1014,16 +1014,16 @@ "name": "max64", "nodeType": "FunctionDefinition", "parameters": { - "id": 378, + "id": 421, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 375, + "id": 418, "name": "a", "nodeType": "VariableDeclaration", - "scope": 390, - "src": "115:8:5", + "scope": 433, + "src": "115:8:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1031,10 +1031,10 @@ "typeString": "uint64" }, "typeName": { - "id": 374, + "id": 417, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "115:6:5", + "src": "115:6:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -1045,11 +1045,11 @@ }, { "constant": false, - "id": 377, + "id": 420, "name": "b", "nodeType": "VariableDeclaration", - "scope": 390, - "src": "125:8:5", + "scope": 433, + "src": "125:8:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1057,10 +1057,10 @@ "typeString": "uint64" }, "typeName": { - "id": 376, + "id": 419, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "125:6:5", + "src": "125:6:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -1070,20 +1070,20 @@ "visibility": "internal" } ], - "src": "114:20:5" + "src": "114:20:7" }, "payable": false, "returnParameters": { - "id": 381, + "id": 424, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 380, + "id": 423, "name": "", "nodeType": "VariableDeclaration", - "scope": 390, - "src": "158:6:5", + "scope": 433, + "src": "158:6:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1091,10 +1091,10 @@ "typeString": "uint64" }, "typeName": { - "id": 379, + "id": 422, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "158:6:5", + "src": "158:6:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -1104,19 +1104,19 @@ "visibility": "internal" } ], - "src": "157:8:5" + "src": "157:8:7" }, - "scope": 442, - "src": "100:98:5", + "scope": 485, + "src": "100:98:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 406, + "id": 449, "nodeType": "Block", - "src": "268:31:5", + "src": "268:31:7", "statements": [ { "expression": { @@ -1127,19 +1127,19 @@ "typeIdentifier": "t_uint64", "typeString": "uint64" }, - "id": 401, + "id": 444, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 399, + "id": 442, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "281:1:5", + "referencedDeclaration": 435, + "src": "281:1:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -1149,18 +1149,18 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 400, + "id": 443, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 394, - "src": "285:1:5", + "referencedDeclaration": 437, + "src": "285:1:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "src": "281:5:5", + "src": "281:5:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1168,32 +1168,32 @@ }, "falseExpression": { "argumentTypes": null, - "id": 403, + "id": 446, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 394, - "src": "293:1:5", + "referencedDeclaration": 437, + "src": "293:1:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, - "id": 404, + "id": 447, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "281:13:5", + "src": "281:13:7", "trueExpression": { "argumentTypes": null, - "id": 402, + "id": 445, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "289:1:5", + "referencedDeclaration": 435, + "src": "289:1:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -1204,15 +1204,15 @@ "typeString": "uint64" } }, - "functionReturnParameters": 398, - "id": 405, + "functionReturnParameters": 441, + "id": 448, "nodeType": "Return", - "src": "274:20:5" + "src": "274:20:7" } ] }, "documentation": null, - "id": 407, + "id": 450, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1220,16 +1220,16 @@ "name": "min64", "nodeType": "FunctionDefinition", "parameters": { - "id": 395, + "id": 438, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 392, + "id": 435, "name": "a", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "217:8:5", + "scope": 450, + "src": "217:8:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1237,10 +1237,10 @@ "typeString": "uint64" }, "typeName": { - "id": 391, + "id": 434, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "217:6:5", + "src": "217:6:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -1251,11 +1251,11 @@ }, { "constant": false, - "id": 394, + "id": 437, "name": "b", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "227:8:5", + "scope": 450, + "src": "227:8:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1263,10 +1263,10 @@ "typeString": "uint64" }, "typeName": { - "id": 393, + "id": 436, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "227:6:5", + "src": "227:6:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -1276,20 +1276,20 @@ "visibility": "internal" } ], - "src": "216:20:5" + "src": "216:20:7" }, "payable": false, "returnParameters": { - "id": 398, + "id": 441, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 397, + "id": 440, "name": "", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "260:6:5", + "scope": 450, + "src": "260:6:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1297,10 +1297,10 @@ "typeString": "uint64" }, "typeName": { - "id": 396, + "id": 439, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "260:6:5", + "src": "260:6:7", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -1310,19 +1310,19 @@ "visibility": "internal" } ], - "src": "259:8:5" + "src": "259:8:7" }, - "scope": 442, - "src": "202:97:5", + "scope": 485, + "src": "202:97:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 423, + "id": 466, "nodeType": "Block", - "src": "373:32:5", + "src": "373:32:7", "statements": [ { "expression": { @@ -1333,19 +1333,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 418, + "id": 461, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 416, + "id": 459, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "386:1:5", + "referencedDeclaration": 452, + "src": "386:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1355,18 +1355,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 417, + "id": 460, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "391:1:5", + "referencedDeclaration": 454, + "src": "391:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "386:6:5", + "src": "386:6:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1374,32 +1374,32 @@ }, "falseExpression": { "argumentTypes": null, - "id": 420, + "id": 463, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "399:1:5", + "referencedDeclaration": 454, + "src": "399:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 421, + "id": 464, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "386:14:5", + "src": "386:14:7", "trueExpression": { "argumentTypes": null, - "id": 419, + "id": 462, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "395:1:5", + "referencedDeclaration": 452, + "src": "395:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1410,15 +1410,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 415, - "id": 422, + "functionReturnParameters": 458, + "id": 465, "nodeType": "Return", - "src": "379:21:5" + "src": "379:21:7" } ] }, "documentation": null, - "id": 424, + "id": 467, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1426,16 +1426,16 @@ "name": "max256", "nodeType": "FunctionDefinition", "parameters": { - "id": 412, + "id": 455, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 409, + "id": 452, "name": "a", "nodeType": "VariableDeclaration", - "scope": 424, - "src": "319:9:5", + "scope": 467, + "src": "319:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1443,10 +1443,10 @@ "typeString": "uint256" }, "typeName": { - "id": 408, + "id": 451, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "319:7:5", + "src": "319:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1457,11 +1457,11 @@ }, { "constant": false, - "id": 411, + "id": 454, "name": "b", "nodeType": "VariableDeclaration", - "scope": 424, - "src": "330:9:5", + "scope": 467, + "src": "330:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1469,10 +1469,10 @@ "typeString": "uint256" }, "typeName": { - "id": 410, + "id": 453, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "330:7:5", + "src": "330:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1482,20 +1482,20 @@ "visibility": "internal" } ], - "src": "318:22:5" + "src": "318:22:7" }, "payable": false, "returnParameters": { - "id": 415, + "id": 458, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 414, + "id": 457, "name": "", "nodeType": "VariableDeclaration", - "scope": 424, - "src": "364:7:5", + "scope": 467, + "src": "364:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1503,10 +1503,10 @@ "typeString": "uint256" }, "typeName": { - "id": 413, + "id": 456, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "364:7:5", + "src": "364:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1516,19 +1516,19 @@ "visibility": "internal" } ], - "src": "363:9:5" + "src": "363:9:7" }, - "scope": 442, - "src": "303:102:5", + "scope": 485, + "src": "303:102:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 440, + "id": 483, "nodeType": "Block", - "src": "479:31:5", + "src": "479:31:7", "statements": [ { "expression": { @@ -1539,19 +1539,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 435, + "id": 478, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 433, + "id": 476, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "492:1:5", + "referencedDeclaration": 469, + "src": "492:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1561,18 +1561,18 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 434, + "id": 477, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "496:1:5", + "referencedDeclaration": 471, + "src": "496:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "492:5:5", + "src": "492:5:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1580,32 +1580,32 @@ }, "falseExpression": { "argumentTypes": null, - "id": 437, + "id": 480, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "504:1:5", + "referencedDeclaration": 471, + "src": "504:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 438, + "id": 481, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "492:13:5", + "src": "492:13:7", "trueExpression": { "argumentTypes": null, - "id": 436, + "id": 479, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "500:1:5", + "referencedDeclaration": 469, + "src": "500:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1616,15 +1616,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 432, - "id": 439, + "functionReturnParameters": 475, + "id": 482, "nodeType": "Return", - "src": "485:20:5" + "src": "485:20:7" } ] }, "documentation": null, - "id": 441, + "id": 484, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1632,16 +1632,16 @@ "name": "min256", "nodeType": "FunctionDefinition", "parameters": { - "id": 429, + "id": 472, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 426, + "id": 469, "name": "a", "nodeType": "VariableDeclaration", - "scope": 441, - "src": "425:9:5", + "scope": 484, + "src": "425:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1649,10 +1649,10 @@ "typeString": "uint256" }, "typeName": { - "id": 425, + "id": 468, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "425:7:5", + "src": "425:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1663,11 +1663,11 @@ }, { "constant": false, - "id": 428, + "id": 471, "name": "b", "nodeType": "VariableDeclaration", - "scope": 441, - "src": "436:9:5", + "scope": 484, + "src": "436:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1675,10 +1675,10 @@ "typeString": "uint256" }, "typeName": { - "id": 427, + "id": 470, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "436:7:5", + "src": "436:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1688,20 +1688,20 @@ "visibility": "internal" } ], - "src": "424:22:5" + "src": "424:22:7" }, "payable": false, "returnParameters": { - "id": 432, + "id": 475, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 431, + "id": 474, "name": "", "nodeType": "VariableDeclaration", - "scope": 441, - "src": "470:7:5", + "scope": 484, + "src": "470:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1709,10 +1709,10 @@ "typeString": "uint256" }, "typeName": { - "id": 430, + "id": 473, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "470:7:5", + "src": "470:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1722,26 +1722,26 @@ "visibility": "internal" } ], - "src": "469:9:5" + "src": "469:9:7" }, - "scope": 442, - "src": "409:101:5", + "scope": 485, + "src": "409:101:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 443, - "src": "83:429:5" + "scope": 486, + "src": "83:429:7" } ], - "src": "0:513:5" + "src": "0:513:7" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.614Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.203Z" } \ No newline at end of file diff --git a/build/contracts/MathMock.json b/build/contracts/MathMock.json index a7e2ca016..198ede47f 100644 --- a/build/contracts/MathMock.json +++ b/build/contracts/MathMock.json @@ -102,24 +102,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50610356806100206000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630c255c941461007d57806336b1315c146100b45780633a4faf7f146100ff5780634b820d1d1461014a57806378f23d4614610175578063b1e9292f146101b4575b600080fd5b34801561008957600080fd5b506100b260048036038101908080359060200190929190803590602001909291905050506101eb565b005b3480156100c057600080fd5b506100fd600480360381019080803567ffffffffffffffff169060200190929190803567ffffffffffffffff1690602001909291905050506101ff565b005b34801561010b57600080fd5b50610148600480360381019080803567ffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610234565b005b34801561015657600080fd5b5061015f610269565b6040518082815260200191505060405180910390f35b34801561018157600080fd5b5061018a61026f565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3480156101c057600080fd5b506101e96004803603810190808035906020019092919080359060200190929190505050610288565b005b6101f5828261029c565b6001819055505050565b61020982826102b6565b6000806101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b61023e82826102e3565b6000806101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b60015481565b6000809054906101000a900467ffffffffffffffff1681565b6102928282610311565b6001819055505050565b6000818310156102ac57816102ae565b825b905092915050565b60008167ffffffffffffffff168367ffffffffffffffff16106102d957816102db565b825b905092915050565b60008167ffffffffffffffff168367ffffffffffffffff1610156103075781610309565b825b905092915050565b60008183106103205781610322565b825b9050929150505600a165627a7a72305820622fad6c59cc603adb4fa387ab6d0fa91913c52f402bfa729441f2f9615d3a410029", - "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630c255c941461007d57806336b1315c146100b45780633a4faf7f146100ff5780634b820d1d1461014a57806378f23d4614610175578063b1e9292f146101b4575b600080fd5b34801561008957600080fd5b506100b260048036038101908080359060200190929190803590602001909291905050506101eb565b005b3480156100c057600080fd5b506100fd600480360381019080803567ffffffffffffffff169060200190929190803567ffffffffffffffff1690602001909291905050506101ff565b005b34801561010b57600080fd5b50610148600480360381019080803567ffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610234565b005b34801561015657600080fd5b5061015f610269565b6040518082815260200191505060405180910390f35b34801561018157600080fd5b5061018a61026f565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3480156101c057600080fd5b506101e96004803603810190808035906020019092919080359060200190929190505050610288565b005b6101f5828261029c565b6001819055505050565b61020982826102b6565b6000806101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b61023e82826102e3565b6000806101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b60015481565b6000809054906101000a900467ffffffffffffffff1681565b6102928282610311565b6001819055505050565b6000818310156102ac57816102ae565b825b905092915050565b60008167ffffffffffffffff168367ffffffffffffffff16106102d957816102db565b825b905092915050565b60008167ffffffffffffffff168367ffffffffffffffff1610156103075781610309565b825b905092915050565b60008183106103205781610322565b825b9050929150505600a165627a7a72305820622fad6c59cc603adb4fa387ab6d0fa91913c52f402bfa729441f2f9615d3a410029", - "sourceMap": "69:421:15:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;69:421:15;;;;;;;", - "deployedSourceMap": "69:421:15:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;314:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;314:85:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;230:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;230:80:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;146:80:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;117:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;117:24:15;;;;;;;;;;;;;;;;;;;;;;;91:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;91:22:15;;;;;;;;;;;;;;;;;;;;;;;;;;;403:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;403:85:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;314;377:17;389:1;392;377:11;:17::i;:::-;365:9;:29;;;;314:85;;:::o;230:80::-;289:16;300:1;303;289:10;:16::i;:::-;278:8;;:27;;;;;;;;;;;;;;;;;;230:80;;:::o;146:::-;205:16;216:1;219;205:10;:16::i;:::-;194:8;;:27;;;;;;;;;;;;;;;;;;146:80;;:::o;117:24::-;;;;:::o;91:22::-;;;;;;;;;;;;;:::o;403:85::-;466:17;478:1;481;466:11;:17::i;:::-;454:9;:29;;;;403:85;;:::o;303:102:5:-;364:7;391:1;386;:6;;:14;;399:1;386:14;;;395:1;386:14;379:21;;303:102;;;;:::o;202:97::-;260:6;285:1;281:5;;:1;:5;;;:13;;293:1;281:13;;;289:1;281:13;274:20;;202:97;;;;:::o;100:98::-;158:6;184:1;179:6;;:1;:6;;;;:14;;192:1;179:14;;;188:1;179:14;172:21;;100:98;;;;:::o;409:101::-;470:7;496:1;492;:5;:13;;504:1;492:13;;;500:1;492:13;485:20;;409:101;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b50610356806100206000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630c255c941461007d57806336b1315c146100b45780633a4faf7f146100ff5780634b820d1d1461014a57806378f23d4614610175578063b1e9292f146101b4575b600080fd5b34801561008957600080fd5b506100b260048036038101908080359060200190929190803590602001909291905050506101eb565b005b3480156100c057600080fd5b506100fd600480360381019080803567ffffffffffffffff169060200190929190803567ffffffffffffffff1690602001909291905050506101ff565b005b34801561010b57600080fd5b50610148600480360381019080803567ffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610234565b005b34801561015657600080fd5b5061015f610269565b6040518082815260200191505060405180910390f35b34801561018157600080fd5b5061018a61026f565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3480156101c057600080fd5b506101e96004803603810190808035906020019092919080359060200190929190505050610288565b005b6101f5828261029c565b6001819055505050565b61020982826102b6565b6000806101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b61023e82826102e3565b6000806101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b60015481565b6000809054906101000a900467ffffffffffffffff1681565b6102928282610311565b6001819055505050565b6000818310156102ac57816102ae565b825b905092915050565b60008167ffffffffffffffff168367ffffffffffffffff16106102d957816102db565b825b905092915050565b60008167ffffffffffffffff168367ffffffffffffffff1610156103075781610309565b825b905092915050565b60008183106103205781610322565b825b9050929150505600a165627a7a7230582045640a0d0fdae0c080614a6a607acb03bbf209c3c3d4ad1025a488dfb2790e250029", + "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630c255c941461007d57806336b1315c146100b45780633a4faf7f146100ff5780634b820d1d1461014a57806378f23d4614610175578063b1e9292f146101b4575b600080fd5b34801561008957600080fd5b506100b260048036038101908080359060200190929190803590602001909291905050506101eb565b005b3480156100c057600080fd5b506100fd600480360381019080803567ffffffffffffffff169060200190929190803567ffffffffffffffff1690602001909291905050506101ff565b005b34801561010b57600080fd5b50610148600480360381019080803567ffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610234565b005b34801561015657600080fd5b5061015f610269565b6040518082815260200191505060405180910390f35b34801561018157600080fd5b5061018a61026f565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3480156101c057600080fd5b506101e96004803603810190808035906020019092919080359060200190929190505050610288565b005b6101f5828261029c565b6001819055505050565b61020982826102b6565b6000806101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b61023e82826102e3565b6000806101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b60015481565b6000809054906101000a900467ffffffffffffffff1681565b6102928282610311565b6001819055505050565b6000818310156102ac57816102ae565b825b905092915050565b60008167ffffffffffffffff168367ffffffffffffffff16106102d957816102db565b825b905092915050565b60008167ffffffffffffffff168367ffffffffffffffff1610156103075781610309565b825b905092915050565b60008183106103205781610322565b825b9050929150505600a165627a7a7230582045640a0d0fdae0c080614a6a607acb03bbf209c3c3d4ad1025a488dfb2790e250029", + "sourceMap": "69:421:17:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;69:421:17;;;;;;;", + "deployedSourceMap": "69:421:17:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;314:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;314:85:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;230:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;230:80:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;146:80:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;117:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;117:24:17;;;;;;;;;;;;;;;;;;;;;;;91:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;91:22:17;;;;;;;;;;;;;;;;;;;;;;;;;;;403:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;403:85:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;314;377:17;389:1;392;377:11;:17::i;:::-;365:9;:29;;;;314:85;;:::o;230:80::-;289:16;300:1;303;289:10;:16::i;:::-;278:8;;:27;;;;;;;;;;;;;;;;;;230:80;;:::o;146:::-;205:16;216:1;219;205:10;:16::i;:::-;194:8;;:27;;;;;;;;;;;;;;;;;;146:80;;:::o;117:24::-;;;;:::o;91:22::-;;;;;;;;;;;;;:::o;403:85::-;466:17;478:1;481;466:11;:17::i;:::-;454:9;:29;;;;403:85;;:::o;303:102:7:-;364:7;391:1;386;:6;;:14;;399:1;386:14;;;395:1;386:14;379:21;;303:102;;;;:::o;202:97::-;260:6;285:1;281:5;;:1;:5;;;:13;;293:1;281:13;;;289:1;281:13;274:20;;202:97;;;;:::o;100:98::-;158:6;184:1;179:6;;:1;:6;;;;:14;;192:1;179:14;;;188:1;179:14;172:21;;100:98;;;;:::o;409:101::-;470:7;496:1;492;:5;:13;;504:1;492:13;;;500:1;492:13;485:20;;409:101;;;;:::o", "source": "pragma solidity ^0.4.21;\n\n\nimport \"../../contracts/math/Math.sol\";\n\n\ncontract MathMock {\n uint64 public result64;\n uint256 public result256;\n\n function max64(uint64 a, uint64 b) public {\n result64 = Math.max64(a, b);\n }\n\n function min64(uint64 a, uint64 b) public {\n result64 = Math.min64(a, b);\n }\n\n function max256(uint256 a, uint256 b) public {\n result256 = Math.max256(a, b);\n }\n\n function min256(uint256 a, uint256 b) public {\n result256 = Math.min256(a, b);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/MathMock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/MathMock.sol", "exportedSymbols": { "MathMock": [ - 928 + 976 ] }, - "id": 929, + "id": 977, "nodeType": "SourceUnit", "nodes": [ { - "id": 858, + "id": 906, "literals": [ "solidity", "^", @@ -127,16 +127,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:15" + "src": "0:24:17" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/Math.sol", "file": "../../contracts/math/Math.sol", - "id": 859, + "id": 907, "nodeType": "ImportDirective", - "scope": 929, - "sourceUnit": 443, - "src": "27:39:15", + "scope": 977, + "sourceUnit": 486, + "src": "27:39:17", "symbolAliases": [], "unitAlias": "" }, @@ -146,20 +146,20 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 928, + "id": 976, "linearizedBaseContracts": [ - 928 + 976 ], "name": "MathMock", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 861, + "id": 909, "name": "result64", "nodeType": "VariableDeclaration", - "scope": 928, - "src": "91:22:15", + "scope": 976, + "src": "91:22:17", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -167,10 +167,10 @@ "typeString": "uint64" }, "typeName": { - "id": 860, + "id": 908, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "91:6:15", + "src": "91:6:17", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -181,11 +181,11 @@ }, { "constant": false, - "id": 863, + "id": 911, "name": "result256", "nodeType": "VariableDeclaration", - "scope": 928, - "src": "117:24:15", + "scope": 976, + "src": "117:24:17", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -193,10 +193,10 @@ "typeString": "uint256" }, "typeName": { - "id": 862, + "id": 910, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "117:7:15", + "src": "117:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -205,620 +205,11 @@ "value": null, "visibility": "public" }, - { - "body": { - "id": 878, - "nodeType": "Block", - "src": "188:38:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 870, - "name": "result64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 861, - "src": "194:8:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 873, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "216:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 874, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 867, - "src": "219:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 871, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 442, - "src": "205:4:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$442_$", - "typeString": "type(library Math)" - } - }, - "id": 872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "max64", - "nodeType": "MemberAccess", - "referencedDeclaration": 390, - "src": "205:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "205:16:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "194:27:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 877, - "nodeType": "ExpressionStatement", - "src": "194:27:15" - } - ] - }, - "documentation": null, - "id": 879, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "max64", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 865, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 879, - "src": "161:8:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 864, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "161:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 867, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 879, - "src": "171:8:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 866, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "171:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "160:20:15" - }, - "payable": false, - "returnParameters": { - "id": 869, - "nodeType": "ParameterList", - "parameters": [], - "src": "188:0:15" - }, - "scope": 928, - "src": "146:80:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 894, - "nodeType": "Block", - "src": "272:38:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 886, - "name": "result64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 861, - "src": "278:8:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 889, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "300:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 890, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 883, - "src": "303:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 887, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 442, - "src": "289:4:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$442_$", - "typeString": "type(library Math)" - } - }, - "id": 888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min64", - "nodeType": "MemberAccess", - "referencedDeclaration": 407, - "src": "289:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "289:16:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "278:27:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 893, - "nodeType": "ExpressionStatement", - "src": "278:27:15" - } - ] - }, - "documentation": null, - "id": 895, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "min64", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 884, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 881, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 895, - "src": "245:8:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 880, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "245:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 883, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 895, - "src": "255:8:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 882, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "255:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "244:20:15" - }, - "payable": false, - "returnParameters": { - "id": 885, - "nodeType": "ParameterList", - "parameters": [], - "src": "272:0:15" - }, - "scope": 928, - "src": "230:80:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 910, - "nodeType": "Block", - "src": "359:40:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 902, - "name": "result256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 863, - "src": "365:9:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 905, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "389:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 906, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "392:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 903, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 442, - "src": "377:4:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$442_$", - "typeString": "type(library Math)" - } - }, - "id": 904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "max256", - "nodeType": "MemberAccess", - "referencedDeclaration": 424, - "src": "377:11:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "377:17:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "365:29:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 909, - "nodeType": "ExpressionStatement", - "src": "365:29:15" - } - ] - }, - "documentation": null, - "id": 911, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "max256", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 900, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 897, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 911, - "src": "330:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "330:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 899, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 911, - "src": "341:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "341:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "329:22:15" - }, - "payable": false, - "returnParameters": { - "id": 901, - "nodeType": "ParameterList", - "parameters": [], - "src": "359:0:15" - }, - "scope": 928, - "src": "314:85:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, { "body": { "id": 926, "nodeType": "Block", - "src": "448:40:15", + "src": "188:38:17", "statements": [ { "expression": { @@ -831,14 +222,14 @@ "leftHandSide": { "argumentTypes": null, "id": 918, - "name": "result256", + "name": "result64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 863, - "src": "454:9:15", + "referencedDeclaration": 909, + "src": "194:8:17", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint64", + "typeString": "uint64" } }, "nodeType": "Assignment", @@ -853,10 +244,10 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 913, - "src": "478:1:15", + "src": "216:1:17", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint64", + "typeString": "uint64" } }, { @@ -866,7 +257,413 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "481:1:15", + "src": "219:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "expression": { + "argumentTypes": null, + "id": 919, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 485, + "src": "205:4:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$485_$", + "typeString": "type(library Math)" + } + }, + "id": 920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "max64", + "nodeType": "MemberAccess", + "referencedDeclaration": 433, + "src": "205:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$", + "typeString": "function (uint64,uint64) pure returns (uint64)" + } + }, + "id": 923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "205:16:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "194:27:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 925, + "nodeType": "ExpressionStatement", + "src": "194:27:17" + } + ] + }, + "documentation": null, + "id": 927, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "max64", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 916, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 913, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 927, + "src": "161:8:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 912, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "161:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 915, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 927, + "src": "171:8:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 914, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "171:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "160:20:17" + }, + "payable": false, + "returnParameters": { + "id": 917, + "nodeType": "ParameterList", + "parameters": [], + "src": "188:0:17" + }, + "scope": 976, + "src": "146:80:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 942, + "nodeType": "Block", + "src": "272:38:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 934, + "name": "result64", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 909, + "src": "278:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 937, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 929, + "src": "300:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "argumentTypes": null, + "id": 938, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 931, + "src": "303:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "expression": { + "argumentTypes": null, + "id": 935, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 485, + "src": "289:4:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$485_$", + "typeString": "type(library Math)" + } + }, + "id": 936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "min64", + "nodeType": "MemberAccess", + "referencedDeclaration": 450, + "src": "289:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$", + "typeString": "function (uint64,uint64) pure returns (uint64)" + } + }, + "id": 939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "289:16:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "278:27:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 941, + "nodeType": "ExpressionStatement", + "src": "278:27:17" + } + ] + }, + "documentation": null, + "id": 943, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "min64", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 932, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 929, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 943, + "src": "245:8:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 928, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "245:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 931, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 943, + "src": "255:8:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 930, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "255:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "244:20:17" + }, + "payable": false, + "returnParameters": { + "id": 933, + "nodeType": "ParameterList", + "parameters": [], + "src": "272:0:17" + }, + "scope": 976, + "src": "230:80:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 958, + "nodeType": "Block", + "src": "359:40:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 950, + "name": "result256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 911, + "src": "365:9:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 953, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 945, + "src": "389:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 954, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 947, + "src": "392:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -886,32 +683,32 @@ ], "expression": { "argumentTypes": null, - "id": 919, + "id": 951, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 442, - "src": "466:4:15", + "referencedDeclaration": 485, + "src": "377:4:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$442_$", + "typeIdentifier": "t_type$_t_contract$_Math_$485_$", "typeString": "type(library Math)" } }, - "id": 920, + "id": 952, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "min256", + "memberName": "max256", "nodeType": "MemberAccess", - "referencedDeclaration": 441, - "src": "466:11:15", + "referencedDeclaration": 467, + "src": "377:11:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 923, + "id": 955, "isConstant": false, "isLValue": false, "isPure": false, @@ -919,43 +716,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "466:17:15", + "src": "377:17:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "454:29:15", + "src": "365:29:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 925, + "id": 957, "nodeType": "ExpressionStatement", - "src": "454:29:15" + "src": "365:29:17" } ] }, "documentation": null, - "id": 927, + "id": 959, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], - "name": "min256", + "name": "max256", "nodeType": "FunctionDefinition", "parameters": { - "id": 916, + "id": 948, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 913, + "id": 945, "name": "a", "nodeType": "VariableDeclaration", - "scope": 927, - "src": "419:9:15", + "scope": 959, + "src": "330:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -963,10 +760,10 @@ "typeString": "uint256" }, "typeName": { - "id": 912, + "id": 944, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "419:7:15", + "src": "330:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -977,11 +774,11 @@ }, { "constant": false, - "id": 915, + "id": 947, "name": "b", "nodeType": "VariableDeclaration", - "scope": 927, - "src": "430:9:15", + "scope": 959, + "src": "341:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -989,10 +786,10 @@ "typeString": "uint256" }, "typeName": { - "id": 914, + "id": 946, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "430:7:15", + "src": "341:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1002,40 +799,243 @@ "visibility": "internal" } ], - "src": "418:22:15" + "src": "329:22:17" }, "payable": false, "returnParameters": { - "id": 917, + "id": 949, "nodeType": "ParameterList", "parameters": [], - "src": "448:0:15" + "src": "359:0:17" }, - "scope": 928, - "src": "403:85:15", + "scope": 976, + "src": "314:85:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 974, + "nodeType": "Block", + "src": "448:40:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 966, + "name": "result256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 911, + "src": "454:9:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 969, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 961, + "src": "478:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 970, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "481:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 967, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 485, + "src": "466:4:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$485_$", + "typeString": "type(library Math)" + } + }, + "id": 968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "min256", + "nodeType": "MemberAccess", + "referencedDeclaration": 484, + "src": "466:11:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "466:17:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "454:29:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 973, + "nodeType": "ExpressionStatement", + "src": "454:29:17" + } + ] + }, + "documentation": null, + "id": 975, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "min256", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 961, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 975, + "src": "419:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 960, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "419:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 963, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 975, + "src": "430:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 962, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "430:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "418:22:17" + }, + "payable": false, + "returnParameters": { + "id": 965, + "nodeType": "ParameterList", + "parameters": [], + "src": "448:0:17" + }, + "scope": 976, + "src": "403:85:17", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 929, - "src": "69:421:15" + "scope": 977, + "src": "69:421:17" } ], - "src": "0:491:15" + "src": "0:491:17" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/MathMock.sol", "exportedSymbols": { "MathMock": [ - 928 + 976 ] }, - "id": 929, + "id": 977, "nodeType": "SourceUnit", "nodes": [ { - "id": 858, + "id": 906, "literals": [ "solidity", "^", @@ -1043,16 +1043,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:15" + "src": "0:24:17" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/Math.sol", "file": "../../contracts/math/Math.sol", - "id": 859, + "id": 907, "nodeType": "ImportDirective", - "scope": 929, - "sourceUnit": 443, - "src": "27:39:15", + "scope": 977, + "sourceUnit": 486, + "src": "27:39:17", "symbolAliases": [], "unitAlias": "" }, @@ -1062,20 +1062,20 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 928, + "id": 976, "linearizedBaseContracts": [ - 928 + 976 ], "name": "MathMock", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 861, + "id": 909, "name": "result64", "nodeType": "VariableDeclaration", - "scope": 928, - "src": "91:22:15", + "scope": 976, + "src": "91:22:17", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1083,10 +1083,10 @@ "typeString": "uint64" }, "typeName": { - "id": 860, + "id": 908, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "91:6:15", + "src": "91:6:17", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -1097,11 +1097,11 @@ }, { "constant": false, - "id": 863, + "id": 911, "name": "result256", "nodeType": "VariableDeclaration", - "scope": 928, - "src": "117:24:15", + "scope": 976, + "src": "117:24:17", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1109,10 +1109,10 @@ "typeString": "uint256" }, "typeName": { - "id": 862, + "id": 910, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "117:7:15", + "src": "117:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1121,620 +1121,11 @@ "value": null, "visibility": "public" }, - { - "body": { - "id": 878, - "nodeType": "Block", - "src": "188:38:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 870, - "name": "result64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 861, - "src": "194:8:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 873, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "216:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 874, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 867, - "src": "219:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 871, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 442, - "src": "205:4:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$442_$", - "typeString": "type(library Math)" - } - }, - "id": 872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "max64", - "nodeType": "MemberAccess", - "referencedDeclaration": 390, - "src": "205:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "205:16:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "194:27:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 877, - "nodeType": "ExpressionStatement", - "src": "194:27:15" - } - ] - }, - "documentation": null, - "id": 879, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "max64", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 865, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 879, - "src": "161:8:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 864, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "161:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 867, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 879, - "src": "171:8:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 866, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "171:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "160:20:15" - }, - "payable": false, - "returnParameters": { - "id": 869, - "nodeType": "ParameterList", - "parameters": [], - "src": "188:0:15" - }, - "scope": 928, - "src": "146:80:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 894, - "nodeType": "Block", - "src": "272:38:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 886, - "name": "result64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 861, - "src": "278:8:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 889, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "300:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "argumentTypes": null, - "id": 890, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 883, - "src": "303:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "argumentTypes": null, - "id": 887, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 442, - "src": "289:4:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$442_$", - "typeString": "type(library Math)" - } - }, - "id": 888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min64", - "nodeType": "MemberAccess", - "referencedDeclaration": 407, - "src": "289:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$", - "typeString": "function (uint64,uint64) pure returns (uint64)" - } - }, - "id": 891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "289:16:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "278:27:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 893, - "nodeType": "ExpressionStatement", - "src": "278:27:15" - } - ] - }, - "documentation": null, - "id": 895, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "min64", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 884, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 881, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 895, - "src": "245:8:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 880, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "245:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 883, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 895, - "src": "255:8:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 882, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "255:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "244:20:15" - }, - "payable": false, - "returnParameters": { - "id": 885, - "nodeType": "ParameterList", - "parameters": [], - "src": "272:0:15" - }, - "scope": 928, - "src": "230:80:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 910, - "nodeType": "Block", - "src": "359:40:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 902, - "name": "result256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 863, - "src": "365:9:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 905, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "389:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 906, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "392:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 903, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 442, - "src": "377:4:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$442_$", - "typeString": "type(library Math)" - } - }, - "id": 904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "max256", - "nodeType": "MemberAccess", - "referencedDeclaration": 424, - "src": "377:11:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "377:17:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "365:29:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 909, - "nodeType": "ExpressionStatement", - "src": "365:29:15" - } - ] - }, - "documentation": null, - "id": 911, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "max256", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 900, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 897, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 911, - "src": "330:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "330:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 899, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 911, - "src": "341:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "341:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "329:22:15" - }, - "payable": false, - "returnParameters": { - "id": 901, - "nodeType": "ParameterList", - "parameters": [], - "src": "359:0:15" - }, - "scope": 928, - "src": "314:85:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, { "body": { "id": 926, "nodeType": "Block", - "src": "448:40:15", + "src": "188:38:17", "statements": [ { "expression": { @@ -1747,14 +1138,14 @@ "leftHandSide": { "argumentTypes": null, "id": 918, - "name": "result256", + "name": "result64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 863, - "src": "454:9:15", + "referencedDeclaration": 909, + "src": "194:8:17", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint64", + "typeString": "uint64" } }, "nodeType": "Assignment", @@ -1769,10 +1160,10 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 913, - "src": "478:1:15", + "src": "216:1:17", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint64", + "typeString": "uint64" } }, { @@ -1782,7 +1173,413 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "481:1:15", + "src": "219:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "expression": { + "argumentTypes": null, + "id": 919, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 485, + "src": "205:4:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$485_$", + "typeString": "type(library Math)" + } + }, + "id": 920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "max64", + "nodeType": "MemberAccess", + "referencedDeclaration": 433, + "src": "205:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$", + "typeString": "function (uint64,uint64) pure returns (uint64)" + } + }, + "id": 923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "205:16:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "194:27:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 925, + "nodeType": "ExpressionStatement", + "src": "194:27:17" + } + ] + }, + "documentation": null, + "id": 927, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "max64", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 916, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 913, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 927, + "src": "161:8:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 912, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "161:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 915, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 927, + "src": "171:8:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 914, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "171:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "160:20:17" + }, + "payable": false, + "returnParameters": { + "id": 917, + "nodeType": "ParameterList", + "parameters": [], + "src": "188:0:17" + }, + "scope": 976, + "src": "146:80:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 942, + "nodeType": "Block", + "src": "272:38:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 934, + "name": "result64", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 909, + "src": "278:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 937, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 929, + "src": "300:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "argumentTypes": null, + "id": 938, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 931, + "src": "303:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "expression": { + "argumentTypes": null, + "id": 935, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 485, + "src": "289:4:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$485_$", + "typeString": "type(library Math)" + } + }, + "id": 936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "min64", + "nodeType": "MemberAccess", + "referencedDeclaration": 450, + "src": "289:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_uint64_$returns$_t_uint64_$", + "typeString": "function (uint64,uint64) pure returns (uint64)" + } + }, + "id": 939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "289:16:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "278:27:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 941, + "nodeType": "ExpressionStatement", + "src": "278:27:17" + } + ] + }, + "documentation": null, + "id": 943, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "min64", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 932, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 929, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 943, + "src": "245:8:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 928, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "245:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 931, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 943, + "src": "255:8:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 930, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "255:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "244:20:17" + }, + "payable": false, + "returnParameters": { + "id": 933, + "nodeType": "ParameterList", + "parameters": [], + "src": "272:0:17" + }, + "scope": 976, + "src": "230:80:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 958, + "nodeType": "Block", + "src": "359:40:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 950, + "name": "result256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 911, + "src": "365:9:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 953, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 945, + "src": "389:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 954, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 947, + "src": "392:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1802,32 +1599,32 @@ ], "expression": { "argumentTypes": null, - "id": 919, + "id": 951, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 442, - "src": "466:4:15", + "referencedDeclaration": 485, + "src": "377:4:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$442_$", + "typeIdentifier": "t_type$_t_contract$_Math_$485_$", "typeString": "type(library Math)" } }, - "id": 920, + "id": 952, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "min256", + "memberName": "max256", "nodeType": "MemberAccess", - "referencedDeclaration": 441, - "src": "466:11:15", + "referencedDeclaration": 467, + "src": "377:11:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 923, + "id": 955, "isConstant": false, "isLValue": false, "isPure": false, @@ -1835,43 +1632,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "466:17:15", + "src": "377:17:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "454:29:15", + "src": "365:29:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 925, + "id": 957, "nodeType": "ExpressionStatement", - "src": "454:29:15" + "src": "365:29:17" } ] }, "documentation": null, - "id": 927, + "id": 959, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], - "name": "min256", + "name": "max256", "nodeType": "FunctionDefinition", "parameters": { - "id": 916, + "id": 948, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 913, + "id": 945, "name": "a", "nodeType": "VariableDeclaration", - "scope": 927, - "src": "419:9:15", + "scope": 959, + "src": "330:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1879,10 +1676,10 @@ "typeString": "uint256" }, "typeName": { - "id": 912, + "id": 944, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "419:7:15", + "src": "330:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1893,11 +1690,11 @@ }, { "constant": false, - "id": 915, + "id": 947, "name": "b", "nodeType": "VariableDeclaration", - "scope": 927, - "src": "430:9:15", + "scope": 959, + "src": "341:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1905,10 +1702,10 @@ "typeString": "uint256" }, "typeName": { - "id": 914, + "id": 946, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "430:7:15", + "src": "341:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1918,33 +1715,236 @@ "visibility": "internal" } ], - "src": "418:22:15" + "src": "329:22:17" }, "payable": false, "returnParameters": { - "id": 917, + "id": 949, "nodeType": "ParameterList", "parameters": [], - "src": "448:0:15" + "src": "359:0:17" }, - "scope": 928, - "src": "403:85:15", + "scope": 976, + "src": "314:85:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 974, + "nodeType": "Block", + "src": "448:40:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 966, + "name": "result256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 911, + "src": "454:9:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 969, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 961, + "src": "478:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 970, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "481:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 967, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 485, + "src": "466:4:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$485_$", + "typeString": "type(library Math)" + } + }, + "id": 968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "min256", + "nodeType": "MemberAccess", + "referencedDeclaration": 484, + "src": "466:11:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "466:17:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "454:29:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 973, + "nodeType": "ExpressionStatement", + "src": "454:29:17" + } + ] + }, + "documentation": null, + "id": 975, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "min256", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 961, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 975, + "src": "419:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 960, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "419:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 963, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 975, + "src": "430:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 962, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "430:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "418:22:17" + }, + "payable": false, + "returnParameters": { + "id": 965, + "nodeType": "ParameterList", + "parameters": [], + "src": "448:0:17" + }, + "scope": 976, + "src": "403:85:17", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 929, - "src": "69:421:15" + "scope": 977, + "src": "69:421:17" } ], - "src": "0:491:15" + "src": "0:491:17" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.619Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.205Z" } \ No newline at end of file diff --git a/build/contracts/MerkleProof.json b/build/contracts/MerkleProof.json index 9bc2eb307..6dfcae72a 100644 --- a/build/contracts/MerkleProof.json +++ b/build/contracts/MerkleProof.json @@ -1,8 +1,8 @@ { "contractName": "MerkleProof", "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820ccc41da397538bcd62e42f28e2999ceae0d28d7b83d6c3bfbda80241383dc2fc0029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820ccc41da397538bcd62e42f28e2999ceae0d28d7b83d6c3bfbda80241383dc2fc0029", + "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820de3b6f14f81089bc425ad158bc3ccc2cf37c3fb8768224f30fc867a34dbc88ef0029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820de3b6f14f81089bc425ad158bc3ccc2cf37c3fb8768224f30fc867a34dbc88ef0029", "sourceMap": "189:1052:2:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", "deployedSourceMap": "189:1052:2:-;;;;;;;;", "source": "pragma solidity ^0.4.21;\n\n\n/*\n * @title MerkleProof\n * @dev Merkle proof verification\n * @note Based on https://github.com/ameensol/merkle-tree-solidity/blob/master/src/MerkleProof.sol\n */\nlibrary MerkleProof {\n /*\n * @dev Verifies a Merkle proof proving the existence of a leaf in a Merkle tree. Assumes that each pair of leaves\n * and each pair of pre-images is sorted.\n * @param _proof Merkle proof containing sibling hashes on the branch from the leaf to the root of the Merkle tree\n * @param _root Merkle root\n * @param _leaf Leaf of Merkle tree\n */\n function verifyProof(bytes32[] _proof, bytes32 _root, bytes32 _leaf) internal pure returns (bool) {\n bytes32 computedHash = _leaf;\n\n for (uint256 i = 0; i < _proof.length; i++) {\n bytes32 proofElement = _proof[i];\n\n if (computedHash < proofElement) {\n // Hash(current computed hash + current element of the proof)\n computedHash = keccak256(computedHash, proofElement);\n } else {\n // Hash(current element of the proof + current computed hash)\n computedHash = keccak256(proofElement, computedHash);\n }\n }\n\n // Check if the computed hash (root) is equal to the provided root\n return computedHash == _root;\n }\n}\n", @@ -297,7 +297,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4778, + "referencedDeclaration": 4873, "src": "1077:9:2", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -406,7 +406,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4778, + "referencedDeclaration": 4873, "src": "930:9:2", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -1088,7 +1088,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4778, + "referencedDeclaration": 4873, "src": "1077:9:2", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -1197,7 +1197,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4778, + "referencedDeclaration": 4873, "src": "930:9:2", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -1591,9 +1591,9 @@ }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.612Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.202Z" } \ No newline at end of file diff --git a/build/contracts/MerkleProofWrapper.json b/build/contracts/MerkleProofWrapper.json index bafdfbd02..6cae550b9 100644 --- a/build/contracts/MerkleProofWrapper.json +++ b/build/contracts/MerkleProofWrapper.json @@ -29,24 +29,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506101ed806100206000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634bc935d714610046575b600080fd5b34801561005257600080fd5b506100c660048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803560001916906020019092919080356000191690602001909291905050506100e0565b604051808215151515815260200191505060405180910390f35b60006100ed8484846100f6565b90509392505050565b600080600080849250600091505b86518210156101aa57868281518110151561011b57fe5b90602001906020020151905080600019168360001916101561016c5782816040518083600019166000191681526020018260001916600019168152602001925050506040518091039020925061019d565b8083604051808360001916600019168152602001826000191660001916815260200192505050604051809103902092505b8180600101925050610104565b8560001916836000191614935050505093925050505600a165627a7a7230582058ba6cfec4db5a47902bee5542ced9e6d6155a2fef40973b5038cedcbc55e9aa0029", - "deployedBytecode": "0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634bc935d714610046575b600080fd5b34801561005257600080fd5b506100c660048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803560001916906020019092919080356000191690602001909291905050506100e0565b604051808215151515815260200191505060405180910390f35b60006100ed8484846100f6565b90509392505050565b600080600080849250600091505b86518210156101aa57868281518110151561011b57fe5b90602001906020020151905080600019168360001916101561016c5782816040518083600019166000191681526020018260001916600019168152602001925050506040518091039020925061019d565b8083604051808360001916600019168152602001826000191660001916815260200192505050604051809103902092505b8180600101925050610104565b8560001916836000191614935050505093925050505600a165627a7a7230582058ba6cfec4db5a47902bee5542ced9e6d6155a2fef40973b5038cedcbc55e9aa0029", - "sourceMap": "78:194:16:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;78:194:16;;;;;;;", - "deployedSourceMap": "78:194:16:-;;;;;;;;;;;;;;;;;;;;;;;;111:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;111:159:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;201:4;220:45;244:6;252:5;259;220:23;:45::i;:::-;213:52;;111:159;;;;;:::o;570:669:2:-;662:4;674:20;714:9;761:20;697:5;674:28;;726:1;714:13;;709:420;733:6;:13;729:1;:17;709:420;;;784:6;791:1;784:9;;;;;;;;;;;;;;;;;;761:32;;821:12;806:27;;;:12;:27;;;;802:321;;;940:12;954;930:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;915:52;;802:321;;;1087:12;1101;1077:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1062:52;;802:321;748:3;;;;;;;709:420;;;1229:5;1213:21;;;:12;:21;;;;1206:28;;570:669;;;;;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b506101ed806100206000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634bc935d714610046575b600080fd5b34801561005257600080fd5b506100c660048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803560001916906020019092919080356000191690602001909291905050506100e0565b604051808215151515815260200191505060405180910390f35b60006100ed8484846100f6565b90509392505050565b600080600080849250600091505b86518210156101aa57868281518110151561011b57fe5b90602001906020020151905080600019168360001916101561016c5782816040518083600019166000191681526020018260001916600019168152602001925050506040518091039020925061019d565b8083604051808360001916600019168152602001826000191660001916815260200192505050604051809103902092505b8180600101925050610104565b8560001916836000191614935050505093925050505600a165627a7a723058208c1f625351de14babc2fa1c8992cd7bac590bfd4976454d05559851d824e803d0029", + "deployedBytecode": "0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634bc935d714610046575b600080fd5b34801561005257600080fd5b506100c660048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803560001916906020019092919080356000191690602001909291905050506100e0565b604051808215151515815260200191505060405180910390f35b60006100ed8484846100f6565b90509392505050565b600080600080849250600091505b86518210156101aa57868281518110151561011b57fe5b90602001906020020151905080600019168360001916101561016c5782816040518083600019166000191681526020018260001916600019168152602001925050506040518091039020925061019d565b8083604051808360001916600019168152602001826000191660001916815260200192505050604051809103902092505b8180600101925050610104565b8560001916836000191614935050505093925050505600a165627a7a723058208c1f625351de14babc2fa1c8992cd7bac590bfd4976454d05559851d824e803d0029", + "sourceMap": "78:194:18:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;78:194:18;;;;;;;", + "deployedSourceMap": "78:194:18:-;;;;;;;;;;;;;;;;;;;;;;;;111:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;111:159:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;201:4;220:45;244:6;252:5;259;220:23;:45::i;:::-;213:52;;111:159;;;;;:::o;570:669:2:-;662:4;674:20;714:9;761:20;697:5;674:28;;726:1;714:13;;709:420;733:6;:13;729:1;:17;709:420;;;784:6;791:1;784:9;;;;;;;;;;;;;;;;;;761:32;;821:12;806:27;;;:12;:27;;;;802:321;;;940:12;954;930:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;915:52;;802:321;;;1087:12;1101;1077:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1062:52;;802:321;748:3;;;;;;;709:420;;;1229:5;1213:21;;;:12;:21;;;;1206:28;;570:669;;;;;;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport { MerkleProof } from \"../MerkleProof.sol\";\n\n\ncontract MerkleProofWrapper {\n\n function verifyProof(bytes32[] _proof, bytes32 _root, bytes32 _leaf) public pure returns (bool) {\n return MerkleProof.verifyProof(_proof, _root, _leaf);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/MerkleProofWrapper.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/MerkleProofWrapper.sol", "exportedSymbols": { "MerkleProofWrapper": [ - 953 + 1001 ] }, - "id": 954, + "id": 1002, "nodeType": "SourceUnit", "nodes": [ { - "id": 930, + "id": 978, "literals": [ "solidity", "^", @@ -54,19 +54,19 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:16" + "src": "0:24:18" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/MerkleProof.sol", "file": "../MerkleProof.sol", - "id": 932, + "id": 980, "nodeType": "ImportDirective", - "scope": 954, + "scope": 1002, "sourceUnit": 160, - "src": "26:49:16", + "src": "26:49:18", "symbolAliases": [ { - "foreign": 931, + "foreign": 979, "local": null } ], @@ -78,18 +78,18 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 953, + "id": 1001, "linearizedBaseContracts": [ - 953 + 1001 ], "name": "MerkleProofWrapper", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 951, + "id": 999, "nodeType": "Block", - "src": "207:63:16", + "src": "207:63:18", "statements": [ { "expression": { @@ -97,12 +97,12 @@ "arguments": [ { "argumentTypes": null, - "id": 946, + "id": 994, "name": "_proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "244:6:16", + "referencedDeclaration": 983, + "src": "244:6:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -110,12 +110,12 @@ }, { "argumentTypes": null, - "id": 947, + "id": 995, "name": "_root", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 937, - "src": "252:5:16", + "referencedDeclaration": 985, + "src": "252:5:18", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -123,12 +123,12 @@ }, { "argumentTypes": null, - "id": 948, + "id": 996, "name": "_leaf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "259:5:16", + "referencedDeclaration": 987, + "src": "259:5:18", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -152,18 +152,18 @@ ], "expression": { "argumentTypes": null, - "id": 944, + "id": 992, "name": "MerkleProof", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 159, - "src": "220:11:16", + "src": "220:11:18", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_MerkleProof_$159_$", "typeString": "type(library MerkleProof)" } }, - "id": 945, + "id": 993, "isConstant": false, "isLValue": false, "isPure": false, @@ -171,13 +171,13 @@ "memberName": "verifyProof", "nodeType": "MemberAccess", "referencedDeclaration": 158, - "src": "220:23:16", + "src": "220:23:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32[] memory,bytes32,bytes32) pure returns (bool)" } }, - "id": 949, + "id": 997, "isConstant": false, "isLValue": false, "isPure": false, @@ -185,21 +185,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "220:45:16", + "src": "220:45:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 943, - "id": 950, + "functionReturnParameters": 991, + "id": 998, "nodeType": "Return", - "src": "213:52:16" + "src": "213:52:18" } ] }, "documentation": null, - "id": 952, + "id": 1000, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -207,16 +207,16 @@ "name": "verifyProof", "nodeType": "FunctionDefinition", "parameters": { - "id": 940, + "id": 988, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 935, + "id": 983, "name": "_proof", "nodeType": "VariableDeclaration", - "scope": 952, - "src": "132:16:16", + "scope": 1000, + "src": "132:16:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -225,19 +225,19 @@ }, "typeName": { "baseType": { - "id": 933, + "id": 981, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "132:7:16", + "src": "132:7:18", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 934, + "id": 982, "length": null, "nodeType": "ArrayTypeName", - "src": "132:9:16", + "src": "132:9:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -248,11 +248,11 @@ }, { "constant": false, - "id": 937, + "id": 985, "name": "_root", "nodeType": "VariableDeclaration", - "scope": 952, - "src": "150:13:16", + "scope": 1000, + "src": "150:13:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -260,10 +260,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 936, + "id": 984, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "150:7:16", + "src": "150:7:18", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -274,11 +274,11 @@ }, { "constant": false, - "id": 939, + "id": 987, "name": "_leaf", "nodeType": "VariableDeclaration", - "scope": 952, - "src": "165:13:16", + "scope": 1000, + "src": "165:13:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -286,10 +286,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 938, + "id": 986, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "165:7:16", + "src": "165:7:18", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -299,20 +299,20 @@ "visibility": "internal" } ], - "src": "131:48:16" + "src": "131:48:18" }, "payable": false, "returnParameters": { - "id": 943, + "id": 991, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 942, + "id": 990, "name": "", "nodeType": "VariableDeclaration", - "scope": 952, - "src": "201:4:16", + "scope": 1000, + "src": "201:4:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -320,10 +320,10 @@ "typeString": "bool" }, "typeName": { - "id": 941, + "id": 989, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "201:4:16", + "src": "201:4:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -333,33 +333,33 @@ "visibility": "internal" } ], - "src": "200:6:16" + "src": "200:6:18" }, - "scope": 953, - "src": "111:159:16", + "scope": 1001, + "src": "111:159:18", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], - "scope": 954, - "src": "78:194:16" + "scope": 1002, + "src": "78:194:18" } ], - "src": "0:273:16" + "src": "0:273:18" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/MerkleProofWrapper.sol", "exportedSymbols": { "MerkleProofWrapper": [ - 953 + 1001 ] }, - "id": 954, + "id": 1002, "nodeType": "SourceUnit", "nodes": [ { - "id": 930, + "id": 978, "literals": [ "solidity", "^", @@ -367,19 +367,19 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:16" + "src": "0:24:18" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/MerkleProof.sol", "file": "../MerkleProof.sol", - "id": 932, + "id": 980, "nodeType": "ImportDirective", - "scope": 954, + "scope": 1002, "sourceUnit": 160, - "src": "26:49:16", + "src": "26:49:18", "symbolAliases": [ { - "foreign": 931, + "foreign": 979, "local": null } ], @@ -391,18 +391,18 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 953, + "id": 1001, "linearizedBaseContracts": [ - 953 + 1001 ], "name": "MerkleProofWrapper", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 951, + "id": 999, "nodeType": "Block", - "src": "207:63:16", + "src": "207:63:18", "statements": [ { "expression": { @@ -410,12 +410,12 @@ "arguments": [ { "argumentTypes": null, - "id": 946, + "id": 994, "name": "_proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "244:6:16", + "referencedDeclaration": 983, + "src": "244:6:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -423,12 +423,12 @@ }, { "argumentTypes": null, - "id": 947, + "id": 995, "name": "_root", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 937, - "src": "252:5:16", + "referencedDeclaration": 985, + "src": "252:5:18", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -436,12 +436,12 @@ }, { "argumentTypes": null, - "id": 948, + "id": 996, "name": "_leaf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "259:5:16", + "referencedDeclaration": 987, + "src": "259:5:18", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -465,18 +465,18 @@ ], "expression": { "argumentTypes": null, - "id": 944, + "id": 992, "name": "MerkleProof", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 159, - "src": "220:11:16", + "src": "220:11:18", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_MerkleProof_$159_$", "typeString": "type(library MerkleProof)" } }, - "id": 945, + "id": 993, "isConstant": false, "isLValue": false, "isPure": false, @@ -484,13 +484,13 @@ "memberName": "verifyProof", "nodeType": "MemberAccess", "referencedDeclaration": 158, - "src": "220:23:16", + "src": "220:23:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32[] memory,bytes32,bytes32) pure returns (bool)" } }, - "id": 949, + "id": 997, "isConstant": false, "isLValue": false, "isPure": false, @@ -498,21 +498,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "220:45:16", + "src": "220:45:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 943, - "id": 950, + "functionReturnParameters": 991, + "id": 998, "nodeType": "Return", - "src": "213:52:16" + "src": "213:52:18" } ] }, "documentation": null, - "id": 952, + "id": 1000, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -520,16 +520,16 @@ "name": "verifyProof", "nodeType": "FunctionDefinition", "parameters": { - "id": 940, + "id": 988, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 935, + "id": 983, "name": "_proof", "nodeType": "VariableDeclaration", - "scope": 952, - "src": "132:16:16", + "scope": 1000, + "src": "132:16:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -538,19 +538,19 @@ }, "typeName": { "baseType": { - "id": 933, + "id": 981, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "132:7:16", + "src": "132:7:18", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 934, + "id": 982, "length": null, "nodeType": "ArrayTypeName", - "src": "132:9:16", + "src": "132:9:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -561,11 +561,11 @@ }, { "constant": false, - "id": 937, + "id": 985, "name": "_root", "nodeType": "VariableDeclaration", - "scope": 952, - "src": "150:13:16", + "scope": 1000, + "src": "150:13:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -573,10 +573,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 936, + "id": 984, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "150:7:16", + "src": "150:7:18", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -587,11 +587,11 @@ }, { "constant": false, - "id": 939, + "id": 987, "name": "_leaf", "nodeType": "VariableDeclaration", - "scope": 952, - "src": "165:13:16", + "scope": 1000, + "src": "165:13:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -599,10 +599,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 938, + "id": 986, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "165:7:16", + "src": "165:7:18", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -612,20 +612,20 @@ "visibility": "internal" } ], - "src": "131:48:16" + "src": "131:48:18" }, "payable": false, "returnParameters": { - "id": 943, + "id": 991, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 942, + "id": 990, "name": "", "nodeType": "VariableDeclaration", - "scope": 952, - "src": "201:4:16", + "scope": 1000, + "src": "201:4:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -633,10 +633,10 @@ "typeString": "bool" }, "typeName": { - "id": 941, + "id": 989, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "201:4:16", + "src": "201:4:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -646,26 +646,26 @@ "visibility": "internal" } ], - "src": "200:6:16" + "src": "200:6:18" }, - "scope": 953, - "src": "111:159:16", + "scope": 1001, + "src": "111:159:18", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], - "scope": 954, - "src": "78:194:16" + "scope": 1002, + "src": "78:194:18" } ], - "src": "0:273:16" + "src": "0:273:18" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.620Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.206Z" } \ No newline at end of file diff --git a/build/contracts/Migratable.json b/build/contracts/Migratable.json index df989fa01..9fe28387b 100644 --- a/build/contracts/Migratable.json +++ b/build/contracts/Migratable.json @@ -44,22 +44,22 @@ ], "bytecode": "0x608060405234801561001057600080fd5b50610224806100206000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063c0bac1a814610046575b600080fd5b34801561005257600080fd5b506100f3600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061010d565b604051808215151515815260200191505060405180910390f35b600080836040518082805190602001908083835b6020831015156101465780518252602082019150602081019050602083039250610121565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156101af578051825260208201915060208101905060208303925061018a565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff169050929150505600a165627a7a72305820a00451b72f2e39ce1b1e758443e1d08383836ebe3748c45ebed700cf4e3e31ce0029", "deployedBytecode": "0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063c0bac1a814610046575b600080fd5b34801561005257600080fd5b506100f3600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061010d565b604051808215151515815260200191505060405180910390f35b600080836040518082805190602001908083835b6020831015156101465780518252602082019150602081019050602083039250610121565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156101af578051825260208201915060208101905060208303925061018a565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff169050929150505600a165627a7a72305820a00451b72f2e39ce1b1e758443e1d08383836ebe3748c45ebed700cf4e3e31ce0029", - "sourceMap": "396:1696:10:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;396:1696:10;;;;;;;", - "deployedSourceMap": "396:1696:10:-;;;;;;;;;;;;;;;;;;;;;;;;1950:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:10;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o", + "sourceMap": "396:1696:54:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;396:1696:54;;;;;;;", + "deployedSourceMap": "396:1696:54:-;;;;;;;;;;;;;;;;;;;;;;;;1950:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o", "source": "pragma solidity ^0.4.21;\n\n\n/**\n * @title Migratable\n *\n * @dev Helper contract to support migration schemes between different\n * @dev implementations of a contract in the context of upgradeability.\n *\n * @dev Beware! It is the developer's responsibility to ensure migrations are\n * @dev run in a correct order, or that they are run at all.\n *\n * @dev See Initializable for a simpler version.\n */\ncontract Migratable {\n /**\n * @dev Emitted when the contract performs a migration\n * @param contractName Contract name\n * @param migrationId migration id applied\n */\n event Migrated(string contractName, string migrationId);\n\n /**\n * @dev Stores which migrations have been applied already. \n * @dev (contractName => (migrationId => bool))\n */\n mapping (string => mapping (string => bool)) internal migrated;\n\n\n /**\n * @dev used to decorate the initialization function of a contract version\n * @param contractName Contract name\n * @param migrationId migration id to be applied\n */\n modifier isInitializer(string contractName, string migrationId) {\n require(!isMigrated(contractName, migrationId));\n _;\n emit Migrated(contractName, migrationId);\n migrated[contractName][migrationId] = true;\n }\n\n /**\n * @dev used to decorate a migration function of a contract\n * @param contractName Contract name\n * @param requiredMigrationId previous migration required to run new one\n * @param newMigrationId new migration id to be applied\n */\n modifier isMigration(string contractName, string requiredMigrationId, string newMigrationId) {\n require(isMigrated(contractName, requiredMigrationId) && !isMigrated(contractName, newMigrationId));\n _;\n emit Migrated(contractName, newMigrationId);\n migrated[contractName][newMigrationId] = true;\n }\n\n /**\n * @param contractName Contract name\n * @param migrationId migration id\n * @return if the contract was already migrated with given migration\n */\n function isMigrated(string contractName, string migrationId) public view returns(bool) {\n return migrated[contractName][migrationId];\n }\n}\n", "sourcePath": "zos-lib/contracts/migrations/Migratable.sol", "ast": { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "exportedSymbols": { "Migratable": [ - 1529 + 4864 ] }, - "id": 1530, + "id": 4865, "nodeType": "SourceUnit", "nodes": [ { - "id": 1435, + "id": 4770, "literals": [ "solidity", "^", @@ -67,7 +67,7 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:10" + "src": "0:24:54" }, { "baseContracts": [], @@ -75,9 +75,9 @@ "contractKind": "contract", "documentation": "@title Migratable\n * @dev Helper contract to support migration schemes between different\n@dev implementations of a contract in the context of upgradeability.\n * @dev Beware! It is the developer's responsibility to ensure migrations are\n@dev run in a correct order, or that they are run at all.\n * @dev See Initializable for a simpler version.", "fullyImplemented": true, - "id": 1529, + "id": 4864, "linearizedBaseContracts": [ - 1529 + 4864 ], "name": "Migratable", "nodeType": "ContractDefinition", @@ -85,21 +85,21 @@ { "anonymous": false, "documentation": "@dev Emitted when the contract performs a migration\n@param contractName Contract name\n@param migrationId migration id applied", - "id": 1441, + "id": 4776, "name": "Migrated", "nodeType": "EventDefinition", "parameters": { - "id": 1440, + "id": 4775, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1437, + "id": 4772, "indexed": false, "name": "contractName", "nodeType": "VariableDeclaration", - "scope": 1441, - "src": "588:19:10", + "scope": 4776, + "src": "588:19:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -107,10 +107,10 @@ "typeString": "string" }, "typeName": { - "id": 1436, + "id": 4771, "name": "string", "nodeType": "ElementaryTypeName", - "src": "588:6:10", + "src": "588:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -121,12 +121,12 @@ }, { "constant": false, - "id": 1439, + "id": 4774, "indexed": false, "name": "migrationId", "nodeType": "VariableDeclaration", - "scope": 1441, - "src": "609:18:10", + "scope": 4776, + "src": "609:18:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -134,10 +134,10 @@ "typeString": "string" }, "typeName": { - "id": 1438, + "id": 4773, "name": "string", "nodeType": "ElementaryTypeName", - "src": "609:6:10", + "src": "609:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -147,17 +147,17 @@ "visibility": "internal" } ], - "src": "587:41:10" + "src": "587:41:54" }, - "src": "573:56:10" + "src": "573:56:54" }, { "constant": false, - "id": 1447, + "id": 4782, "name": "migrated", "nodeType": "VariableDeclaration", - "scope": 1529, - "src": "757:62:10", + "scope": 4864, + "src": "757:62:54", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -165,46 +165,46 @@ "typeString": "mapping(string => mapping(string => bool))" }, "typeName": { - "id": 1446, + "id": 4781, "keyType": { - "id": 1442, + "id": 4777, "name": "string", "nodeType": "ElementaryTypeName", - "src": "766:6:10", + "src": "766:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "nodeType": "Mapping", - "src": "757:44:10", + "src": "757:44:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_bool_$_$", "typeString": "mapping(string => mapping(string => bool))" }, "valueType": { - "id": 1445, + "id": 4780, "keyType": { - "id": 1443, + "id": 4778, "name": "string", "nodeType": "ElementaryTypeName", - "src": "785:6:10", + "src": "785:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "nodeType": "Mapping", - "src": "776:24:10", + "src": "776:24:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_bool_$", "typeString": "mapping(string => bool)" }, "valueType": { - "id": 1444, + "id": 4779, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "795:4:10", + "src": "795:4:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -217,9 +217,9 @@ }, { "body": { - "id": 1475, + "id": 4810, "nodeType": "Block", - "src": "1068:159:10", + "src": "1068:159:54", "statements": [ { "expression": { @@ -227,7 +227,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1458, + "id": 4793, "isConstant": false, "isLValue": false, "isPure": false, @@ -235,18 +235,18 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1082:38:10", + "src": "1082:38:54", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1455, + "id": 4790, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1449, - "src": "1094:12:10", + "referencedDeclaration": 4784, + "src": "1094:12:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -254,12 +254,12 @@ }, { "argumentTypes": null, - "id": 1456, + "id": 4791, "name": "migrationId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1451, - "src": "1108:11:10", + "referencedDeclaration": 4786, + "src": "1108:11:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -277,18 +277,18 @@ "typeString": "string memory" } ], - "id": 1454, + "id": 4789, "name": "isMigrated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1528, - "src": "1083:10:10", + "referencedDeclaration": 4863, + "src": "1083:10:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory,string memory) view returns (bool)" } }, - "id": 1457, + "id": 4792, "isConstant": false, "isLValue": false, "isPure": false, @@ -296,7 +296,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1083:37:10", + "src": "1083:37:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -315,21 +315,21 @@ "typeString": "bool" } ], - "id": 1453, + "id": 4788, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "1074:7:10", + "referencedDeclaration": 4882, + "src": "1074:7:54", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1459, + "id": 4794, "isConstant": false, "isLValue": false, "isPure": false, @@ -337,20 +337,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1074:47:10", + "src": "1074:47:54", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1460, + "id": 4795, "nodeType": "ExpressionStatement", - "src": "1074:47:10" + "src": "1074:47:54" }, { - "id": 1461, + "id": 4796, "nodeType": "PlaceholderStatement", - "src": "1127:1:10" + "src": "1127:1:54" }, { "eventCall": { @@ -358,12 +358,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1463, + "id": 4798, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1449, - "src": "1148:12:10", + "referencedDeclaration": 4784, + "src": "1148:12:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -371,12 +371,12 @@ }, { "argumentTypes": null, - "id": 1464, + "id": 4799, "name": "migrationId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1451, - "src": "1162:11:10", + "referencedDeclaration": 4786, + "src": "1162:11:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -394,18 +394,18 @@ "typeString": "string memory" } ], - "id": 1462, + "id": 4797, "name": "Migrated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1441, - "src": "1139:8:10", + "referencedDeclaration": 4776, + "src": "1139:8:54", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, - "id": 1465, + "id": 4800, "isConstant": false, "isLValue": false, "isPure": false, @@ -413,20 +413,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1139:35:10", + "src": "1139:35:54", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1466, + "id": 4801, "nodeType": "EmitStatement", - "src": "1134:40:10" + "src": "1134:40:54" }, { "expression": { "argumentTypes": null, - "id": 1473, + "id": 4808, "isConstant": false, "isLValue": false, "isPure": false, @@ -437,26 +437,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1467, + "id": 4802, "name": "migrated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1447, - "src": "1180:8:10", + "referencedDeclaration": 4782, + "src": "1180:8:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_bool_$_$", "typeString": "mapping(string memory => mapping(string memory => bool))" } }, - "id": 1470, + "id": 4805, "indexExpression": { "argumentTypes": null, - "id": 1468, + "id": 4803, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1449, - "src": "1189:12:10", + "referencedDeclaration": 4784, + "src": "1189:12:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -467,21 +467,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1180:22:10", + "src": "1180:22:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_bool_$", "typeString": "mapping(string memory => bool)" } }, - "id": 1471, + "id": 4806, "indexExpression": { "argumentTypes": null, - "id": 1469, + "id": 4804, "name": "migrationId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1451, - "src": "1203:11:10", + "referencedDeclaration": 4786, + "src": "1203:11:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -492,7 +492,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1180:35:10", + "src": "1180:35:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -503,14 +503,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1472, + "id": 4807, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1218:4:10", + "src": "1218:4:54", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -518,33 +518,33 @@ }, "value": "true" }, - "src": "1180:42:10", + "src": "1180:42:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1474, + "id": 4809, "nodeType": "ExpressionStatement", - "src": "1180:42:10" + "src": "1180:42:54" } ] }, "documentation": "@dev used to decorate the initialization function of a contract version\n@param contractName Contract name\n@param migrationId migration id to be applied", - "id": 1476, + "id": 4811, "name": "isInitializer", "nodeType": "ModifierDefinition", "parameters": { - "id": 1452, + "id": 4787, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1449, + "id": 4784, "name": "contractName", "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "1027:19:10", + "scope": 4811, + "src": "1027:19:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -552,10 +552,10 @@ "typeString": "string" }, "typeName": { - "id": 1448, + "id": 4783, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1027:6:10", + "src": "1027:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -566,11 +566,11 @@ }, { "constant": false, - "id": 1451, + "id": 4786, "name": "migrationId", "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "1048:18:10", + "scope": 4811, + "src": "1048:18:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -578,10 +578,10 @@ "typeString": "string" }, "typeName": { - "id": 1450, + "id": 4785, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1048:6:10", + "src": "1048:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -591,16 +591,16 @@ "visibility": "internal" } ], - "src": "1026:41:10" + "src": "1026:41:54" }, - "src": "1004:223:10", + "src": "1004:223:54", "visibility": "internal" }, { "body": { - "id": 1511, + "id": 4846, "nodeType": "Block", - "src": "1570:217:10", + "src": "1570:217:54", "statements": [ { "expression": { @@ -612,7 +612,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1494, + "id": 4829, "isConstant": false, "isLValue": false, "isPure": false, @@ -622,12 +622,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1486, + "id": 4821, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "1595:12:10", + "referencedDeclaration": 4813, + "src": "1595:12:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -635,12 +635,12 @@ }, { "argumentTypes": null, - "id": 1487, + "id": 4822, "name": "requiredMigrationId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1480, - "src": "1609:19:10", + "referencedDeclaration": 4815, + "src": "1609:19:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -658,18 +658,18 @@ "typeString": "string memory" } ], - "id": 1485, + "id": 4820, "name": "isMigrated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1528, - "src": "1584:10:10", + "referencedDeclaration": 4863, + "src": "1584:10:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory,string memory) view returns (bool)" } }, - "id": 1488, + "id": 4823, "isConstant": false, "isLValue": false, "isPure": false, @@ -677,7 +677,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1584:45:10", + "src": "1584:45:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -687,7 +687,7 @@ "operator": "&&", "rightExpression": { "argumentTypes": null, - "id": 1493, + "id": 4828, "isConstant": false, "isLValue": false, "isPure": false, @@ -695,18 +695,18 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1633:41:10", + "src": "1633:41:54", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1490, + "id": 4825, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "1645:12:10", + "referencedDeclaration": 4813, + "src": "1645:12:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -714,12 +714,12 @@ }, { "argumentTypes": null, - "id": 1491, + "id": 4826, "name": "newMigrationId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1482, - "src": "1659:14:10", + "referencedDeclaration": 4817, + "src": "1659:14:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -737,18 +737,18 @@ "typeString": "string memory" } ], - "id": 1489, + "id": 4824, "name": "isMigrated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1528, - "src": "1634:10:10", + "referencedDeclaration": 4863, + "src": "1634:10:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory,string memory) view returns (bool)" } }, - "id": 1492, + "id": 4827, "isConstant": false, "isLValue": false, "isPure": false, @@ -756,7 +756,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1634:40:10", + "src": "1634:40:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -767,7 +767,7 @@ "typeString": "bool" } }, - "src": "1584:90:10", + "src": "1584:90:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -781,21 +781,21 @@ "typeString": "bool" } ], - "id": 1484, + "id": 4819, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "1576:7:10", + "referencedDeclaration": 4882, + "src": "1576:7:54", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1495, + "id": 4830, "isConstant": false, "isLValue": false, "isPure": false, @@ -803,20 +803,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1576:99:10", + "src": "1576:99:54", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1496, + "id": 4831, "nodeType": "ExpressionStatement", - "src": "1576:99:10" + "src": "1576:99:54" }, { - "id": 1497, + "id": 4832, "nodeType": "PlaceholderStatement", - "src": "1681:1:10" + "src": "1681:1:54" }, { "eventCall": { @@ -824,12 +824,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1499, + "id": 4834, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "1702:12:10", + "referencedDeclaration": 4813, + "src": "1702:12:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -837,12 +837,12 @@ }, { "argumentTypes": null, - "id": 1500, + "id": 4835, "name": "newMigrationId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1482, - "src": "1716:14:10", + "referencedDeclaration": 4817, + "src": "1716:14:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -860,18 +860,18 @@ "typeString": "string memory" } ], - "id": 1498, + "id": 4833, "name": "Migrated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1441, - "src": "1693:8:10", + "referencedDeclaration": 4776, + "src": "1693:8:54", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, - "id": 1501, + "id": 4836, "isConstant": false, "isLValue": false, "isPure": false, @@ -879,20 +879,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1693:38:10", + "src": "1693:38:54", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1502, + "id": 4837, "nodeType": "EmitStatement", - "src": "1688:43:10" + "src": "1688:43:54" }, { "expression": { "argumentTypes": null, - "id": 1509, + "id": 4844, "isConstant": false, "isLValue": false, "isPure": false, @@ -903,26 +903,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1503, + "id": 4838, "name": "migrated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1447, - "src": "1737:8:10", + "referencedDeclaration": 4782, + "src": "1737:8:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_bool_$_$", "typeString": "mapping(string memory => mapping(string memory => bool))" } }, - "id": 1506, + "id": 4841, "indexExpression": { "argumentTypes": null, - "id": 1504, + "id": 4839, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "1746:12:10", + "referencedDeclaration": 4813, + "src": "1746:12:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -933,21 +933,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1737:22:10", + "src": "1737:22:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_bool_$", "typeString": "mapping(string memory => bool)" } }, - "id": 1507, + "id": 4842, "indexExpression": { "argumentTypes": null, - "id": 1505, + "id": 4840, "name": "newMigrationId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1482, - "src": "1760:14:10", + "referencedDeclaration": 4817, + "src": "1760:14:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -958,7 +958,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1737:38:10", + "src": "1737:38:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -969,14 +969,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1508, + "id": 4843, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1778:4:10", + "src": "1778:4:54", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -984,33 +984,33 @@ }, "value": "true" }, - "src": "1737:45:10", + "src": "1737:45:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1510, + "id": 4845, "nodeType": "ExpressionStatement", - "src": "1737:45:10" + "src": "1737:45:54" } ] }, "documentation": "@dev used to decorate a migration function of a contract\n@param contractName Contract name\n@param requiredMigrationId previous migration required to run new one\n@param newMigrationId new migration id to be applied", - "id": 1512, + "id": 4847, "name": "isMigration", "nodeType": "ModifierDefinition", "parameters": { - "id": 1483, + "id": 4818, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1478, + "id": 4813, "name": "contractName", "nodeType": "VariableDeclaration", - "scope": 1512, - "src": "1498:19:10", + "scope": 4847, + "src": "1498:19:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1018,10 +1018,10 @@ "typeString": "string" }, "typeName": { - "id": 1477, + "id": 4812, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1498:6:10", + "src": "1498:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1032,11 +1032,11 @@ }, { "constant": false, - "id": 1480, + "id": 4815, "name": "requiredMigrationId", "nodeType": "VariableDeclaration", - "scope": 1512, - "src": "1519:26:10", + "scope": 4847, + "src": "1519:26:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1044,10 +1044,10 @@ "typeString": "string" }, "typeName": { - "id": 1479, + "id": 4814, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1519:6:10", + "src": "1519:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1058,11 +1058,11 @@ }, { "constant": false, - "id": 1482, + "id": 4817, "name": "newMigrationId", "nodeType": "VariableDeclaration", - "scope": 1512, - "src": "1547:21:10", + "scope": 4847, + "src": "1547:21:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1070,10 +1070,10 @@ "typeString": "string" }, "typeName": { - "id": 1481, + "id": 4816, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1547:6:10", + "src": "1547:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1083,16 +1083,16 @@ "visibility": "internal" } ], - "src": "1497:72:10" + "src": "1497:72:54" }, - "src": "1477:310:10", + "src": "1477:310:54", "visibility": "internal" }, { "body": { - "id": 1527, + "id": 4862, "nodeType": "Block", - "src": "2037:53:10", + "src": "2037:53:54", "statements": [ { "expression": { @@ -1101,26 +1101,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1521, + "id": 4856, "name": "migrated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1447, - "src": "2050:8:10", + "referencedDeclaration": 4782, + "src": "2050:8:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_bool_$_$", "typeString": "mapping(string memory => mapping(string memory => bool))" } }, - "id": 1523, + "id": 4858, "indexExpression": { "argumentTypes": null, - "id": 1522, + "id": 4857, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1514, - "src": "2059:12:10", + "referencedDeclaration": 4849, + "src": "2059:12:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1131,21 +1131,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2050:22:10", + "src": "2050:22:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_bool_$", "typeString": "mapping(string memory => bool)" } }, - "id": 1525, + "id": 4860, "indexExpression": { "argumentTypes": null, - "id": 1524, + "id": 4859, "name": "migrationId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1516, - "src": "2073:11:10", + "referencedDeclaration": 4851, + "src": "2073:11:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1156,21 +1156,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2050:35:10", + "src": "2050:35:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1520, - "id": 1526, + "functionReturnParameters": 4855, + "id": 4861, "nodeType": "Return", - "src": "2043:42:10" + "src": "2043:42:54" } ] }, "documentation": "@param contractName Contract name\n@param migrationId migration id\n@return if the contract was already migrated with given migration", - "id": 1528, + "id": 4863, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1178,16 +1178,16 @@ "name": "isMigrated", "nodeType": "FunctionDefinition", "parameters": { - "id": 1517, + "id": 4852, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1514, + "id": 4849, "name": "contractName", "nodeType": "VariableDeclaration", - "scope": 1528, - "src": "1970:19:10", + "scope": 4863, + "src": "1970:19:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1195,10 +1195,10 @@ "typeString": "string" }, "typeName": { - "id": 1513, + "id": 4848, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1970:6:10", + "src": "1970:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1209,11 +1209,11 @@ }, { "constant": false, - "id": 1516, + "id": 4851, "name": "migrationId", "nodeType": "VariableDeclaration", - "scope": 1528, - "src": "1991:18:10", + "scope": 4863, + "src": "1991:18:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1221,10 +1221,10 @@ "typeString": "string" }, "typeName": { - "id": 1515, + "id": 4850, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1991:6:10", + "src": "1991:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1234,20 +1234,20 @@ "visibility": "internal" } ], - "src": "1969:41:10" + "src": "1969:41:54" }, "payable": false, "returnParameters": { - "id": 1520, + "id": 4855, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1519, + "id": 4854, "name": "", "nodeType": "VariableDeclaration", - "scope": 1528, - "src": "2031:4:10", + "scope": 4863, + "src": "2031:4:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1255,10 +1255,10 @@ "typeString": "bool" }, "typeName": { - "id": 1518, + "id": 4853, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2031:4:10", + "src": "2031:4:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1268,33 +1268,33 @@ "visibility": "internal" } ], - "src": "2030:6:10" + "src": "2030:6:54" }, - "scope": 1529, - "src": "1950:140:10", + "scope": 4864, + "src": "1950:140:54", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 1530, - "src": "396:1696:10" + "scope": 4865, + "src": "396:1696:54" } ], - "src": "0:2093:10" + "src": "0:2093:54" }, "legacyAST": { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "exportedSymbols": { "Migratable": [ - 1529 + 4864 ] }, - "id": 1530, + "id": 4865, "nodeType": "SourceUnit", "nodes": [ { - "id": 1435, + "id": 4770, "literals": [ "solidity", "^", @@ -1302,7 +1302,7 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:10" + "src": "0:24:54" }, { "baseContracts": [], @@ -1310,9 +1310,9 @@ "contractKind": "contract", "documentation": "@title Migratable\n * @dev Helper contract to support migration schemes between different\n@dev implementations of a contract in the context of upgradeability.\n * @dev Beware! It is the developer's responsibility to ensure migrations are\n@dev run in a correct order, or that they are run at all.\n * @dev See Initializable for a simpler version.", "fullyImplemented": true, - "id": 1529, + "id": 4864, "linearizedBaseContracts": [ - 1529 + 4864 ], "name": "Migratable", "nodeType": "ContractDefinition", @@ -1320,21 +1320,21 @@ { "anonymous": false, "documentation": "@dev Emitted when the contract performs a migration\n@param contractName Contract name\n@param migrationId migration id applied", - "id": 1441, + "id": 4776, "name": "Migrated", "nodeType": "EventDefinition", "parameters": { - "id": 1440, + "id": 4775, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1437, + "id": 4772, "indexed": false, "name": "contractName", "nodeType": "VariableDeclaration", - "scope": 1441, - "src": "588:19:10", + "scope": 4776, + "src": "588:19:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1342,10 +1342,10 @@ "typeString": "string" }, "typeName": { - "id": 1436, + "id": 4771, "name": "string", "nodeType": "ElementaryTypeName", - "src": "588:6:10", + "src": "588:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1356,12 +1356,12 @@ }, { "constant": false, - "id": 1439, + "id": 4774, "indexed": false, "name": "migrationId", "nodeType": "VariableDeclaration", - "scope": 1441, - "src": "609:18:10", + "scope": 4776, + "src": "609:18:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1369,10 +1369,10 @@ "typeString": "string" }, "typeName": { - "id": 1438, + "id": 4773, "name": "string", "nodeType": "ElementaryTypeName", - "src": "609:6:10", + "src": "609:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1382,17 +1382,17 @@ "visibility": "internal" } ], - "src": "587:41:10" + "src": "587:41:54" }, - "src": "573:56:10" + "src": "573:56:54" }, { "constant": false, - "id": 1447, + "id": 4782, "name": "migrated", "nodeType": "VariableDeclaration", - "scope": 1529, - "src": "757:62:10", + "scope": 4864, + "src": "757:62:54", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1400,46 +1400,46 @@ "typeString": "mapping(string => mapping(string => bool))" }, "typeName": { - "id": 1446, + "id": 4781, "keyType": { - "id": 1442, + "id": 4777, "name": "string", "nodeType": "ElementaryTypeName", - "src": "766:6:10", + "src": "766:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "nodeType": "Mapping", - "src": "757:44:10", + "src": "757:44:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_bool_$_$", "typeString": "mapping(string => mapping(string => bool))" }, "valueType": { - "id": 1445, + "id": 4780, "keyType": { - "id": 1443, + "id": 4778, "name": "string", "nodeType": "ElementaryTypeName", - "src": "785:6:10", + "src": "785:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "nodeType": "Mapping", - "src": "776:24:10", + "src": "776:24:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_bool_$", "typeString": "mapping(string => bool)" }, "valueType": { - "id": 1444, + "id": 4779, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "795:4:10", + "src": "795:4:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1452,9 +1452,9 @@ }, { "body": { - "id": 1475, + "id": 4810, "nodeType": "Block", - "src": "1068:159:10", + "src": "1068:159:54", "statements": [ { "expression": { @@ -1462,7 +1462,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1458, + "id": 4793, "isConstant": false, "isLValue": false, "isPure": false, @@ -1470,18 +1470,18 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1082:38:10", + "src": "1082:38:54", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1455, + "id": 4790, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1449, - "src": "1094:12:10", + "referencedDeclaration": 4784, + "src": "1094:12:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1489,12 +1489,12 @@ }, { "argumentTypes": null, - "id": 1456, + "id": 4791, "name": "migrationId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1451, - "src": "1108:11:10", + "referencedDeclaration": 4786, + "src": "1108:11:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1512,18 +1512,18 @@ "typeString": "string memory" } ], - "id": 1454, + "id": 4789, "name": "isMigrated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1528, - "src": "1083:10:10", + "referencedDeclaration": 4863, + "src": "1083:10:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory,string memory) view returns (bool)" } }, - "id": 1457, + "id": 4792, "isConstant": false, "isLValue": false, "isPure": false, @@ -1531,7 +1531,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1083:37:10", + "src": "1083:37:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1550,21 +1550,21 @@ "typeString": "bool" } ], - "id": 1453, + "id": 4788, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "1074:7:10", + "referencedDeclaration": 4882, + "src": "1074:7:54", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1459, + "id": 4794, "isConstant": false, "isLValue": false, "isPure": false, @@ -1572,20 +1572,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1074:47:10", + "src": "1074:47:54", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1460, + "id": 4795, "nodeType": "ExpressionStatement", - "src": "1074:47:10" + "src": "1074:47:54" }, { - "id": 1461, + "id": 4796, "nodeType": "PlaceholderStatement", - "src": "1127:1:10" + "src": "1127:1:54" }, { "eventCall": { @@ -1593,12 +1593,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1463, + "id": 4798, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1449, - "src": "1148:12:10", + "referencedDeclaration": 4784, + "src": "1148:12:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1606,12 +1606,12 @@ }, { "argumentTypes": null, - "id": 1464, + "id": 4799, "name": "migrationId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1451, - "src": "1162:11:10", + "referencedDeclaration": 4786, + "src": "1162:11:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1629,18 +1629,18 @@ "typeString": "string memory" } ], - "id": 1462, + "id": 4797, "name": "Migrated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1441, - "src": "1139:8:10", + "referencedDeclaration": 4776, + "src": "1139:8:54", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, - "id": 1465, + "id": 4800, "isConstant": false, "isLValue": false, "isPure": false, @@ -1648,20 +1648,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1139:35:10", + "src": "1139:35:54", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1466, + "id": 4801, "nodeType": "EmitStatement", - "src": "1134:40:10" + "src": "1134:40:54" }, { "expression": { "argumentTypes": null, - "id": 1473, + "id": 4808, "isConstant": false, "isLValue": false, "isPure": false, @@ -1672,26 +1672,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1467, + "id": 4802, "name": "migrated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1447, - "src": "1180:8:10", + "referencedDeclaration": 4782, + "src": "1180:8:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_bool_$_$", "typeString": "mapping(string memory => mapping(string memory => bool))" } }, - "id": 1470, + "id": 4805, "indexExpression": { "argumentTypes": null, - "id": 1468, + "id": 4803, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1449, - "src": "1189:12:10", + "referencedDeclaration": 4784, + "src": "1189:12:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1702,21 +1702,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1180:22:10", + "src": "1180:22:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_bool_$", "typeString": "mapping(string memory => bool)" } }, - "id": 1471, + "id": 4806, "indexExpression": { "argumentTypes": null, - "id": 1469, + "id": 4804, "name": "migrationId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1451, - "src": "1203:11:10", + "referencedDeclaration": 4786, + "src": "1203:11:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1727,7 +1727,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1180:35:10", + "src": "1180:35:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1738,14 +1738,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1472, + "id": 4807, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1218:4:10", + "src": "1218:4:54", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1753,33 +1753,33 @@ }, "value": "true" }, - "src": "1180:42:10", + "src": "1180:42:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1474, + "id": 4809, "nodeType": "ExpressionStatement", - "src": "1180:42:10" + "src": "1180:42:54" } ] }, "documentation": "@dev used to decorate the initialization function of a contract version\n@param contractName Contract name\n@param migrationId migration id to be applied", - "id": 1476, + "id": 4811, "name": "isInitializer", "nodeType": "ModifierDefinition", "parameters": { - "id": 1452, + "id": 4787, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1449, + "id": 4784, "name": "contractName", "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "1027:19:10", + "scope": 4811, + "src": "1027:19:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1787,10 +1787,10 @@ "typeString": "string" }, "typeName": { - "id": 1448, + "id": 4783, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1027:6:10", + "src": "1027:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1801,11 +1801,11 @@ }, { "constant": false, - "id": 1451, + "id": 4786, "name": "migrationId", "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "1048:18:10", + "scope": 4811, + "src": "1048:18:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1813,10 +1813,10 @@ "typeString": "string" }, "typeName": { - "id": 1450, + "id": 4785, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1048:6:10", + "src": "1048:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1826,16 +1826,16 @@ "visibility": "internal" } ], - "src": "1026:41:10" + "src": "1026:41:54" }, - "src": "1004:223:10", + "src": "1004:223:54", "visibility": "internal" }, { "body": { - "id": 1511, + "id": 4846, "nodeType": "Block", - "src": "1570:217:10", + "src": "1570:217:54", "statements": [ { "expression": { @@ -1847,7 +1847,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1494, + "id": 4829, "isConstant": false, "isLValue": false, "isPure": false, @@ -1857,12 +1857,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1486, + "id": 4821, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "1595:12:10", + "referencedDeclaration": 4813, + "src": "1595:12:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1870,12 +1870,12 @@ }, { "argumentTypes": null, - "id": 1487, + "id": 4822, "name": "requiredMigrationId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1480, - "src": "1609:19:10", + "referencedDeclaration": 4815, + "src": "1609:19:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1893,18 +1893,18 @@ "typeString": "string memory" } ], - "id": 1485, + "id": 4820, "name": "isMigrated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1528, - "src": "1584:10:10", + "referencedDeclaration": 4863, + "src": "1584:10:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory,string memory) view returns (bool)" } }, - "id": 1488, + "id": 4823, "isConstant": false, "isLValue": false, "isPure": false, @@ -1912,7 +1912,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1584:45:10", + "src": "1584:45:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1922,7 +1922,7 @@ "operator": "&&", "rightExpression": { "argumentTypes": null, - "id": 1493, + "id": 4828, "isConstant": false, "isLValue": false, "isPure": false, @@ -1930,18 +1930,18 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1633:41:10", + "src": "1633:41:54", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1490, + "id": 4825, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "1645:12:10", + "referencedDeclaration": 4813, + "src": "1645:12:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1949,12 +1949,12 @@ }, { "argumentTypes": null, - "id": 1491, + "id": 4826, "name": "newMigrationId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1482, - "src": "1659:14:10", + "referencedDeclaration": 4817, + "src": "1659:14:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1972,18 +1972,18 @@ "typeString": "string memory" } ], - "id": 1489, + "id": 4824, "name": "isMigrated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1528, - "src": "1634:10:10", + "referencedDeclaration": 4863, + "src": "1634:10:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory,string memory) view returns (bool)" } }, - "id": 1492, + "id": 4827, "isConstant": false, "isLValue": false, "isPure": false, @@ -1991,7 +1991,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1634:40:10", + "src": "1634:40:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2002,7 +2002,7 @@ "typeString": "bool" } }, - "src": "1584:90:10", + "src": "1584:90:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2016,21 +2016,21 @@ "typeString": "bool" } ], - "id": 1484, + "id": 4819, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "1576:7:10", + "referencedDeclaration": 4882, + "src": "1576:7:54", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1495, + "id": 4830, "isConstant": false, "isLValue": false, "isPure": false, @@ -2038,20 +2038,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1576:99:10", + "src": "1576:99:54", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1496, + "id": 4831, "nodeType": "ExpressionStatement", - "src": "1576:99:10" + "src": "1576:99:54" }, { - "id": 1497, + "id": 4832, "nodeType": "PlaceholderStatement", - "src": "1681:1:10" + "src": "1681:1:54" }, { "eventCall": { @@ -2059,12 +2059,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1499, + "id": 4834, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "1702:12:10", + "referencedDeclaration": 4813, + "src": "1702:12:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2072,12 +2072,12 @@ }, { "argumentTypes": null, - "id": 1500, + "id": 4835, "name": "newMigrationId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1482, - "src": "1716:14:10", + "referencedDeclaration": 4817, + "src": "1716:14:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2095,18 +2095,18 @@ "typeString": "string memory" } ], - "id": 1498, + "id": 4833, "name": "Migrated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1441, - "src": "1693:8:10", + "referencedDeclaration": 4776, + "src": "1693:8:54", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, - "id": 1501, + "id": 4836, "isConstant": false, "isLValue": false, "isPure": false, @@ -2114,20 +2114,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1693:38:10", + "src": "1693:38:54", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1502, + "id": 4837, "nodeType": "EmitStatement", - "src": "1688:43:10" + "src": "1688:43:54" }, { "expression": { "argumentTypes": null, - "id": 1509, + "id": 4844, "isConstant": false, "isLValue": false, "isPure": false, @@ -2138,26 +2138,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1503, + "id": 4838, "name": "migrated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1447, - "src": "1737:8:10", + "referencedDeclaration": 4782, + "src": "1737:8:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_bool_$_$", "typeString": "mapping(string memory => mapping(string memory => bool))" } }, - "id": 1506, + "id": 4841, "indexExpression": { "argumentTypes": null, - "id": 1504, + "id": 4839, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "1746:12:10", + "referencedDeclaration": 4813, + "src": "1746:12:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2168,21 +2168,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1737:22:10", + "src": "1737:22:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_bool_$", "typeString": "mapping(string memory => bool)" } }, - "id": 1507, + "id": 4842, "indexExpression": { "argumentTypes": null, - "id": 1505, + "id": 4840, "name": "newMigrationId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1482, - "src": "1760:14:10", + "referencedDeclaration": 4817, + "src": "1760:14:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2193,7 +2193,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1737:38:10", + "src": "1737:38:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2204,14 +2204,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1508, + "id": 4843, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1778:4:10", + "src": "1778:4:54", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2219,33 +2219,33 @@ }, "value": "true" }, - "src": "1737:45:10", + "src": "1737:45:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1510, + "id": 4845, "nodeType": "ExpressionStatement", - "src": "1737:45:10" + "src": "1737:45:54" } ] }, "documentation": "@dev used to decorate a migration function of a contract\n@param contractName Contract name\n@param requiredMigrationId previous migration required to run new one\n@param newMigrationId new migration id to be applied", - "id": 1512, + "id": 4847, "name": "isMigration", "nodeType": "ModifierDefinition", "parameters": { - "id": 1483, + "id": 4818, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1478, + "id": 4813, "name": "contractName", "nodeType": "VariableDeclaration", - "scope": 1512, - "src": "1498:19:10", + "scope": 4847, + "src": "1498:19:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2253,10 +2253,10 @@ "typeString": "string" }, "typeName": { - "id": 1477, + "id": 4812, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1498:6:10", + "src": "1498:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2267,11 +2267,11 @@ }, { "constant": false, - "id": 1480, + "id": 4815, "name": "requiredMigrationId", "nodeType": "VariableDeclaration", - "scope": 1512, - "src": "1519:26:10", + "scope": 4847, + "src": "1519:26:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2279,10 +2279,10 @@ "typeString": "string" }, "typeName": { - "id": 1479, + "id": 4814, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1519:6:10", + "src": "1519:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2293,11 +2293,11 @@ }, { "constant": false, - "id": 1482, + "id": 4817, "name": "newMigrationId", "nodeType": "VariableDeclaration", - "scope": 1512, - "src": "1547:21:10", + "scope": 4847, + "src": "1547:21:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2305,10 +2305,10 @@ "typeString": "string" }, "typeName": { - "id": 1481, + "id": 4816, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1547:6:10", + "src": "1547:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2318,16 +2318,16 @@ "visibility": "internal" } ], - "src": "1497:72:10" + "src": "1497:72:54" }, - "src": "1477:310:10", + "src": "1477:310:54", "visibility": "internal" }, { "body": { - "id": 1527, + "id": 4862, "nodeType": "Block", - "src": "2037:53:10", + "src": "2037:53:54", "statements": [ { "expression": { @@ -2336,26 +2336,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1521, + "id": 4856, "name": "migrated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1447, - "src": "2050:8:10", + "referencedDeclaration": 4782, + "src": "2050:8:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_bool_$_$", "typeString": "mapping(string memory => mapping(string memory => bool))" } }, - "id": 1523, + "id": 4858, "indexExpression": { "argumentTypes": null, - "id": 1522, + "id": 4857, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1514, - "src": "2059:12:10", + "referencedDeclaration": 4849, + "src": "2059:12:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2366,21 +2366,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2050:22:10", + "src": "2050:22:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_bool_$", "typeString": "mapping(string memory => bool)" } }, - "id": 1525, + "id": 4860, "indexExpression": { "argumentTypes": null, - "id": 1524, + "id": 4859, "name": "migrationId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1516, - "src": "2073:11:10", + "referencedDeclaration": 4851, + "src": "2073:11:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2391,21 +2391,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2050:35:10", + "src": "2050:35:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1520, - "id": 1526, + "functionReturnParameters": 4855, + "id": 4861, "nodeType": "Return", - "src": "2043:42:10" + "src": "2043:42:54" } ] }, "documentation": "@param contractName Contract name\n@param migrationId migration id\n@return if the contract was already migrated with given migration", - "id": 1528, + "id": 4863, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2413,16 +2413,16 @@ "name": "isMigrated", "nodeType": "FunctionDefinition", "parameters": { - "id": 1517, + "id": 4852, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1514, + "id": 4849, "name": "contractName", "nodeType": "VariableDeclaration", - "scope": 1528, - "src": "1970:19:10", + "scope": 4863, + "src": "1970:19:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2430,10 +2430,10 @@ "typeString": "string" }, "typeName": { - "id": 1513, + "id": 4848, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1970:6:10", + "src": "1970:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2444,11 +2444,11 @@ }, { "constant": false, - "id": 1516, + "id": 4851, "name": "migrationId", "nodeType": "VariableDeclaration", - "scope": 1528, - "src": "1991:18:10", + "scope": 4863, + "src": "1991:18:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2456,10 +2456,10 @@ "typeString": "string" }, "typeName": { - "id": 1515, + "id": 4850, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1991:6:10", + "src": "1991:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2469,20 +2469,20 @@ "visibility": "internal" } ], - "src": "1969:41:10" + "src": "1969:41:54" }, "payable": false, "returnParameters": { - "id": 1520, + "id": 4855, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1519, + "id": 4854, "name": "", "nodeType": "VariableDeclaration", - "scope": 1528, - "src": "2031:4:10", + "scope": 4863, + "src": "2031:4:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2490,10 +2490,10 @@ "typeString": "bool" }, "typeName": { - "id": 1518, + "id": 4853, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2031:4:10", + "src": "2031:4:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2503,20 +2503,20 @@ "visibility": "internal" } ], - "src": "2030:6:10" + "src": "2030:6:54" }, - "scope": 1529, - "src": "1950:140:10", + "scope": 4864, + "src": "1950:140:54", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 1530, - "src": "396:1696:10" + "scope": 4865, + "src": "396:1696:54" } ], - "src": "0:2093:10" + "src": "0:2093:54" }, "compiler": { "name": "solc", @@ -2524,5 +2524,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-08-23T17:26:04.156Z" + "updatedAt": "2018-08-27T20:45:00.223Z" } \ No newline at end of file diff --git a/build/contracts/MintableERC721Token.json b/build/contracts/MintableERC721Token.json index f8494e21a..5a504c514 100644 --- a/build/contracts/MintableERC721Token.json +++ b/build/contracts/MintableERC721Token.json @@ -1,6 +1,25 @@ { "contractName": "MintableERC721Token", "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [], @@ -533,24 +552,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50612b49806100206000396000f300608060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610138578063081812fc146101c8578063095ea7b31461023557806318160ddd1461028257806323b872dd146102ad5780632f745c591461031a57806340c10f191461037b57806342842e0e146103c85780634cd88b76146104355780634f558e79146104e45780634f6ccce7146105295780636352211e1461056a57806370a08231146105d75780638da5cb5b1461062e578063906571471461068557806395d89b4114610754578063a22cb465146107e4578063b88d4fde14610833578063c0bac1a8146108e6578063c4d66de8146109ad578063c87b56dd146109f0578063e985e9c514610a96578063f2fde38b14610b11575b600080fd5b34801561014457600080fd5b5061014d610b54565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018d578082015181840152602081019050610172565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d457600080fd5b506101f360048036038101908080359060200190929190505050610bf6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024157600080fd5b50610280600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c33565b005b34801561028e57600080fd5b50610297610def565b6040518082815260200191505060405180910390f35b3480156102b957600080fd5b50610318600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dfc565b005b34801561032657600080fd5b50610365600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f09565b6040518082815260200191505060405180910390f35b34801561038757600080fd5b506103c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f80565b005b3480156103d457600080fd5b50610433600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fea565b005b34801561044157600080fd5b506104e2600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611022565b005b3480156104f057600080fd5b5061050f600480360381019080803590602001909291905050506112ce565b604051808215151515815260200191505060405180910390f35b34801561053557600080fd5b5061055460048036038101908080359060200190929190505050611340565b6040518082815260200191505060405180910390f35b34801561057657600080fd5b5061059560048036038101908080359060200190929190505050611378565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105e357600080fd5b50610618600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113f6565b6040518082815260200191505060405180910390f35b34801561063a57600080fd5b5061064361147a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561069157600080fd5b50610752600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506114a0565b005b34801561076057600080fd5b50610769611732565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107a957808201518184015260208101905061078e565b50505050905090810190601f1680156107d65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107f057600080fd5b50610831600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506117d4565b005b34801561083f57600080fd5b506108e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611910565b005b3480156108f257600080fd5b50610993600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061194f565b604051808215151515815260200191505060405180910390f35b3480156109b957600080fd5b506109ee600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a3a565b005b3480156109fc57600080fd5b50610a1b60048036038101908080359060200190929190505050611cf8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a5b578082015181840152602081019050610a40565b50505050905090810190601f168015610a885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610aa257600080fd5b50610af7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dc1565b604051808215151515815260200191505060405180910390f35b348015610b1d57600080fd5b50610b52600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e55565b005b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bec5780601f10610bc157610100808354040283529160200191610bec565b820191906000526020600020905b815481529060010190602001808311610bcf57829003601f168201915b5050505050905090565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610c3e82611378565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610c7b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610cbb5750610cba8133611dc1565b5b1515610cc657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16610ce783610bf6565b73ffffffffffffffffffffffffffffffffffffffff16141580610d375750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610dea57826003600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505050565b6000600a80549050905090565b80610e073382611fad565b1515610e1257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610e4e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610e8a57600080fd5b610e948483612042565b610e9e84836121a1565b610ea883836123b9565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b6000610f14836113f6565b82101515610f2157600080fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610f6d57fe5b9060005260206000200154905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fdc57600080fd5b610fe68282612490565b5050565b80610ff53382611fad565b151561100057600080fd5b61101c8484846020604051908101604052806000815250611910565b50505050565b6040805190810160405280600b81526020017f455243373231546f6b656e0000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611098828261194f565b1515156110a457600080fd5b83600690805190602001906110ba929190612a4c565b5082600790805190602001906110d1929190612a4c565b507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561113957808201518184015260208101905061111e565b50505050905090810190601f1680156111665780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561119f578082015181840152602081019050611184565b50505050905090810190601f1680156111cc5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561121557805182526020820191506020810190506020830392506111f0565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561127e5780518252602082019150602081019050602083039250611259565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b600061134a610def565b8210151561135757600080fd5b600a8281548110151561136657fe5b90600052602060002001549050919050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156113ed57600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561143357600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280601381526020017f4d696e7461626c65455243373231546f6b656e000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611516828261194f565b15151561152257600080fd5b61152b85611a3a565b6115358484611022565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561159c578082015181840152602081019050611581565b50505050905090810190601f1680156115c95780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156116025780820151818401526020810190506115e7565b50505050905090810190601f16801561162f5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156116785780518252602082019150602081019050602083039250611653565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156116e157805182526020820191506020810190506020830392506116bc565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b606060078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117ca5780601f1061179f576101008083540402835291602001916117ca565b820191906000526020600020905b8154815290600101906020018083116117ad57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561180f57600080fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b8161191b3382611fad565b151561192657600080fd5b611931858585610dfc565b61193d858585856124e7565b151561194857600080fd5b5050505050565b600080836040518082805190602001908083835b6020831015156119885780518252602082019150602081019050602083039250611963565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156119f157805182526020820191506020810190506020830392506119cc565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611ab0828261194f565b151515611abc57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611b64578082015181840152602081019050611b49565b50505050905090810190601f168015611b915780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611bca578082015181840152602081019050611baf565b50505050905090810190601f168015611bf75780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611c405780518252602082019150602081019050602083039250611c1b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ca95780518252602082019150602081019050602083039250611c84565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6060611d03826112ce565b1515611d0e57600080fd5b600c60008381526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611db55780601f10611d8a57610100808354040283529160200191611db5565b820191906000526020600020905b815481529060010190602001808311611d9857829003601f168201915b50505050509050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611eb157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611eed57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080611fb983611378565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061202857508373ffffffffffffffffffffffffffffffffffffffff1661201084610bf6565b73ffffffffffffffffffffffffffffffffffffffff16145b8061203957506120388185611dc1565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff1661206282611378565b73ffffffffffffffffffffffffffffffffffffffff1614151561208457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561219d5760006003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b5050565b60008060006121b085856126d5565b6009600085815260200190815260200160002054925061221c6001600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061280490919063ffffffff16565b9150600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561226a57fe5b9060005260206000200154905080600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811015156122c457fe5b90600052602060002001819055506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561232057fe5b9060005260206000200181905550600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054809190600190036123809190612acc565b50600060096000868152602001908152602001600020819055508260096000838152602001908152602001600020819055505050505050565b60006123c5838361281d565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020829080600181540180825580915050906001820390600052602060002001600090919290919091505550806009600084815260200190815260200160002081905550505050565b61249a8282612977565b600a80549050600b600083815260200190815260200160002081905550600a8190806001815401808255809150509060018203906000526020600020016000909192909190915055505050565b6000806125098573ffffffffffffffffffffffffffffffffffffffff16612a1d565b151561251857600191506126cc565b8473ffffffffffffffffffffffffffffffffffffffff1663f0b9e5ba8786866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156125da5780820151818401526020810190506125bf565b50505050905090810190601f1680156126075780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15801561262857600080fd5b505af115801561263c573d6000803e3d6000fd5b505050506040513d602081101561265257600080fd5b8101908080519060200190929190505050905063f0b9e5ba7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b8173ffffffffffffffffffffffffffffffffffffffff166126f582611378565b73ffffffffffffffffffffffffffffffffffffffff1614151561271757600080fd5b61276a6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461280490919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600082821115151561281257fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561288b57600080fd5b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506129306001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a3090919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156129b357600080fd5b6129bd82826123b9565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b60008183019050828110151515612a4357fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612a8d57805160ff1916838001178555612abb565b82800160010185558215612abb579182015b82811115612aba578251825591602001919060010190612a9f565b5b509050612ac89190612af8565b5090565b815481835581811115612af357818360005260206000209182019101612af29190612af8565b5b505050565b612b1a91905b80821115612b16576000816000905550600101612afe565b5090565b905600a165627a7a72305820a35f5eca65b7487d4f10b98292f76b5fd98d5b2312dc64414bcd2454560c18c10029", - "deployedBytecode": "0x608060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610138578063081812fc146101c8578063095ea7b31461023557806318160ddd1461028257806323b872dd146102ad5780632f745c591461031a57806340c10f191461037b57806342842e0e146103c85780634cd88b76146104355780634f558e79146104e45780634f6ccce7146105295780636352211e1461056a57806370a08231146105d75780638da5cb5b1461062e578063906571471461068557806395d89b4114610754578063a22cb465146107e4578063b88d4fde14610833578063c0bac1a8146108e6578063c4d66de8146109ad578063c87b56dd146109f0578063e985e9c514610a96578063f2fde38b14610b11575b600080fd5b34801561014457600080fd5b5061014d610b54565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018d578082015181840152602081019050610172565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d457600080fd5b506101f360048036038101908080359060200190929190505050610bf6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024157600080fd5b50610280600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c33565b005b34801561028e57600080fd5b50610297610def565b6040518082815260200191505060405180910390f35b3480156102b957600080fd5b50610318600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dfc565b005b34801561032657600080fd5b50610365600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f09565b6040518082815260200191505060405180910390f35b34801561038757600080fd5b506103c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f80565b005b3480156103d457600080fd5b50610433600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fea565b005b34801561044157600080fd5b506104e2600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611022565b005b3480156104f057600080fd5b5061050f600480360381019080803590602001909291905050506112ce565b604051808215151515815260200191505060405180910390f35b34801561053557600080fd5b5061055460048036038101908080359060200190929190505050611340565b6040518082815260200191505060405180910390f35b34801561057657600080fd5b5061059560048036038101908080359060200190929190505050611378565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105e357600080fd5b50610618600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113f6565b6040518082815260200191505060405180910390f35b34801561063a57600080fd5b5061064361147a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561069157600080fd5b50610752600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506114a0565b005b34801561076057600080fd5b50610769611732565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107a957808201518184015260208101905061078e565b50505050905090810190601f1680156107d65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107f057600080fd5b50610831600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506117d4565b005b34801561083f57600080fd5b506108e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611910565b005b3480156108f257600080fd5b50610993600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061194f565b604051808215151515815260200191505060405180910390f35b3480156109b957600080fd5b506109ee600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a3a565b005b3480156109fc57600080fd5b50610a1b60048036038101908080359060200190929190505050611cf8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a5b578082015181840152602081019050610a40565b50505050905090810190601f168015610a885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610aa257600080fd5b50610af7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dc1565b604051808215151515815260200191505060405180910390f35b348015610b1d57600080fd5b50610b52600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e55565b005b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bec5780601f10610bc157610100808354040283529160200191610bec565b820191906000526020600020905b815481529060010190602001808311610bcf57829003601f168201915b5050505050905090565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610c3e82611378565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610c7b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610cbb5750610cba8133611dc1565b5b1515610cc657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16610ce783610bf6565b73ffffffffffffffffffffffffffffffffffffffff16141580610d375750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610dea57826003600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505050565b6000600a80549050905090565b80610e073382611fad565b1515610e1257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610e4e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610e8a57600080fd5b610e948483612042565b610e9e84836121a1565b610ea883836123b9565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b6000610f14836113f6565b82101515610f2157600080fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610f6d57fe5b9060005260206000200154905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fdc57600080fd5b610fe68282612490565b5050565b80610ff53382611fad565b151561100057600080fd5b61101c8484846020604051908101604052806000815250611910565b50505050565b6040805190810160405280600b81526020017f455243373231546f6b656e0000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611098828261194f565b1515156110a457600080fd5b83600690805190602001906110ba929190612a4c565b5082600790805190602001906110d1929190612a4c565b507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561113957808201518184015260208101905061111e565b50505050905090810190601f1680156111665780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561119f578082015181840152602081019050611184565b50505050905090810190601f1680156111cc5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561121557805182526020820191506020810190506020830392506111f0565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561127e5780518252602082019150602081019050602083039250611259565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b600061134a610def565b8210151561135757600080fd5b600a8281548110151561136657fe5b90600052602060002001549050919050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156113ed57600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561143357600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280601381526020017f4d696e7461626c65455243373231546f6b656e000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611516828261194f565b15151561152257600080fd5b61152b85611a3a565b6115358484611022565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561159c578082015181840152602081019050611581565b50505050905090810190601f1680156115c95780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156116025780820151818401526020810190506115e7565b50505050905090810190601f16801561162f5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156116785780518252602082019150602081019050602083039250611653565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156116e157805182526020820191506020810190506020830392506116bc565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b606060078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117ca5780601f1061179f576101008083540402835291602001916117ca565b820191906000526020600020905b8154815290600101906020018083116117ad57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561180f57600080fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b8161191b3382611fad565b151561192657600080fd5b611931858585610dfc565b61193d858585856124e7565b151561194857600080fd5b5050505050565b600080836040518082805190602001908083835b6020831015156119885780518252602082019150602081019050602083039250611963565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156119f157805182526020820191506020810190506020830392506119cc565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611ab0828261194f565b151515611abc57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611b64578082015181840152602081019050611b49565b50505050905090810190601f168015611b915780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611bca578082015181840152602081019050611baf565b50505050905090810190601f168015611bf75780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611c405780518252602082019150602081019050602083039250611c1b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ca95780518252602082019150602081019050602083039250611c84565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6060611d03826112ce565b1515611d0e57600080fd5b600c60008381526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611db55780601f10611d8a57610100808354040283529160200191611db5565b820191906000526020600020905b815481529060010190602001808311611d9857829003601f168201915b50505050509050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611eb157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611eed57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080611fb983611378565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061202857508373ffffffffffffffffffffffffffffffffffffffff1661201084610bf6565b73ffffffffffffffffffffffffffffffffffffffff16145b8061203957506120388185611dc1565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff1661206282611378565b73ffffffffffffffffffffffffffffffffffffffff1614151561208457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561219d5760006003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b5050565b60008060006121b085856126d5565b6009600085815260200190815260200160002054925061221c6001600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061280490919063ffffffff16565b9150600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561226a57fe5b9060005260206000200154905080600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811015156122c457fe5b90600052602060002001819055506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561232057fe5b9060005260206000200181905550600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054809190600190036123809190612acc565b50600060096000868152602001908152602001600020819055508260096000838152602001908152602001600020819055505050505050565b60006123c5838361281d565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020829080600181540180825580915050906001820390600052602060002001600090919290919091505550806009600084815260200190815260200160002081905550505050565b61249a8282612977565b600a80549050600b600083815260200190815260200160002081905550600a8190806001815401808255809150509060018203906000526020600020016000909192909190915055505050565b6000806125098573ffffffffffffffffffffffffffffffffffffffff16612a1d565b151561251857600191506126cc565b8473ffffffffffffffffffffffffffffffffffffffff1663f0b9e5ba8786866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156125da5780820151818401526020810190506125bf565b50505050905090810190601f1680156126075780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15801561262857600080fd5b505af115801561263c573d6000803e3d6000fd5b505050506040513d602081101561265257600080fd5b8101908080519060200190929190505050905063f0b9e5ba7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b8173ffffffffffffffffffffffffffffffffffffffff166126f582611378565b73ffffffffffffffffffffffffffffffffffffffff1614151561271757600080fd5b61276a6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461280490919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600082821115151561281257fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561288b57600080fd5b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506129306001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a3090919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156129b357600080fd5b6129bd82826123b9565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b60008183019050828110151515612a4357fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612a8d57805160ff1916838001178555612abb565b82800160010185558215612abb579182015b82811115612aba578251825591602001919060010190612a9f565b5b509050612ac89190612af8565b5090565b815481835581811115612af357818360005260206000209182019101612af29190612af8565b5b505050565b612b1a91905b80821115612b16576000816000905550600101612afe565b5090565b905600a165627a7a72305820a35f5eca65b7487d4f10b98292f76b5fd98d5b2312dc64414bcd2454560c18c10029", - "sourceMap": "134:371:9:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;134:371:9;;;;;;;", - "deployedSourceMap": "134:371:9:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1377:68:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1377:68:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1377:68:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3605:111:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3605:111:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3021:355;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3021:355:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2621:87:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2621:87:8;;;;;;;;;;;;;;;;;;;;;;;5085:316:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5085:316:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2302:177:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2302:177:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;410:93:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;410:93:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6017:225:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6017:225:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1141:142:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1141:142:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2461:140:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2461:140:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3037::8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3037:140:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2119:164:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2119:164:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1764:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1764:142:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:3;;;;;;;;;;;;;;;;;;;;;;;;;;;203:203:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;203:203:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1543:72:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1543:72:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1543:72:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4001:205:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4001:205:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6929:302;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6929:302:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;537:104:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;537:104:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:133:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1808:133:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1808:133:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4515:142:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4515:142:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;1377:68:8;1414:6;1435:5;1428:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1377:68;:::o;3605:111:6:-;3665:7;3687:14;:24;3702:8;3687:24;;;;;;;;;;;;;;;;;;;;;3680:31;;3605:111;;;:::o;3021:355::-;3082:13;3098:17;3106:8;3098:7;:17::i;:::-;3082:33;;3136:5;3129:12;;:3;:12;;;;3121:21;;;;;;;;3170:5;3156:19;;:10;:19;;;:58;;;;3179:35;3196:5;3203:10;3179:16;:35::i;:::-;3156:58;3148:67;;;;;;;;3259:1;3226:35;;:21;3238:8;3226:11;:21::i;:::-;:35;;;;:56;;;;3280:1;3265:17;;:3;:17;;;;3226:56;3222:150;;;3319:3;3292:14;:24;3307:8;3292:24;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;3356:8;3351:3;3335:30;;3344:5;3335:30;;;;;;;;;;;;3222:150;3021:355;;;:::o;2621:87:8:-;2665:7;2687:9;:16;;;;2680:23;;2621:87;:::o;5085:316:6:-;5172:8;1520:39;1538:10;1550:8;1520:17;:39::i;:::-;1512:48;;;;;;;;5213:1;5196:19;;:5;:19;;;;5188:28;;;;;;;;5245:1;5230:17;;:3;:17;;;;5222:26;;;;;;;;5255:30;5269:5;5276:8;5255:13;:30::i;:::-;5291:32;5307:5;5314:8;5291:15;:32::i;:::-;5329:25;5340:3;5345:8;5329:10;:25::i;:::-;5387:8;5382:3;5366:30;;5375:5;5366:30;;;;;;;;;;;;5085:316;;;;:::o;2302:177:8:-;2384:7;2416:17;2426:6;2416:9;:17::i;:::-;2407:6;:26;2399:35;;;;;;;;2447:11;:19;2459:6;2447:19;;;;;;;;;;;;;;;2467:6;2447:27;;;;;;;;;;;;;;;;;;2440:34;;2302:177;;;;:::o;410:93:9:-;770:5:3;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;478:20:9;484:3;489:8;478:5;:20::i;:::-;410:93;;:::o;6017:225:6:-;6132:8;1520:39;1538:10;1550:8;1520:17;:39::i;:::-;1512:48;;;;;;;;6195:42;6212:5;6219:3;6224:8;6195:42;;;;;;;;;;;;;:16;:42::i;:::-;6017:225;;;;:::o;1141:142:8:-;1004:223:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;1250:5:8;1242;:13;;;;;;;;;;;;:::i;:::-;;1271:7;1261;:17;;;;;;;;;;;;:::i;:::-;;1139:35:10;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:10;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:10;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;1141:142:8;;;;:::o;2461:140:6:-;2516:4;2528:13;2544:10;:20;2555:8;2544:20;;;;;;;;;;;;;;;;;;;;;2528:36;;2594:1;2577:19;;:5;:19;;;;2570:26;;2461:140;;;;:::o;3037::8:-;3096:7;3128:13;:11;:13::i;:::-;3119:6;:22;3111:31;;;;;;;;3155:9;3165:6;3155:17;;;;;;;;;;;;;;;;;;3148:24;;3037:140;;;:::o;2119:164:6:-;2175:7;2190:13;2206:10;:20;2217:8;2206:20;;;;;;;;;;;;;;;;;;;;;2190:36;;2257:1;2240:19;;:5;:19;;;;2232:28;;;;;;;;2273:5;2266:12;;2119:164;;;;:::o;1764:142::-;1820:7;1861:1;1843:20;;:6;:20;;;;1835:29;;;;;;;;1877:16;:24;1894:6;1877:24;;;;;;;;;;;;;;;;1870:31;;1764:142;;;:::o;307:20:3:-;;;;;;;;;;;;;:::o;203:203:9:-;1004:223:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;330:27:9;349:7;330:18;:27::i;:::-;363:38;386:5;393:7;363:22;:38::i;:::-;1139:35:10;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:10;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:10;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;203:203:9;;;;;:::o;1543:72:8:-;1582:6;1603:7;1596:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1543:72;:::o;4001:205:6:-;4085:10;4078:17;;:3;:17;;;;4070:26;;;;;;;;4139:9;4102:17;:29;4120:10;4102:29;;;;;;;;;;;;;;;:34;4132:3;4102:34;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;4186:3;4159:42;;4174:10;4159:42;;;4191:9;4159:42;;;;;;;;;;;;;;;;;;;;;;4001:205;;:::o;6929:302::-;7061:8;1520:39;1538:10;1550:8;1520:17;:39::i;:::-;1512:48;;;;;;;;7079:34;7092:5;7099:3;7104:8;7079:12;:34::i;:::-;7172:53;7197:5;7204:3;7209:8;7219:5;7172:24;:53::i;:::-;7164:62;;;;;;;;6929:302;;;;;:::o;1950:140:10:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:10;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;537:104:3:-;1004:223:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:3;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:10;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:10;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:10;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:3;;;:::o;1808:133:8:-;1865:6;1887:16;1894:8;1887:6;:16::i;:::-;1879:25;;;;;;;;1917:9;:19;1927:8;1917:19;;;;;;;;;;;1910:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:133;;;:::o;4515:142:6:-;4597:4;4616:17;:25;4634:6;4616:25;;;;;;;;;;;;;;;:36;4642:9;4616:36;;;;;;;;;;;;;;;;;;;;;;;;;4609:43;;4515:142;;;;:::o;949:174:3:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;7578:240:6:-;7664:4;7676:13;7692:17;7700:8;7692:7;:17::i;:::-;7676:33;;7734:5;7722:17;;:8;:17;;;:54;;;;7768:8;7743:33;;:21;7755:8;7743:11;:21::i;:::-;:33;;;7722:54;:91;;;;7780:33;7797:5;7804:8;7780:16;:33::i;:::-;7722:91;7715:98;;7578:240;;;;;:::o;8887:265::-;8988:6;8967:27;;:17;8975:8;8967:7;:17::i;:::-;:27;;;8959:36;;;;;;;;9041:1;9005:38;;:14;:24;9020:8;9005:24;;;;;;;;;;;;;;;;;;;;;:38;;;;9001:147;;;9088:1;9053:14;:24;9068:8;9053:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;9132:8;9128:1;9103:38;;9112:6;9103:38;;;;;;;;;;;;9001:147;8887:265;;:::o;4305:856:8:-;4423:18;4476:22;4539:17;4378:38;4400:5;4407:8;4378:21;:38::i;:::-;4444:16;:26;4461:8;4444:26;;;;;;;;;;;;4423:47;;4501:32;4531:1;4501:11;:18;4513:5;4501:18;;;;;;;;;;;;;;;:25;;;;:29;;:32;;;;:::i;:::-;4476:57;;4559:11;:18;4571:5;4559:18;;;;;;;;;;;;;;;4578:14;4559:34;;;;;;;;;;;;;;;;;;4539:54;;4633:9;4600:11;:18;4612:5;4600:18;;;;;;;;;;;;;;;4619:10;4600:30;;;;;;;;;;;;;;;;;:42;;;;4685:1;4648:11;:18;4660:5;4648:18;;;;;;;;;;;;;;;4667:14;4648:34;;;;;;;;;;;;;;;;;:38;;;;5047:11;:18;5059:5;5047:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;:::i;:::-;;5109:1;5080:16;:26;5097:8;5080:26;;;;;;;;;;;:30;;;;5146:10;5116:16;:27;5133:9;5116:27;;;;;;;;;;;:40;;;;4305:856;;;;;:::o;3800:226::-;3903:14;3866:31;3883:3;3888:8;3866:16;:31::i;:::-;3920:11;:16;3932:3;3920:16;;;;;;;;;;;;;;;:23;;;;3903:40;;3949:11;:16;3961:3;3949:16;;;;;;;;;;;;;;;3971:8;3949:31;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;3949:31:8;;;;;;;;;;;;;;;;;;;;;;4015:6;3986:16;:26;4003:8;3986:26;;;;;;;;;;;:35;;;;3800:226;;;:::o;5427:172::-;5488:26;5500:3;5505:8;5488:11;:26::i;:::-;5548:9;:16;;;;5521:14;:24;5536:8;5521:24;;;;;;;;;;;:43;;;;5570:9;5585:8;5570:24;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;5570:24:8;;;;;;;;;;;;;;;;;;;;;;5427:172;;:::o;10623:328:6:-;10762:4;10830:13;10781:16;:3;:14;;;:16::i;:::-;10780:17;10776:49;;;10814:4;10807:11;;;;10776:49;10861:3;10846:36;;;10883:5;10890:8;10900:5;10846:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;10846:60:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10846:60:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10846:60:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10846:60:6;;;;;;;;;;;;;;;;10830:76;;604:10;10930:15;;10920:25;;;:6;:25;;;;10912:34;;10623:328;;;;;;;;:::o;9898:214::-;10000:5;9979:26;;:17;9987:8;9979:7;:17::i;:::-;:26;;;9971:35;;;;;;;;10038:30;10066:1;10038:16;:23;10055:5;10038:23;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;10012:16;:23;10029:5;10012:23;;;;;;;;;;;;;;;:56;;;;10105:1;10074:10;:20;10085:8;10074:20;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;9898:214;;:::o;836:110:1:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;9415:204:6:-;9521:1;9489:34;;:10;:20;9500:8;9489:20;;;;;;;;;;;;;;;;;;;;;:34;;;9481:43;;;;;;;;9553:3;9530:10;:20;9541:8;9530:20;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;9586:28;9612:1;9586:16;:21;9603:3;9586:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;9562:16;:21;9579:3;9562:21;;;;;;;;;;;;;;;:52;;;;9415:204;;:::o;8072:169::-;8156:1;8141:17;;:3;:17;;;;8133:26;;;;;;;;8165:25;8176:3;8181:8;8165:10;:25::i;:::-;8227:8;8222:3;8201:35;;8218:1;8201:35;;;;;;;;;;;;8072:169;;:::o;438:568:0:-;495:4;507:12;922:4;910:17;902:25;;1000:1;993:4;:8;986:15;;438:568;;;;:::o;1008:123:1:-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;134:371:9:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b50612d68806100206000396000f30060806040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ffc9a71461014357806306fdde03146101a7578063081812fc14610237578063095ea7b3146102a457806318160ddd146102f157806323b872dd1461031c5780632f745c591461038957806340c10f19146103ea57806342842e0e146104375780634cd88b76146104a45780634f558e79146105535780634f6ccce7146105985780636352211e146105d957806370a08231146106465780638da5cb5b1461069d57806390657147146106f457806395d89b41146107c3578063a22cb46514610853578063b88d4fde146108a2578063c0bac1a814610955578063c4d66de814610a1c578063c87b56dd14610a5f578063e985e9c514610b05578063f2fde38b14610b80575b600080fd5b34801561014f57600080fd5b5061018d60048036038101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610bc3565b604051808215151515815260200191505060405180910390f35b3480156101b357600080fd5b506101bc610bd5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101fc5780820151818401526020810190506101e1565b50505050905090810190601f1680156102295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024357600080fd5b5061026260048036038101908080359060200190929190505050610c77565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102b057600080fd5b506102ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cb4565b005b3480156102fd57600080fd5b50610306610df9565b6040518082815260200191505060405180910390f35b34801561032857600080fd5b50610387600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e06565b005b34801561039557600080fd5b506103d4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f13565b6040518082815260200191505060405180910390f35b3480156103f657600080fd5b50610435600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f8a565b005b34801561044357600080fd5b506104a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ff4565b005b3480156104b057600080fd5b50610551600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061102c565b005b34801561055f57600080fd5b5061057e600480360381019080803590602001909291905050506112d8565b604051808215151515815260200191505060405180910390f35b3480156105a457600080fd5b506105c36004803603810190808035906020019092919050505061134a565b6040518082815260200191505060405180910390f35b3480156105e557600080fd5b5061060460048036038101908080359060200190929190505050611382565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561065257600080fd5b50610687600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611400565b6040518082815260200191505060405180910390f35b3480156106a957600080fd5b506106b2611484565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561070057600080fd5b506107c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506114aa565b005b3480156107cf57600080fd5b506107d861173c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108185780820151818401526020810190506107fd565b50505050905090810190601f1680156108455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561085f57600080fd5b506108a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506117de565b005b3480156108ae57600080fd5b50610953600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061191a565b005b34801561096157600080fd5b50610a02600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611959565b604051808215151515815260200191505060405180910390f35b348015610a2857600080fd5b50610a5d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a44565b005b348015610a6b57600080fd5b50610a8a60048036038101908080359060200190929190505050611d02565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610aca578082015181840152602081019050610aaf565b50505050905090810190601f168015610af75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b1157600080fd5b50610b66600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dcb565b604051808215151515815260200191505060405180910390f35b348015610b8c57600080fd5b50610bc1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e5f565b005b6000610bce82611fb7565b9050919050565b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c6d5780601f10610c4257610100808354040283529160200191610c6d565b820191906000526020600020905b815481529060010190602001808311610c5057829003601f168201915b5050505050905090565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610cbf82611382565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610cfc57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d3c5750610d3b8133611dcb565b5b1515610d4757600080fd5b826003600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000600a80549050905090565b80610e11338261209f565b1515610e1c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610e5857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610e9457600080fd5b610e9e8483612134565b610ea88483612237565b610eb2838361244f565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b6000610f1e83611400565b82101515610f2b57600080fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610f7757fe5b9060005260206000200154905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fe657600080fd5b610ff08282612526565b5050565b80610fff338261209f565b151561100a57600080fd5b611026848484602060405190810160405280600081525061191a565b50505050565b6040805190810160405280600b81526020017f455243373231546f6b656e0000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506110a28282611959565b1515156110ae57600080fd5b83600690805190602001906110c4929190612c6b565b5082600790805190602001906110db929190612c6b565b507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611143578082015181840152602081019050611128565b50505050905090810190601f1680156111705780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156111a957808201518184015260208101905061118e565b50505050905090810190601f1680156111d65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561121f57805182526020820191506020810190506020830392506111fa565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156112885780518252602082019150602081019050602083039250611263565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b6000611354610df9565b8210151561136157600080fd5b600a8281548110151561137057fe5b90600052602060002001549050919050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156113f757600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561143d57600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280601381526020017f4d696e7461626c65455243373231546f6b656e000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506115208282611959565b15151561152c57600080fd5b61153585611a44565b61153f848461102c565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156115a657808201518184015260208101905061158b565b50505050905090810190601f1680156115d35780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611682578051825260208201915060208101905060208303925061165d565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156116eb57805182526020820191506020810190506020830392506116c6565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b606060078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117d45780601f106117a9576101008083540402835291602001916117d4565b820191906000526020600020905b8154815290600101906020018083116117b757829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561181957600080fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b81611925338261209f565b151561193057600080fd5b61193b858585610e06565b6119478585858561257d565b151561195257600080fd5b5050505050565b600080836040518082805190602001908083835b602083101515611992578051825260208201915060208101905060208303925061196d565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156119fb57805182526020820191506020810190506020830392506119d6565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611aba8282611959565b151515611ac657600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611b6e578082015181840152602081019050611b53565b50505050905090810190601f168015611b9b5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611bd4578082015181840152602081019050611bb9565b50505050905090810190601f168015611c015780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611c4a5780518252602082019150602081019050602083039250611c25565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611cb35780518252602082019150602081019050602083039250611c8e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6060611d0d826112d8565b1515611d1857600080fd5b600c60008381526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611dbf5780601f10611d9457610100808354040283529160200191611dbf565b820191906000526020600020905b815481529060010190602001808311611da257829003601f168201915b50505050509050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ebb57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611ef757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611fc28261279f565b8061202d575063780e9d637c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806120985750635b5e139f7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6000806120ab83611382565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061211a57508373ffffffffffffffffffffffffffffffffffffffff1661210284610c77565b73ffffffffffffffffffffffffffffffffffffffff16145b8061212b575061212a8185611dcb565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff1661215482611382565b73ffffffffffffffffffffffffffffffffffffffff1614151561217657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156122335760006003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b60008060006122468585612887565b600960008581526020019081526020016000205492506122b26001600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506129b690919063ffffffff16565b9150600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561230057fe5b9060005260206000200154905080600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110151561235a57fe5b90600052602060002001819055506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811015156123b657fe5b9060005260206000200181905550600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054809190600190036124169190612ceb565b50600060096000868152602001908152602001600020819055508260096000838152602001908152602001600020819055505050505050565b600061245b83836129cf565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020829080600181540180825580915050906001820390600052602060002001600090919290919091505550806009600084815260200190815260200160002081905550505050565b6125308282612b29565b600a80549050600b600083815260200190815260200160002081905550600a8190806001815401808255809150509060018203906000526020600020016000909192909190915055505050565b60008061259f8573ffffffffffffffffffffffffffffffffffffffff16612bcf565b15156125ae5760019150612796565b8473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156126a3578082015181840152602081019050612688565b50505050905090810190601f1680156126d05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156126f257600080fd5b505af1158015612706573d6000803e3d6000fd5b505050506040513d602081101561271c57600080fd5b8101908080519060200190929190505050905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b60006127aa82612be2565b8061281557506380ac58cd7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806128805750634f558e797c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff166128a782611382565b73ffffffffffffffffffffffffffffffffffffffff161415156128c957600080fd5b61291c6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129b690919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008282111515156129c457fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612a3d57600080fd5b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612ae26001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c4f90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612b6557600080fd5b612b6f828261244f565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b60006301ffc9a77c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008183019050828110151515612c6257fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612cac57805160ff1916838001178555612cda565b82800160010185558215612cda579182015b82811115612cd9578251825591602001919060010190612cbe565b5b509050612ce79190612d17565b5090565b815481835581811115612d1257818360005260206000209182019101612d119190612d17565b5b505050565b612d3991905b80821115612d35576000816000905550600101612d1d565b5090565b905600a165627a7a72305820487b29ce8d13768a64d80903620d8cfc04e6d73dc4be236ae20a03ee9cccb3f60029", + "deployedBytecode": "0x60806040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ffc9a71461014357806306fdde03146101a7578063081812fc14610237578063095ea7b3146102a457806318160ddd146102f157806323b872dd1461031c5780632f745c591461038957806340c10f19146103ea57806342842e0e146104375780634cd88b76146104a45780634f558e79146105535780634f6ccce7146105985780636352211e146105d957806370a08231146106465780638da5cb5b1461069d57806390657147146106f457806395d89b41146107c3578063a22cb46514610853578063b88d4fde146108a2578063c0bac1a814610955578063c4d66de814610a1c578063c87b56dd14610a5f578063e985e9c514610b05578063f2fde38b14610b80575b600080fd5b34801561014f57600080fd5b5061018d60048036038101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610bc3565b604051808215151515815260200191505060405180910390f35b3480156101b357600080fd5b506101bc610bd5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101fc5780820151818401526020810190506101e1565b50505050905090810190601f1680156102295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024357600080fd5b5061026260048036038101908080359060200190929190505050610c77565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102b057600080fd5b506102ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cb4565b005b3480156102fd57600080fd5b50610306610df9565b6040518082815260200191505060405180910390f35b34801561032857600080fd5b50610387600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e06565b005b34801561039557600080fd5b506103d4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f13565b6040518082815260200191505060405180910390f35b3480156103f657600080fd5b50610435600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f8a565b005b34801561044357600080fd5b506104a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ff4565b005b3480156104b057600080fd5b50610551600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061102c565b005b34801561055f57600080fd5b5061057e600480360381019080803590602001909291905050506112d8565b604051808215151515815260200191505060405180910390f35b3480156105a457600080fd5b506105c36004803603810190808035906020019092919050505061134a565b6040518082815260200191505060405180910390f35b3480156105e557600080fd5b5061060460048036038101908080359060200190929190505050611382565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561065257600080fd5b50610687600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611400565b6040518082815260200191505060405180910390f35b3480156106a957600080fd5b506106b2611484565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561070057600080fd5b506107c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506114aa565b005b3480156107cf57600080fd5b506107d861173c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108185780820151818401526020810190506107fd565b50505050905090810190601f1680156108455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561085f57600080fd5b506108a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506117de565b005b3480156108ae57600080fd5b50610953600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061191a565b005b34801561096157600080fd5b50610a02600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611959565b604051808215151515815260200191505060405180910390f35b348015610a2857600080fd5b50610a5d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a44565b005b348015610a6b57600080fd5b50610a8a60048036038101908080359060200190929190505050611d02565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610aca578082015181840152602081019050610aaf565b50505050905090810190601f168015610af75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b1157600080fd5b50610b66600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dcb565b604051808215151515815260200191505060405180910390f35b348015610b8c57600080fd5b50610bc1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e5f565b005b6000610bce82611fb7565b9050919050565b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c6d5780601f10610c4257610100808354040283529160200191610c6d565b820191906000526020600020905b815481529060010190602001808311610c5057829003601f168201915b5050505050905090565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610cbf82611382565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610cfc57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d3c5750610d3b8133611dcb565b5b1515610d4757600080fd5b826003600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000600a80549050905090565b80610e11338261209f565b1515610e1c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610e5857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610e9457600080fd5b610e9e8483612134565b610ea88483612237565b610eb2838361244f565b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b6000610f1e83611400565b82101515610f2b57600080fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610f7757fe5b9060005260206000200154905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fe657600080fd5b610ff08282612526565b5050565b80610fff338261209f565b151561100a57600080fd5b611026848484602060405190810160405280600081525061191a565b50505050565b6040805190810160405280600b81526020017f455243373231546f6b656e0000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506110a28282611959565b1515156110ae57600080fd5b83600690805190602001906110c4929190612c6b565b5082600790805190602001906110db929190612c6b565b507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611143578082015181840152602081019050611128565b50505050905090810190601f1680156111705780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156111a957808201518184015260208101905061118e565b50505050905090810190601f1680156111d65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561121f57805182526020820191506020810190506020830392506111fa565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156112885780518252602082019150602081019050602083039250611263565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b6000611354610df9565b8210151561136157600080fd5b600a8281548110151561137057fe5b90600052602060002001549050919050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156113f757600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561143d57600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280601381526020017f4d696e7461626c65455243373231546f6b656e000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506115208282611959565b15151561152c57600080fd5b61153585611a44565b61153f848461102c565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156115a657808201518184015260208101905061158b565b50505050905090810190601f1680156115d35780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611682578051825260208201915060208101905060208303925061165d565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156116eb57805182526020820191506020810190506020830392506116c6565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b606060078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117d45780601f106117a9576101008083540402835291602001916117d4565b820191906000526020600020905b8154815290600101906020018083116117b757829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561181957600080fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b81611925338261209f565b151561193057600080fd5b61193b858585610e06565b6119478585858561257d565b151561195257600080fd5b5050505050565b600080836040518082805190602001908083835b602083101515611992578051825260208201915060208101905060208303925061196d565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156119fb57805182526020820191506020810190506020830392506119d6565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611aba8282611959565b151515611ac657600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611b6e578082015181840152602081019050611b53565b50505050905090810190601f168015611b9b5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611bd4578082015181840152602081019050611bb9565b50505050905090810190601f168015611c015780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611c4a5780518252602082019150602081019050602083039250611c25565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611cb35780518252602082019150602081019050602083039250611c8e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6060611d0d826112d8565b1515611d1857600080fd5b600c60008381526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611dbf5780601f10611d9457610100808354040283529160200191611dbf565b820191906000526020600020905b815481529060010190602001808311611da257829003601f168201915b50505050509050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ebb57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611ef757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611fc28261279f565b8061202d575063780e9d637c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806120985750635b5e139f7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6000806120ab83611382565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061211a57508373ffffffffffffffffffffffffffffffffffffffff1661210284610c77565b73ffffffffffffffffffffffffffffffffffffffff16145b8061212b575061212a8185611dcb565b5b91505092915050565b8173ffffffffffffffffffffffffffffffffffffffff1661215482611382565b73ffffffffffffffffffffffffffffffffffffffff1614151561217657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156122335760006003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b60008060006122468585612887565b600960008581526020019081526020016000205492506122b26001600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506129b690919063ffffffff16565b9150600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561230057fe5b9060005260206000200154905080600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110151561235a57fe5b90600052602060002001819055506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811015156123b657fe5b9060005260206000200181905550600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054809190600190036124169190612ceb565b50600060096000868152602001908152602001600020819055508260096000838152602001908152602001600020819055505050505050565b600061245b83836129cf565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020829080600181540180825580915050906001820390600052602060002001600090919290919091505550806009600084815260200190815260200160002081905550505050565b6125308282612b29565b600a80549050600b600083815260200190815260200160002081905550600a8190806001815401808255809150509060018203906000526020600020016000909192909190915055505050565b60008061259f8573ffffffffffffffffffffffffffffffffffffffff16612bcf565b15156125ae5760019150612796565b8473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156126a3578082015181840152602081019050612688565b50505050905090810190601f1680156126d05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156126f257600080fd5b505af1158015612706573d6000803e3d6000fd5b505050506040513d602081101561271c57600080fd5b8101908080519060200190929190505050905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505b50949350505050565b60006127aa82612be2565b8061281557506380ac58cd7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806128805750634f558e797c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff166128a782611382565b73ffffffffffffffffffffffffffffffffffffffff161415156128c957600080fd5b61291c6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129b690919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008282111515156129c457fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612a3d57600080fd5b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612ae26001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c4f90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612b6557600080fd5b612b6f828261244f565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b60006301ffc9a77c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008183019050828110151515612c6257fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612cac57805160ff1916838001178555612cda565b82800160010185558215612cda579182015b82811115612cd9578251825591602001919060010190612cbe565b5b509050612ce79190612d17565b5090565b815481835581811115612d1257818360005260206000209182019101612d119190612d17565b5b505050565b612d3991905b80821115612d35576000816000905550600101612d1d565b5090565b905600a165627a7a72305820487b29ce8d13768a64d80903620d8cfc04e6d73dc4be236ae20a03ee9cccb3f60029", + "sourceMap": "134:371:53:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;134:371:53;;;;;;;", + "deployedSourceMap": "134:371:53:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;340:143:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;340:143:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2176:70:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2176:70:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2176:70:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4612:111:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4612:111:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4108:277;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4108:277:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3445:87:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3445:87:52;;;;;;;;;;;;;;;;;;;;;;;6103:342:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6103:342:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3100:203:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3100:203:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;410:93:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;410:93:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7061:225:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7061:225:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1682:142:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1682:142:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3563:140:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:140:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3856::52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3856:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3221:164:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3221:164:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2866:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2866:142:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:27;;;;;;;;;;;;;;;;;;;;;;;;;;;203:203:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;203:203:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2344:74:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2344:74:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2344:74:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5003:205:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5003:205:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7968:302;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7968:302:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;537:104:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;537:104:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;2606:133:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2606:133:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2606:133:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5517:168:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5517:168:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;340:143:5;423:4;444:32;463:12;444:18;:32::i;:::-;437:39;;340:143;;;:::o;2176:70:52:-;2215:6;2236:5;2229:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2176:70;:::o;4612:111:49:-;4672:7;4694:14;:24;4709:8;4694:24;;;;;;;;;;;;;;;;;;;;;4687:31;;4612:111;;;:::o;4108:277::-;4169:13;4185:17;4193:8;4185:7;:17::i;:::-;4169:33;;4223:5;4216:12;;:3;:12;;;;4208:21;;;;;;;;4257:5;4243:19;;:10;:19;;;:58;;;;4266:35;4283:5;4290:10;4266:16;:35::i;:::-;4243:58;4235:67;;;;;;;;4336:3;4309:14;:24;4324:8;4309:24;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;4371:8;4366:3;4350:30;;4359:5;4350:30;;;;;;;;;;;;4108:277;;;:::o;3445:87:52:-;3489:7;3511:9;:16;;;;3504:23;;3445:87;:::o;6103:342:49:-;6214:8;2376:39;2394:10;2406:8;2376:17;:39::i;:::-;2368:48;;;;;;;;6257:1;6240:19;;:5;:19;;;;6232:28;;;;;;;;6289:1;6274:17;;:3;:17;;;;6266:26;;;;;;;;6299:30;6313:5;6320:8;6299:13;:30::i;:::-;6335:32;6351:5;6358:8;6335:15;:32::i;:::-;6373:25;6384:3;6389:8;6373:10;:25::i;:::-;6431:8;6426:3;6410:30;;6419:5;6410:30;;;;;;;;;;;;6103:342;;;;:::o;3100:203:52:-;3206:7;3240:17;3250:6;3240:9;:17::i;:::-;3231:6;:26;3223:35;;;;;;;;3271:11;:19;3283:6;3271:19;;;;;;;;;;;;;;;3291:6;3271:27;;;;;;;;;;;;;;;;;;3264:34;;3100:203;;;;:::o;410:93:53:-;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;478:20:53;484:3;489:8;478:5;:20::i;:::-;410:93;;:::o;7061:225:49:-;7176:8;2376:39;2394:10;2406:8;2376:17;:39::i;:::-;2368:48;;;;;;;;7239:42;7256:5;7263:3;7268:8;7239:42;;;;;;;;;;;;;:16;:42::i;:::-;7061:225;;;;:::o;1682:142:52:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;1791:5:52;1783;:13;;;;;;;;;;;;:::i;:::-;;1812:7;1802;:17;;;;;;;;;;;;:::i;:::-;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;1682:142:52;;;;:::o;3563:140:49:-;3618:4;3630:13;3646:10;:20;3657:8;3646:20;;;;;;;;;;;;;;;;;;;;;3630:36;;3696:1;3679:19;;:5;:19;;;;3672:26;;3563:140;;;;:::o;3856::52:-;3915:7;3947:13;:11;:13::i;:::-;3938:6;:22;3930:31;;;;;;;;3974:9;3984:6;3974:17;;;;;;;;;;;;;;;;;;3967:24;;3856:140;;;:::o;3221:164:49:-;3277:7;3292:13;3308:10;:20;3319:8;3308:20;;;;;;;;;;;;;;;;;;;;;3292:36;;3359:1;3342:19;;:5;:19;;;;3334:28;;;;;;;;3375:5;3368:12;;3221:164;;;;:::o;2866:142::-;2922:7;2963:1;2945:20;;:6;:20;;;;2937:29;;;;;;;;2979:16;:24;2996:6;2979:24;;;;;;;;;;;;;;;;2972:31;;2866:142;;;:::o;307:20:27:-;;;;;;;;;;;;;:::o;203:203:53:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;330:27:53;349:7;330:18;:27::i;:::-;363:38;386:5;393:7;363:22;:38::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;203:203:53;;;;;:::o;2344:74:52:-;2385:6;2406:7;2399:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2344:74;:::o;5003:205:49:-;5087:10;5080:17;;:3;:17;;;;5072:26;;;;;;;;5141:9;5104:17;:29;5122:10;5104:29;;;;;;;;;;;;;;;:34;5134:3;5104:34;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;5188:3;5161:42;;5176:10;5161:42;;;5193:9;5161:42;;;;;;;;;;;;;;;;;;;;;;5003:205;;:::o;7968:302::-;8100:8;2376:39;2394:10;2406:8;2376:17;:39::i;:::-;2368:48;;;;;;;;8118:34;8131:5;8138:3;8143:8;8118:12;:34::i;:::-;8211:53;8236:5;8243:3;8248:8;8258:5;8211:24;:53::i;:::-;8203:62;;;;;;;;7968:302;;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;537:104:27:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:27;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:27;;;:::o;2606:133:52:-;2663:6;2685:16;2692:8;2685:6;:16::i;:::-;2677:25;;;;;;;;2715:9;:19;2725:8;2715:19;;;;;;;;;;;2708:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2606:133;;;:::o;5517:168:49:-;5623:4;5644:17;:25;5662:6;5644:25;;;;;;;;;;;;;;;:36;5670:9;5644:36;;;;;;;;;;;;;;;;;;;;;;;;;5637:43;;5517:168;;;;:::o;949:174:27:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;1828:254:52:-;1912:4;1933:38;1958:12;1933:24;:38::i;:::-;:92;;;;606:10;1997:28;;1981:44;;;:12;:44;;;;1933:92;:144;;;;867:10;2051:26;;2035:42;;;:12;:42;;;;1933:144;1926:151;;1828:254;;;:::o;8617:438:49:-;8727:4;8741:13;8757:17;8765:8;8757:7;:17::i;:::-;8741:33;;8953:5;8941:17;;:8;:17;;;:60;;;;8993:8;8968:33;;:21;8980:8;8968:11;:21::i;:::-;:33;;;8941:60;:103;;;;9011:33;9028:5;9035:8;9011:16;:33::i;:::-;8941:103;8926:124;;8617:438;;;;;:::o;10109:214::-;10210:6;10189:27;;:17;10197:8;10189:7;:17::i;:::-;:27;;;10181:36;;;;;;;;10263:1;10227:38;;:14;:24;10242:8;10227:24;;;;;;;;;;;;;;;;;;;;;:38;;;;10223:96;;;10310:1;10275:14;:24;10290:8;10275:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;10223:96;10109:214;;:::o;5119:856:52:-;5237:18;5290:22;5353:17;5192:38;5214:5;5221:8;5192:21;:38::i;:::-;5258:16;:26;5275:8;5258:26;;;;;;;;;;;;5237:47;;5315:32;5345:1;5315:11;:18;5327:5;5315:18;;;;;;;;;;;;;;;:25;;;;:29;;:32;;;;:::i;:::-;5290:57;;5373:11;:18;5385:5;5373:18;;;;;;;;;;;;;;;5392:14;5373:34;;;;;;;;;;;;;;;;;;5353:54;;5447:9;5414:11;:18;5426:5;5414:18;;;;;;;;;;;;;;;5433:10;5414:30;;;;;;;;;;;;;;;;;:42;;;;5499:1;5462:11;:18;5474:5;5462:18;;;;;;;;;;;;;;;5481:14;5462:34;;;;;;;;;;;;;;;;;:38;;;;5861:11;:18;5873:5;5861:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;:::i;:::-;;5923:1;5894:16;:26;5911:8;5894:26;;;;;;;;;;;:30;;;;5960:10;5930:16;:27;5947:9;5930:27;;;;;;;;;;;:40;;;;5119:856;;;;;:::o;4614:226::-;4717:14;4680:31;4697:3;4702:8;4680:16;:31::i;:::-;4734:11;:16;4746:3;4734:16;;;;;;;;;;;;;;;:23;;;;4717:40;;4763:11;:16;4775:3;4763:16;;;;;;;;;;;;;;;4785:8;4763:31;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;4763:31:52;;;;;;;;;;;;;;;;;;;;;;4829:6;4800:16;:26;4817:8;4800:26;;;;;;;;;;;:35;;;;4614:226;;;:::o;6236:172::-;6297:26;6309:3;6314:8;6297:11;:26::i;:::-;6357:9;:16;;;;6330:14;:24;6345:8;6330:24;;;;;;;;;;;:43;;;;6379:9;6394:8;6379:24;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;6379:24:52;;;;;;;;;;;;;;;;;;;;;;6236:172;;:::o;11789:347:49:-;11928:4;11996:13;11947:16;:3;:14;;;:16::i;:::-;11946:17;11942:49;;;11980:4;11973:11;;;;11942:49;12027:3;12012:36;;;12056:10;12068:5;12075:8;12085:5;12012:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;12012:79:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12012:79:49;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12012:79:49;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12012:79:49;;;;;;;;;;;;;;;;11996:95;;1460:10;12115:15;;12105:25;;;:6;:25;;;;12097:34;;11789:347;;;;;;;;:::o;2432:242::-;2516:4;2537:38;2562:12;2537:24;:38::i;:::-;:82;;;;455:10;2601:18;;2585:34;;;:12;:34;;;;2537:82;:132;;;;1096:10;2645:24;;2629:40;;;:12;:40;;;;2537:132;2530:139;;2432:242;;;:::o;11069:214::-;11171:5;11150:26;;:17;11158:8;11150:7;:17::i;:::-;:26;;;11142:35;;;;;;;;11209:30;11237:1;11209:16;:23;11226:5;11209:23;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;11183:16;:23;11200:5;11183:23;;;;;;;;;;;;;;;:56;;;;11276:1;11245:10;:20;11256:8;11245:20;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;11069:214;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;10586:204:49:-;10692:1;10660:34;;:10;:20;10671:8;10660:20;;;;;;;;;;;;;;;;;;;;;:34;;;10652:43;;;;;;;;10724:3;10701:10;:20;10712:8;10701:20;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;10757:28;10783:1;10757:16;:21;10774:3;10757:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;10733:16;:21;10750:3;10733:21;;;;;;;;;;;;;;;:52;;;;10586:204;;:::o;9304:169::-;9388:1;9373:17;;:3;:17;;;;9365:26;;;;;;;;9397:25;9408:3;9413:8;9397:10;:25::i;:::-;9459:8;9454:3;9433:35;;9450:1;9433:35;;;;;;;;;;;;9304:169;;:::o;438:568:0:-;495:4;507:12;922:4;910:17;902:25;;1000:1;993:4;:8;986:15;;438:568;;;;:::o;487:146:5:-;571:4;239:10;608:18;;592:34;;;:12;:34;;;;585:41;;487:146;;;:::o;1008:123:8:-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;134:371:53:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"./ERC721Token.sol\";\nimport \"../../ownership/Ownable.sol\";\n\n\n/**\n * @title Mintable ERC721 Token\n */\ncontract MintableERC721Token is Migratable, Ownable, ERC721Token {\n function initialize(address _sender, string _name, string _symbol) isInitializer(\"MintableERC721Token\", \"1.9.0\") public {\n Ownable.initialize(_sender);\n ERC721Token.initialize(_name, _symbol);\n }\n\n function mint(address _to, uint256 _tokenId) onlyOwner public {\n _mint(_to, _tokenId);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/MintableERC721Token.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/MintableERC721Token.sol", "exportedSymbols": { "MintableERC721Token": [ - 1433 + 4768 ] }, - "id": 1434, + "id": 4769, "nodeType": "SourceUnit", "nodes": [ { - "id": 1382, + "id": 4717, "literals": [ "solidity", "^", @@ -558,27 +577,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:9" + "src": "0:24:53" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Token.sol", "file": "./ERC721Token.sol", - "id": 1383, + "id": 4718, "nodeType": "ImportDirective", - "scope": 1434, - "sourceUnit": 1381, - "src": "26:27:9", + "scope": 4769, + "sourceUnit": 4716, + "src": "26:27:53", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/Ownable.sol", "file": "../../ownership/Ownable.sol", - "id": 1384, + "id": 4719, "nodeType": "ImportDirective", - "scope": 1434, - "sourceUnit": 243, - "src": "54:37:9", + "scope": 4769, + "sourceUnit": 1629, + "src": "54:37:53", "symbolAliases": [], "unitAlias": "" }, @@ -588,90 +607,94 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1385, + "id": 4720, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1529, - "src": "166:10:9", + "referencedDeclaration": 4864, + "src": "166:10:53", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$1529", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 1386, + "id": 4721, "nodeType": "InheritanceSpecifier", - "src": "166:10:9" + "src": "166:10:53" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 1387, + "id": 4722, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 242, - "src": "178:7:9", + "referencedDeclaration": 1628, + "src": "178:7:53", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$242", + "typeIdentifier": "t_contract$_Ownable_$1628", "typeString": "contract Ownable" } }, - "id": 1388, + "id": 4723, "nodeType": "InheritanceSpecifier", - "src": "178:7:9" + "src": "178:7:53" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 1389, + "id": 4724, "name": "ERC721Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1380, - "src": "187:11:9", + "referencedDeclaration": 4715, + "src": "187:11:53", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Token_$1380", + "typeIdentifier": "t_contract$_ERC721Token_$4715", "typeString": "contract ERC721Token" } }, - "id": 1390, + "id": 4725, "nodeType": "InheritanceSpecifier", - "src": "187:11:9" + "src": "187:11:53" } ], "contractDependencies": [ - 242, - 269, - 289, - 296, - 403, - 986, - 1380, - 1529 + 303, + 336, + 1628, + 3537, + 3557, + 3564, + 3674, + 4267, + 4715, + 4864 ], "contractKind": "contract", "documentation": "@title Mintable ERC721 Token", "fullyImplemented": true, - "id": 1433, + "id": 4768, "linearizedBaseContracts": [ - 1433, - 1380, - 986, - 296, - 289, - 269, - 403, - 242, - 1529 + 4768, + 4715, + 3564, + 3557, + 3537, + 4267, + 3674, + 336, + 303, + 1628, + 4864 ], "name": "MintableERC721Token", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1416, + "id": 4751, "nodeType": "Block", - "src": "324:82:9", + "src": "324:82:53", "statements": [ { "expression": { @@ -679,12 +702,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1406, + "id": 4741, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1392, - "src": "349:7:9", + "referencedDeclaration": 4727, + "src": "349:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -700,32 +723,32 @@ ], "expression": { "argumentTypes": null, - "id": 1403, + "id": 4738, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 242, - "src": "330:7:9", + "referencedDeclaration": 1628, + "src": "330:7:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Ownable_$242_$", + "typeIdentifier": "t_type$_t_contract$_Ownable_$1628_$", "typeString": "type(contract Ownable)" } }, - "id": 1405, + "id": 4740, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 205, - "src": "330:18:9", + "referencedDeclaration": 1591, + "src": "330:18:53", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1407, + "id": 4742, "isConstant": false, "isLValue": false, "isPure": false, @@ -733,15 +756,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "330:27:9", + "src": "330:27:53", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1408, + "id": 4743, "nodeType": "ExpressionStatement", - "src": "330:27:9" + "src": "330:27:53" }, { "expression": { @@ -749,12 +772,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1412, + "id": 4747, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1394, - "src": "386:5:9", + "referencedDeclaration": 4729, + "src": "386:5:53", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -762,12 +785,12 @@ }, { "argumentTypes": null, - "id": 1413, + "id": 4748, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1396, - "src": "393:7:9", + "referencedDeclaration": 4731, + "src": "393:7:53", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -787,32 +810,32 @@ ], "expression": { "argumentTypes": null, - "id": 1409, + "id": 4744, "name": "ERC721Token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "363:11:9", + "referencedDeclaration": 4715, + "src": "363:11:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Token_$1380_$", + "typeIdentifier": "t_type$_t_contract$_ERC721Token_$4715_$", "typeString": "type(contract ERC721Token)" } }, - "id": 1411, + "id": 4746, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1058, - "src": "363:22:9", + "referencedDeclaration": 4372, + "src": "363:22:53", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, - "id": 1414, + "id": 4749, "isConstant": false, "isLValue": false, "isPure": false, @@ -820,20 +843,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "363:38:9", + "src": "363:38:53", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1415, + "id": 4750, "nodeType": "ExpressionStatement", - "src": "363:38:9" + "src": "363:38:53" } ] }, "documentation": null, - "id": 1417, + "id": 4752, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -843,14 +866,14 @@ { "argumentTypes": null, "hexValue": "4d696e7461626c65455243373231546f6b656e", - "id": 1399, + "id": 4734, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "284:21:9", + "src": "284:21:53", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e9ad610c86cd9b7d12ef627f57a34dd2ac1eb58fd33a491d696446d1dd3c56c0", @@ -861,14 +884,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 1400, + "id": 4735, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "307:7:9", + "src": "307:7:53", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -877,37 +900,37 @@ "value": "1.9.0" } ], - "id": 1401, + "id": 4736, "modifierName": { "argumentTypes": null, - "id": 1398, + "id": 4733, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1476, - "src": "270:13:9", + "referencedDeclaration": 4811, + "src": "270:13:53", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "270:45:9" + "src": "270:45:53" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 1397, + "id": 4732, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1392, + "id": 4727, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 1417, - "src": "223:15:9", + "scope": 4752, + "src": "223:15:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -915,10 +938,10 @@ "typeString": "address" }, "typeName": { - "id": 1391, + "id": 4726, "name": "address", "nodeType": "ElementaryTypeName", - "src": "223:7:9", + "src": "223:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -929,11 +952,11 @@ }, { "constant": false, - "id": 1394, + "id": 4729, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 1417, - "src": "240:12:9", + "scope": 4752, + "src": "240:12:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -941,10 +964,10 @@ "typeString": "string" }, "typeName": { - "id": 1393, + "id": 4728, "name": "string", "nodeType": "ElementaryTypeName", - "src": "240:6:9", + "src": "240:6:53", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -955,11 +978,11 @@ }, { "constant": false, - "id": 1396, + "id": 4731, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 1417, - "src": "254:14:9", + "scope": 4752, + "src": "254:14:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -967,10 +990,10 @@ "typeString": "string" }, "typeName": { - "id": 1395, + "id": 4730, "name": "string", "nodeType": "ElementaryTypeName", - "src": "254:6:9", + "src": "254:6:53", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -980,26 +1003,26 @@ "visibility": "internal" } ], - "src": "222:47:9" + "src": "222:47:53" }, "payable": false, "returnParameters": { - "id": 1402, + "id": 4737, "nodeType": "ParameterList", "parameters": [], - "src": "324:0:9" + "src": "324:0:53" }, - "scope": 1433, - "src": "203:203:9", + "scope": 4768, + "src": "203:203:53", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1431, + "id": 4766, "nodeType": "Block", - "src": "472:31:9", + "src": "472:31:53", "statements": [ { "expression": { @@ -1007,12 +1030,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1427, + "id": 4762, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1419, - "src": "484:3:9", + "referencedDeclaration": 4754, + "src": "484:3:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1020,12 +1043,12 @@ }, { "argumentTypes": null, - "id": 1428, + "id": 4763, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1421, - "src": "489:8:9", + "referencedDeclaration": 4756, + "src": "489:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1043,20 +1066,20 @@ "typeString": "uint256" } ], - "id": 1426, + "id": 4761, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [ - 1300 + 4635 ], - "referencedDeclaration": 1300, - "src": "478:5:9", + "referencedDeclaration": 4635, + "src": "478:5:53", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1429, + "id": 4764, "isConstant": false, "isLValue": false, "isPure": false, @@ -1064,57 +1087,57 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "478:20:9", + "src": "478:20:53", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1430, + "id": 4765, "nodeType": "ExpressionStatement", - "src": "478:20:9" + "src": "478:20:53" } ] }, "documentation": null, - "id": 1432, + "id": 4767, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 1424, + "id": 4759, "modifierName": { "argumentTypes": null, - "id": 1423, + "id": 4758, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "455:9:9", + "referencedDeclaration": 1602, + "src": "455:9:53", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "455:9:9" + "src": "455:9:53" } ], "name": "mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 1422, + "id": 4757, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1419, + "id": 4754, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1432, - "src": "424:11:9", + "scope": 4767, + "src": "424:11:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1122,10 +1145,10 @@ "typeString": "address" }, "typeName": { - "id": 1418, + "id": 4753, "name": "address", "nodeType": "ElementaryTypeName", - "src": "424:7:9", + "src": "424:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1136,11 +1159,11 @@ }, { "constant": false, - "id": 1421, + "id": 4756, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 1432, - "src": "437:16:9", + "scope": 4767, + "src": "437:16:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1148,10 +1171,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1420, + "id": 4755, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "437:7:9", + "src": "437:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1161,40 +1184,40 @@ "visibility": "internal" } ], - "src": "423:31:9" + "src": "423:31:53" }, "payable": false, "returnParameters": { - "id": 1425, + "id": 4760, "nodeType": "ParameterList", "parameters": [], - "src": "472:0:9" + "src": "472:0:53" }, - "scope": 1433, - "src": "410:93:9", + "scope": 4768, + "src": "410:93:53", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1434, - "src": "134:371:9" + "scope": 4769, + "src": "134:371:53" } ], - "src": "0:506:9" + "src": "0:506:53" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/MintableERC721Token.sol", "exportedSymbols": { "MintableERC721Token": [ - 1433 + 4768 ] }, - "id": 1434, + "id": 4769, "nodeType": "SourceUnit", "nodes": [ { - "id": 1382, + "id": 4717, "literals": [ "solidity", "^", @@ -1202,27 +1225,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:9" + "src": "0:24:53" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC721/ERC721Token.sol", "file": "./ERC721Token.sol", - "id": 1383, + "id": 4718, "nodeType": "ImportDirective", - "scope": 1434, - "sourceUnit": 1381, - "src": "26:27:9", + "scope": 4769, + "sourceUnit": 4716, + "src": "26:27:53", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/Ownable.sol", "file": "../../ownership/Ownable.sol", - "id": 1384, + "id": 4719, "nodeType": "ImportDirective", - "scope": 1434, - "sourceUnit": 243, - "src": "54:37:9", + "scope": 4769, + "sourceUnit": 1629, + "src": "54:37:53", "symbolAliases": [], "unitAlias": "" }, @@ -1232,90 +1255,94 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1385, + "id": 4720, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1529, - "src": "166:10:9", + "referencedDeclaration": 4864, + "src": "166:10:53", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$1529", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 1386, + "id": 4721, "nodeType": "InheritanceSpecifier", - "src": "166:10:9" + "src": "166:10:53" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 1387, + "id": 4722, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 242, - "src": "178:7:9", + "referencedDeclaration": 1628, + "src": "178:7:53", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$242", + "typeIdentifier": "t_contract$_Ownable_$1628", "typeString": "contract Ownable" } }, - "id": 1388, + "id": 4723, "nodeType": "InheritanceSpecifier", - "src": "178:7:9" + "src": "178:7:53" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 1389, + "id": 4724, "name": "ERC721Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1380, - "src": "187:11:9", + "referencedDeclaration": 4715, + "src": "187:11:53", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Token_$1380", + "typeIdentifier": "t_contract$_ERC721Token_$4715", "typeString": "contract ERC721Token" } }, - "id": 1390, + "id": 4725, "nodeType": "InheritanceSpecifier", - "src": "187:11:9" + "src": "187:11:53" } ], "contractDependencies": [ - 242, - 269, - 289, - 296, - 403, - 986, - 1380, - 1529 + 303, + 336, + 1628, + 3537, + 3557, + 3564, + 3674, + 4267, + 4715, + 4864 ], "contractKind": "contract", "documentation": "@title Mintable ERC721 Token", "fullyImplemented": true, - "id": 1433, + "id": 4768, "linearizedBaseContracts": [ - 1433, - 1380, - 986, - 296, - 289, - 269, - 403, - 242, - 1529 + 4768, + 4715, + 3564, + 3557, + 3537, + 4267, + 3674, + 336, + 303, + 1628, + 4864 ], "name": "MintableERC721Token", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1416, + "id": 4751, "nodeType": "Block", - "src": "324:82:9", + "src": "324:82:53", "statements": [ { "expression": { @@ -1323,12 +1350,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1406, + "id": 4741, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1392, - "src": "349:7:9", + "referencedDeclaration": 4727, + "src": "349:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1344,32 +1371,32 @@ ], "expression": { "argumentTypes": null, - "id": 1403, + "id": 4738, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 242, - "src": "330:7:9", + "referencedDeclaration": 1628, + "src": "330:7:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Ownable_$242_$", + "typeIdentifier": "t_type$_t_contract$_Ownable_$1628_$", "typeString": "type(contract Ownable)" } }, - "id": 1405, + "id": 4740, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 205, - "src": "330:18:9", + "referencedDeclaration": 1591, + "src": "330:18:53", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1407, + "id": 4742, "isConstant": false, "isLValue": false, "isPure": false, @@ -1377,15 +1404,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "330:27:9", + "src": "330:27:53", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1408, + "id": 4743, "nodeType": "ExpressionStatement", - "src": "330:27:9" + "src": "330:27:53" }, { "expression": { @@ -1393,12 +1420,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1412, + "id": 4747, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1394, - "src": "386:5:9", + "referencedDeclaration": 4729, + "src": "386:5:53", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1406,12 +1433,12 @@ }, { "argumentTypes": null, - "id": 1413, + "id": 4748, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1396, - "src": "393:7:9", + "referencedDeclaration": 4731, + "src": "393:7:53", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1431,32 +1458,32 @@ ], "expression": { "argumentTypes": null, - "id": 1409, + "id": 4744, "name": "ERC721Token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "363:11:9", + "referencedDeclaration": 4715, + "src": "363:11:53", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Token_$1380_$", + "typeIdentifier": "t_type$_t_contract$_ERC721Token_$4715_$", "typeString": "type(contract ERC721Token)" } }, - "id": 1411, + "id": 4746, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1058, - "src": "363:22:9", + "referencedDeclaration": 4372, + "src": "363:22:53", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, - "id": 1414, + "id": 4749, "isConstant": false, "isLValue": false, "isPure": false, @@ -1464,20 +1491,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "363:38:9", + "src": "363:38:53", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1415, + "id": 4750, "nodeType": "ExpressionStatement", - "src": "363:38:9" + "src": "363:38:53" } ] }, "documentation": null, - "id": 1417, + "id": 4752, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1487,14 +1514,14 @@ { "argumentTypes": null, "hexValue": "4d696e7461626c65455243373231546f6b656e", - "id": 1399, + "id": 4734, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "284:21:9", + "src": "284:21:53", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e9ad610c86cd9b7d12ef627f57a34dd2ac1eb58fd33a491d696446d1dd3c56c0", @@ -1505,14 +1532,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 1400, + "id": 4735, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "307:7:9", + "src": "307:7:53", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -1521,37 +1548,37 @@ "value": "1.9.0" } ], - "id": 1401, + "id": 4736, "modifierName": { "argumentTypes": null, - "id": 1398, + "id": 4733, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1476, - "src": "270:13:9", + "referencedDeclaration": 4811, + "src": "270:13:53", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "270:45:9" + "src": "270:45:53" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 1397, + "id": 4732, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1392, + "id": 4727, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 1417, - "src": "223:15:9", + "scope": 4752, + "src": "223:15:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1559,10 +1586,10 @@ "typeString": "address" }, "typeName": { - "id": 1391, + "id": 4726, "name": "address", "nodeType": "ElementaryTypeName", - "src": "223:7:9", + "src": "223:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1573,11 +1600,11 @@ }, { "constant": false, - "id": 1394, + "id": 4729, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 1417, - "src": "240:12:9", + "scope": 4752, + "src": "240:12:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1585,10 +1612,10 @@ "typeString": "string" }, "typeName": { - "id": 1393, + "id": 4728, "name": "string", "nodeType": "ElementaryTypeName", - "src": "240:6:9", + "src": "240:6:53", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1599,11 +1626,11 @@ }, { "constant": false, - "id": 1396, + "id": 4731, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 1417, - "src": "254:14:9", + "scope": 4752, + "src": "254:14:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1611,10 +1638,10 @@ "typeString": "string" }, "typeName": { - "id": 1395, + "id": 4730, "name": "string", "nodeType": "ElementaryTypeName", - "src": "254:6:9", + "src": "254:6:53", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1624,26 +1651,26 @@ "visibility": "internal" } ], - "src": "222:47:9" + "src": "222:47:53" }, "payable": false, "returnParameters": { - "id": 1402, + "id": 4737, "nodeType": "ParameterList", "parameters": [], - "src": "324:0:9" + "src": "324:0:53" }, - "scope": 1433, - "src": "203:203:9", + "scope": 4768, + "src": "203:203:53", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1431, + "id": 4766, "nodeType": "Block", - "src": "472:31:9", + "src": "472:31:53", "statements": [ { "expression": { @@ -1651,12 +1678,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1427, + "id": 4762, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1419, - "src": "484:3:9", + "referencedDeclaration": 4754, + "src": "484:3:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1664,12 +1691,12 @@ }, { "argumentTypes": null, - "id": 1428, + "id": 4763, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1421, - "src": "489:8:9", + "referencedDeclaration": 4756, + "src": "489:8:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1687,20 +1714,20 @@ "typeString": "uint256" } ], - "id": 1426, + "id": 4761, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [ - 1300 + 4635 ], - "referencedDeclaration": 1300, - "src": "478:5:9", + "referencedDeclaration": 4635, + "src": "478:5:53", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1429, + "id": 4764, "isConstant": false, "isLValue": false, "isPure": false, @@ -1708,57 +1735,57 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "478:20:9", + "src": "478:20:53", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1430, + "id": 4765, "nodeType": "ExpressionStatement", - "src": "478:20:9" + "src": "478:20:53" } ] }, "documentation": null, - "id": 1432, + "id": 4767, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 1424, + "id": 4759, "modifierName": { "argumentTypes": null, - "id": 1423, + "id": 4758, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "455:9:9", + "referencedDeclaration": 1602, + "src": "455:9:53", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "455:9:9" + "src": "455:9:53" } ], "name": "mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 1422, + "id": 4757, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1419, + "id": 4754, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1432, - "src": "424:11:9", + "scope": 4767, + "src": "424:11:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1766,10 +1793,10 @@ "typeString": "address" }, "typeName": { - "id": 1418, + "id": 4753, "name": "address", "nodeType": "ElementaryTypeName", - "src": "424:7:9", + "src": "424:7:53", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1780,11 +1807,11 @@ }, { "constant": false, - "id": 1421, + "id": 4756, "name": "_tokenId", "nodeType": "VariableDeclaration", - "scope": 1432, - "src": "437:16:9", + "scope": 4767, + "src": "437:16:53", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1792,10 +1819,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1420, + "id": 4755, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "437:7:9", + "src": "437:7:53", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1805,27 +1832,27 @@ "visibility": "internal" } ], - "src": "423:31:9" + "src": "423:31:53" }, "payable": false, "returnParameters": { - "id": 1425, + "id": 4760, "nodeType": "ParameterList", "parameters": [], - "src": "472:0:9" + "src": "472:0:53" }, - "scope": 1433, - "src": "410:93:9", + "scope": 4768, + "src": "410:93:53", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1434, - "src": "134:371:9" + "scope": 4769, + "src": "134:371:53" } ], - "src": "0:506:9" + "src": "0:506:53" }, "compiler": { "name": "solc", @@ -1833,5 +1860,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-08-23T17:26:04.155Z" + "updatedAt": "2018-08-27T20:45:00.223Z" } \ No newline at end of file diff --git a/build/contracts/MintableToken.json b/build/contracts/MintableToken.json index ea0e103bf..9a3e592df 100644 --- a/build/contracts/MintableToken.json +++ b/build/contracts/MintableToken.json @@ -394,24 +394,24 @@ "type": "function" } ], - "bytecode": "0x60806040526000600560006101000a81548160ff02191690831515021790555034801561002b57600080fd5b50611d668061003b6000396000f3006080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100e0578063095ea7b31461010f57806318160ddd1461017457806323b872dd1461019f57806340c10f1914610224578063661884631461028957806370a08231146102ee5780637d64bcb4146103455780638da5cb5b14610374578063a9059cbb146103cb578063c0bac1a814610430578063c4d66de8146104f7578063d73dd6231461053a578063dd62ed3e1461059f578063f2fde38b14610616575b600080fd5b3480156100ec57600080fd5b506100f5610659565b604051808215151515815260200191505060405180910390f35b34801561011b57600080fd5b5061015a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061066c565b604051808215151515815260200191505060405180910390f35b34801561018057600080fd5b5061018961075e565b6040518082815260200191505060405180910390f35b3480156101ab57600080fd5b5061020a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610768565b604051808215151515815260200191505060405180910390f35b34801561023057600080fd5b5061026f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b27565b604051808215151515815260200191505060405180910390f35b34801561029557600080fd5b506102d4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d0f565b604051808215151515815260200191505060405180910390f35b3480156102fa57600080fd5b5061032f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fa0565b6040518082815260200191505060405180910390f35b34801561035157600080fd5b5061035a610fe9565b604051808215151515815260200191505060405180910390f35b34801561038057600080fd5b506103896110b1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103d757600080fd5b50610416600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110d7565b604051808215151515815260200191505060405180910390f35b34801561043c57600080fd5b506104dd600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506112fb565b604051808215151515815260200191505060405180910390f35b34801561050357600080fd5b50610538600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113e6565b005b34801561054657600080fd5b50610585600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061166c565b604051808215151515815260200191505060405180910390f35b3480156105ab57600080fd5b50610600600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611868565b6040518082815260200191505060405180910390f35b34801561062257600080fd5b50610657600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118ef565b005b600560009054906101000a900460ff1681565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600354905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156107a557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156107f357600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561087e57600080fd5b6108d082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061096582600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6090919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a3782600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8557600080fd5b600560009054906101000a900460ff16151515610ba157600080fd5b610bb682600354611a6090919063ffffffff16565b600381905550610c0e82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6090919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610e20576000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610eb4565b610e338382611a4790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561104757600080fd5b600560009054906101000a900460ff1615151561106357600080fd5b6001600560006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561111457600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561116257600080fd5b6111b482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061124982600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6090919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b602083101515611334578051825260208201915060208101905060208303925061130f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561139d5780518252602082019150602081019050602083039250611378565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f4d696e7461626c65546f6b656e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061145c82826112fb565b15151561146857600080fd5b61147183611a7c565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156114d85780820151818401526020810190506114bd565b50505050905090810190601f1680156115055780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561153e578082015181840152602081019050611523565b50505050905090810190601f16801561156b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156115b4578051825260208201915060208101905060208303925061158f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561161d57805182526020820191506020810190506020830392506115f8565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60006116fd82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6090919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561194b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561198757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211151515611a5557fe5b818303905092915050565b60008183019050828110151515611a7357fe5b80905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611af282826112fb565b151515611afe57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ba6578082015181840152602081019050611b8b565b50505050905090810190601f168015611bd35780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611c0c578082015181840152602081019050611bf1565b50505050905090810190601f168015611c395780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611c825780518252602082019150602081019050602083039250611c5d565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ceb5780518252602082019150602081019050602083039250611cc6565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a723058201e5368751ea6bf6527313429e626cc99f2770932ad84ed688ae420a3578c96c70029", - "deployedBytecode": "0x6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100e0578063095ea7b31461010f57806318160ddd1461017457806323b872dd1461019f57806340c10f1914610224578063661884631461028957806370a08231146102ee5780637d64bcb4146103455780638da5cb5b14610374578063a9059cbb146103cb578063c0bac1a814610430578063c4d66de8146104f7578063d73dd6231461053a578063dd62ed3e1461059f578063f2fde38b14610616575b600080fd5b3480156100ec57600080fd5b506100f5610659565b604051808215151515815260200191505060405180910390f35b34801561011b57600080fd5b5061015a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061066c565b604051808215151515815260200191505060405180910390f35b34801561018057600080fd5b5061018961075e565b6040518082815260200191505060405180910390f35b3480156101ab57600080fd5b5061020a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610768565b604051808215151515815260200191505060405180910390f35b34801561023057600080fd5b5061026f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b27565b604051808215151515815260200191505060405180910390f35b34801561029557600080fd5b506102d4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d0f565b604051808215151515815260200191505060405180910390f35b3480156102fa57600080fd5b5061032f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fa0565b6040518082815260200191505060405180910390f35b34801561035157600080fd5b5061035a610fe9565b604051808215151515815260200191505060405180910390f35b34801561038057600080fd5b506103896110b1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103d757600080fd5b50610416600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110d7565b604051808215151515815260200191505060405180910390f35b34801561043c57600080fd5b506104dd600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506112fb565b604051808215151515815260200191505060405180910390f35b34801561050357600080fd5b50610538600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113e6565b005b34801561054657600080fd5b50610585600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061166c565b604051808215151515815260200191505060405180910390f35b3480156105ab57600080fd5b50610600600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611868565b6040518082815260200191505060405180910390f35b34801561062257600080fd5b50610657600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118ef565b005b600560009054906101000a900460ff1681565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600354905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156107a557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156107f357600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561087e57600080fd5b6108d082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061096582600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6090919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a3782600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8557600080fd5b600560009054906101000a900460ff16151515610ba157600080fd5b610bb682600354611a6090919063ffffffff16565b600381905550610c0e82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6090919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610e20576000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610eb4565b610e338382611a4790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561104757600080fd5b600560009054906101000a900460ff1615151561106357600080fd5b6001600560006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561111457600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561116257600080fd5b6111b482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061124982600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6090919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b602083101515611334578051825260208201915060208101905060208303925061130f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561139d5780518252602082019150602081019050602083039250611378565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f4d696e7461626c65546f6b656e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061145c82826112fb565b15151561146857600080fd5b61147183611a7c565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156114d85780820151818401526020810190506114bd565b50505050905090810190601f1680156115055780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561153e578082015181840152602081019050611523565b50505050905090810190601f16801561156b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156115b4578051825260208201915060208101905060208303925061158f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561161d57805182526020820191506020810190506020830392506115f8565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60006116fd82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6090919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561194b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561198757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211151515611a5557fe5b818303905092915050565b60008183019050828110151515611a7357fe5b80905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611af282826112fb565b151515611afe57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ba6578082015181840152602081019050611b8b565b50505050905090810190601f168015611bd35780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611c0c578082015181840152602081019050611bf1565b50505050905090810190601f168015611c395780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611c825780518252602082019150602081019050602083039250611c5d565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ceb5780518252602082019150602081019050602083039250611cc6565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a723058201e5368751ea6bf6527313429e626cc99f2770932ad84ed688ae420a3578c96c70029", - "sourceMap": "444:1136:38:-;;;614:5;584:35;;;;;;;;;;;;;;;;;;;;444:1136;8:9:-1;5:2;;;30:1;27;20:12;5:2;444:1136:38;;;;;;;", - "deployedSourceMap": "444:1136:38:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;584:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;584:35:38;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:31;;;;;;;;;;;;;;;;;;;;;;;736:444:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:274:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1050:274:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3617:403:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1438:140:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1438:140:38;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:25;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;691:123:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;691:123:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;584:35:38;;;;;;;;;;;;;:::o;1803:188:42:-;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;371:83:31:-;415:7;437:12;;430:19;;371:83;:::o;736:444:42:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;1050:274:38:-;1128:4;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;659:15:38;;;;;;;;;;;658:16;650:25;;;;;;;;1155;1172:7;1155:12;;:16;;:25;;;;:::i;:::-;1140:12;:40;;;;1202:26;1220:7;1202:8;:13;1211:3;1202:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;1186:8;:13;1195:3;1186:13;;;;;;;;;;;;;;;:42;;;;1244:3;1239:18;;;1249:7;1239:18;;;;;;;;;;;;;;;;;;1289:3;1268:34;;1285:1;1268:34;;;1294:7;1268:34;;;;;;;;;;;;;;;;;;1315:4;1308:11;;1050:274;;;;:::o;3617:403:42:-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:31:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;1438:140:38:-;1497:4;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;659:15:38;;;;;;;;;;;658:16;650:25;;;;;;;;1527:4;1509:15;;:22;;;;;;;;;;;;;;;;;;1542:14;;;;;;;;;;1569:4;1562:11;;1438:140;:::o;307:20:25:-;;;;;;;;;;;;;:::o;608:321:31:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;691:123:38:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;782:27:38;801:7;782:18;:27::i;:::-;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;691:123:38;;;:::o;2893:262:42:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;949:174:25:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;537:104:25:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:25;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:25;;;:::o", + "bytecode": "0x60806040526000600560006101000a81548160ff02191690831515021790555034801561002b57600080fd5b50611d668061003b6000396000f3006080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100e0578063095ea7b31461010f57806318160ddd1461017457806323b872dd1461019f57806340c10f1914610224578063661884631461028957806370a08231146102ee5780637d64bcb4146103455780638da5cb5b14610374578063a9059cbb146103cb578063c0bac1a814610430578063c4d66de8146104f7578063d73dd6231461053a578063dd62ed3e1461059f578063f2fde38b14610616575b600080fd5b3480156100ec57600080fd5b506100f5610659565b604051808215151515815260200191505060405180910390f35b34801561011b57600080fd5b5061015a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061066c565b604051808215151515815260200191505060405180910390f35b34801561018057600080fd5b5061018961075e565b6040518082815260200191505060405180910390f35b3480156101ab57600080fd5b5061020a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610768565b604051808215151515815260200191505060405180910390f35b34801561023057600080fd5b5061026f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b27565b604051808215151515815260200191505060405180910390f35b34801561029557600080fd5b506102d4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d0f565b604051808215151515815260200191505060405180910390f35b3480156102fa57600080fd5b5061032f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fa0565b6040518082815260200191505060405180910390f35b34801561035157600080fd5b5061035a610fe9565b604051808215151515815260200191505060405180910390f35b34801561038057600080fd5b506103896110b1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103d757600080fd5b50610416600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110d7565b604051808215151515815260200191505060405180910390f35b34801561043c57600080fd5b506104dd600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506112fb565b604051808215151515815260200191505060405180910390f35b34801561050357600080fd5b50610538600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113e6565b005b34801561054657600080fd5b50610585600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061166c565b604051808215151515815260200191505060405180910390f35b3480156105ab57600080fd5b50610600600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611868565b6040518082815260200191505060405180910390f35b34801561062257600080fd5b50610657600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118ef565b005b600560009054906101000a900460ff1681565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600354905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156107a557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156107f357600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561087e57600080fd5b6108d082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061096582600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6090919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a3782600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8557600080fd5b600560009054906101000a900460ff16151515610ba157600080fd5b610bb682600354611a6090919063ffffffff16565b600381905550610c0e82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6090919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610e20576000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610eb4565b610e338382611a4790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561104757600080fd5b600560009054906101000a900460ff1615151561106357600080fd5b6001600560006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561111457600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561116257600080fd5b6111b482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061124982600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6090919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b602083101515611334578051825260208201915060208101905060208303925061130f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561139d5780518252602082019150602081019050602083039250611378565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f4d696e7461626c65546f6b656e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061145c82826112fb565b15151561146857600080fd5b61147183611a7c565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156114d85780820151818401526020810190506114bd565b50505050905090810190601f1680156115055780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561153e578082015181840152602081019050611523565b50505050905090810190601f16801561156b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156115b4578051825260208201915060208101905060208303925061158f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561161d57805182526020820191506020810190506020830392506115f8565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60006116fd82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6090919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561194b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561198757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211151515611a5557fe5b818303905092915050565b60008183019050828110151515611a7357fe5b80905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611af282826112fb565b151515611afe57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ba6578082015181840152602081019050611b8b565b50505050905090810190601f168015611bd35780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611c0c578082015181840152602081019050611bf1565b50505050905090810190601f168015611c395780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611c825780518252602082019150602081019050602083039250611c5d565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ceb5780518252602082019150602081019050602083039250611cc6565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a72305820d551115061a582a39f679f7227e0ea72cf464d8f17ae3757547b7cc46b29aa9f0029", + "deployedBytecode": "0x6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100e0578063095ea7b31461010f57806318160ddd1461017457806323b872dd1461019f57806340c10f1914610224578063661884631461028957806370a08231146102ee5780637d64bcb4146103455780638da5cb5b14610374578063a9059cbb146103cb578063c0bac1a814610430578063c4d66de8146104f7578063d73dd6231461053a578063dd62ed3e1461059f578063f2fde38b14610616575b600080fd5b3480156100ec57600080fd5b506100f5610659565b604051808215151515815260200191505060405180910390f35b34801561011b57600080fd5b5061015a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061066c565b604051808215151515815260200191505060405180910390f35b34801561018057600080fd5b5061018961075e565b6040518082815260200191505060405180910390f35b3480156101ab57600080fd5b5061020a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610768565b604051808215151515815260200191505060405180910390f35b34801561023057600080fd5b5061026f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b27565b604051808215151515815260200191505060405180910390f35b34801561029557600080fd5b506102d4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d0f565b604051808215151515815260200191505060405180910390f35b3480156102fa57600080fd5b5061032f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fa0565b6040518082815260200191505060405180910390f35b34801561035157600080fd5b5061035a610fe9565b604051808215151515815260200191505060405180910390f35b34801561038057600080fd5b506103896110b1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103d757600080fd5b50610416600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110d7565b604051808215151515815260200191505060405180910390f35b34801561043c57600080fd5b506104dd600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506112fb565b604051808215151515815260200191505060405180910390f35b34801561050357600080fd5b50610538600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113e6565b005b34801561054657600080fd5b50610585600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061166c565b604051808215151515815260200191505060405180910390f35b3480156105ab57600080fd5b50610600600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611868565b6040518082815260200191505060405180910390f35b34801561062257600080fd5b50610657600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118ef565b005b600560009054906101000a900460ff1681565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600354905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156107a557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156107f357600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561087e57600080fd5b6108d082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061096582600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6090919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a3782600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8557600080fd5b600560009054906101000a900460ff16151515610ba157600080fd5b610bb682600354611a6090919063ffffffff16565b600381905550610c0e82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6090919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610e20576000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610eb4565b610e338382611a4790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561104757600080fd5b600560009054906101000a900460ff1615151561106357600080fd5b6001600560006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561111457600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561116257600080fd5b6111b482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061124982600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6090919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b602083101515611334578051825260208201915060208101905060208303925061130f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561139d5780518252602082019150602081019050602083039250611378565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f4d696e7461626c65546f6b656e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061145c82826112fb565b15151561146857600080fd5b61147183611a7c565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156114d85780820151818401526020810190506114bd565b50505050905090810190601f1680156115055780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561153e578082015181840152602081019050611523565b50505050905090810190601f16801561156b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156115b4578051825260208201915060208101905060208303925061158f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561161d57805182526020820191506020810190506020830392506115f8565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60006116fd82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6090919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561194b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561198757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211151515611a5557fe5b818303905092915050565b60008183019050828110151515611a7357fe5b80905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611af282826112fb565b151515611afe57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ba6578082015181840152602081019050611b8b565b50505050905090810190601f168015611bd35780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611c0c578082015181840152602081019050611bf1565b50505050905090810190601f168015611c395780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611c825780518252602082019150602081019050602083039250611c5d565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ceb5780518252602082019150602081019050602083039250611cc6565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a72305820d551115061a582a39f679f7227e0ea72cf464d8f17ae3757547b7cc46b29aa9f0029", + "sourceMap": "444:1136:40:-;;;614:5;584:35;;;;;;;;;;;;;;;;;;;;444:1136;8:9:-1;5:2;;;30:1;27;20:12;5:2;444:1136:40;;;;;;;", + "deployedSourceMap": "444:1136:40:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;584:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;584:35:40;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:33;;;;;;;;;;;;;;;;;;;;;;;736:444:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:274:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1050:274:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3617:403:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1438:140:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1438:140:40;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:27;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;691:123:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;691:123:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;584:35:40;;;;;;;;;;;;;:::o;1803:188:44:-;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;371:83:33:-;415:7;437:12;;430:19;;371:83;:::o;736:444:44:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;1050:274:40:-;1128:4;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;659:15:40;;;;;;;;;;;658:16;650:25;;;;;;;;1155;1172:7;1155:12;;:16;;:25;;;;:::i;:::-;1140:12;:40;;;;1202:26;1220:7;1202:8;:13;1211:3;1202:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;1186:8;:13;1195:3;1186:13;;;;;;;;;;;;;;;:42;;;;1244:3;1239:18;;;1249:7;1239:18;;;;;;;;;;;;;;;;;;1289:3;1268:34;;1285:1;1268:34;;;1294:7;1268:34;;;;;;;;;;;;;;;;;;1315:4;1308:11;;1050:274;;;;:::o;3617:403:44:-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:33:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;1438:140:40:-;1497:4;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;659:15:40;;;;;;;;;;;658:16;650:25;;;;;;;;1527:4;1509:15;;:22;;;;;;;;;;;;;;;;;;1542:14;;;;;;;;;;1569:4;1562:11;;1438:140;:::o;307:20:27:-;;;;;;;;;;;;;:::o;608:321:33:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;691:123:40:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;782:27:40;801:7;782:18;:27::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;691:123:40;;;:::o;2893:262:44:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;949:174:27:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;537:104:27:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:27;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:27;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"./StandardToken.sol\";\nimport \"../../ownership/Ownable.sol\";\nimport \"zos-lib/contracts/migrations/Migratable.sol\";\n\n\n/**\n * @title Mintable token\n * @dev Simple ERC20 Token example, with mintable token creation\n * @dev Issue: * https://github.com/OpenZeppelin/openzeppelin-solidity/issues/120\n * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol\n */\ncontract MintableToken is Migratable, Ownable, StandardToken {\n event Mint(address indexed to, uint256 amount);\n event MintFinished();\n\n bool public mintingFinished = false;\n\n\n modifier canMint() {\n require(!mintingFinished);\n _;\n }\n\n function initialize(address _sender) isInitializer(\"MintableToken\", \"1.9.0\") public {\n Ownable.initialize(_sender);\n }\n\n /**\n * @dev Function to mint tokens\n * @param _to The address that will receive the minted tokens.\n * @param _amount The amount of tokens to mint.\n * @return A boolean that indicates if the operation was successful.\n */\n function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) {\n totalSupply_ = totalSupply_.add(_amount);\n balances[_to] = balances[_to].add(_amount);\n emit Mint(_to, _amount);\n emit Transfer(address(0), _to, _amount);\n return true;\n }\n\n /**\n * @dev Function to stop minting new tokens.\n * @return True if the operation was successful.\n */\n function finishMinting() onlyOwner canMint public returns (bool) {\n mintingFinished = true;\n emit MintFinished();\n return true;\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/MintableToken.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/MintableToken.sol", "exportedSymbols": { "MintableToken": [ - 2625 + 2673 ] }, - "id": 2626, + "id": 2674, "nodeType": "SourceUnit", "nodes": [ { - "id": 2513, + "id": 2561, "literals": [ "solidity", "^", @@ -419,38 +419,38 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:38" + "src": "0:24:40" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardToken.sol", "file": "./StandardToken.sol", - "id": 2514, + "id": 2562, "nodeType": "ImportDirective", - "scope": 2626, - "sourceUnit": 3104, - "src": "26:29:38", + "scope": 2674, + "sourceUnit": 3152, + "src": "26:29:40", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/Ownable.sol", "file": "../../ownership/Ownable.sol", - "id": 2515, + "id": 2563, "nodeType": "ImportDirective", - "scope": 2626, - "sourceUnit": 1581, - "src": "56:37:38", + "scope": 2674, + "sourceUnit": 1629, + "src": "56:37:40", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 2516, + "id": 2564, "nodeType": "ImportDirective", - "scope": 2626, - "sourceUnit": 4770, - "src": "94:53:38", + "scope": 2674, + "sourceUnit": 4865, + "src": "94:53:40", "symbolAliases": [], "unitAlias": "" }, @@ -460,77 +460,77 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2517, + "id": 2565, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "470:10:38", + "referencedDeclaration": 4864, + "src": "470:10:40", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 2518, + "id": 2566, "nodeType": "InheritanceSpecifier", - "src": "470:10:38" + "src": "470:10:40" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2519, + "id": 2567, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1580, - "src": "482:7:38", + "referencedDeclaration": 1628, + "src": "482:7:40", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$1580", + "typeIdentifier": "t_contract$_Ownable_$1628", "typeString": "contract Ownable" } }, - "id": 2520, + "id": 2568, "nodeType": "InheritanceSpecifier", - "src": "482:7:38" + "src": "482:7:40" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2521, + "id": 2569, "name": "StandardToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3103, - "src": "491:13:38", + "referencedDeclaration": 3151, + "src": "491:13:40", "typeDescriptions": { - "typeIdentifier": "t_contract$_StandardToken_$3103", + "typeIdentifier": "t_contract$_StandardToken_$3151", "typeString": "contract StandardToken" } }, - "id": 2522, + "id": 2570, "nodeType": "InheritanceSpecifier", - "src": "491:13:38" + "src": "491:13:40" } ], "contractDependencies": [ - 1580, - 2215, - 2479, - 2511, - 3103, - 4769 + 1628, + 2263, + 2527, + 2559, + 3151, + 4864 ], "contractKind": "contract", "documentation": "@title Mintable token\n@dev Simple ERC20 Token example, with mintable token creation\n@dev Issue: * https://github.com/OpenZeppelin/openzeppelin-solidity/issues/120\nBased on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol", "fullyImplemented": true, - "id": 2625, + "id": 2673, "linearizedBaseContracts": [ - 2625, - 3103, - 2215, - 2479, - 2511, - 1580, - 4769 + 2673, + 3151, + 2263, + 2527, + 2559, + 1628, + 4864 ], "name": "MintableToken", "nodeType": "ContractDefinition", @@ -538,21 +538,21 @@ { "anonymous": false, "documentation": null, - "id": 2528, + "id": 2576, "name": "Mint", "nodeType": "EventDefinition", "parameters": { - "id": 2527, + "id": 2575, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2524, + "id": 2572, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 2528, - "src": "520:18:38", + "scope": 2576, + "src": "520:18:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -560,10 +560,10 @@ "typeString": "address" }, "typeName": { - "id": 2523, + "id": 2571, "name": "address", "nodeType": "ElementaryTypeName", - "src": "520:7:38", + "src": "520:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -574,12 +574,12 @@ }, { "constant": false, - "id": 2526, + "id": 2574, "indexed": false, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 2528, - "src": "540:14:38", + "scope": 2576, + "src": "540:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -587,10 +587,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2525, + "id": 2573, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "540:7:38", + "src": "540:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -600,31 +600,31 @@ "visibility": "internal" } ], - "src": "519:36:38" + "src": "519:36:40" }, - "src": "509:47:38" + "src": "509:47:40" }, { "anonymous": false, "documentation": null, - "id": 2530, + "id": 2578, "name": "MintFinished", "nodeType": "EventDefinition", "parameters": { - "id": 2529, + "id": 2577, "nodeType": "ParameterList", "parameters": [], - "src": "577:2:38" + "src": "577:2:40" }, - "src": "559:21:38" + "src": "559:21:40" }, { "constant": false, - "id": 2533, + "id": 2581, "name": "mintingFinished", "nodeType": "VariableDeclaration", - "scope": 2625, - "src": "584:35:38", + "scope": 2673, + "src": "584:35:40", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -632,10 +632,10 @@ "typeString": "bool" }, "typeName": { - "id": 2531, + "id": 2579, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "584:4:38", + "src": "584:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -644,14 +644,14 @@ "value": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 2532, + "id": 2580, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "614:5:38", + "src": "614:5:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -663,9 +663,9 @@ }, { "body": { - "id": 2541, + "id": 2589, "nodeType": "Block", - "src": "644:43:38", + "src": "644:43:40", "statements": [ { "expression": { @@ -673,7 +673,7 @@ "arguments": [ { "argumentTypes": null, - "id": 2537, + "id": 2585, "isConstant": false, "isLValue": false, "isPure": false, @@ -681,15 +681,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "658:16:38", + "src": "658:16:40", "subExpression": { "argumentTypes": null, - "id": 2536, + "id": 2584, "name": "mintingFinished", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2533, - "src": "659:15:38", + "referencedDeclaration": 2581, + "src": "659:15:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -708,21 +708,21 @@ "typeString": "bool" } ], - "id": 2535, + "id": 2583, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "650:7:38", + "referencedDeclaration": 4882, + "src": "650:7:40", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2538, + "id": 2586, "isConstant": false, "isLValue": false, "isPure": false, @@ -730,41 +730,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "650:25:38", + "src": "650:25:40", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2539, + "id": 2587, "nodeType": "ExpressionStatement", - "src": "650:25:38" + "src": "650:25:40" }, { - "id": 2540, + "id": 2588, "nodeType": "PlaceholderStatement", - "src": "681:1:38" + "src": "681:1:40" } ] }, "documentation": null, - "id": 2542, + "id": 2590, "name": "canMint", "nodeType": "ModifierDefinition", "parameters": { - "id": 2534, + "id": 2582, "nodeType": "ParameterList", "parameters": [], - "src": "641:2:38" + "src": "641:2:40" }, - "src": "625:62:38", + "src": "625:62:40", "visibility": "internal" }, { "body": { - "id": 2557, + "id": 2605, "nodeType": "Block", - "src": "776:38:38", + "src": "776:38:40", "statements": [ { "expression": { @@ -772,12 +772,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2554, + "id": 2602, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2544, - "src": "801:7:38", + "referencedDeclaration": 2592, + "src": "801:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -793,32 +793,32 @@ ], "expression": { "argumentTypes": null, - "id": 2551, + "id": 2599, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "782:7:38", + "referencedDeclaration": 1628, + "src": "782:7:40", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Ownable_$1580_$", + "typeIdentifier": "t_type$_t_contract$_Ownable_$1628_$", "typeString": "type(contract Ownable)" } }, - "id": 2553, + "id": 2601, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1543, - "src": "782:18:38", + "referencedDeclaration": 1591, + "src": "782:18:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 2555, + "id": 2603, "isConstant": false, "isLValue": false, "isPure": false, @@ -826,20 +826,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "782:27:38", + "src": "782:27:40", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2556, + "id": 2604, "nodeType": "ExpressionStatement", - "src": "782:27:38" + "src": "782:27:40" } ] }, "documentation": null, - "id": 2558, + "id": 2606, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -849,14 +849,14 @@ { "argumentTypes": null, "hexValue": "4d696e7461626c65546f6b656e", - "id": 2547, + "id": 2595, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "742:15:38", + "src": "742:15:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0381a87e9ba57da29010ea336be13e80f5ac13595ea8b38576d0a120e13dcb57", @@ -867,14 +867,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 2548, + "id": 2596, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "759:7:38", + "src": "759:7:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -883,37 +883,37 @@ "value": "1.9.0" } ], - "id": 2549, + "id": 2597, "modifierName": { "argumentTypes": null, - "id": 2546, + "id": 2594, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "728:13:38", + "referencedDeclaration": 4811, + "src": "728:13:40", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "728:39:38" + "src": "728:39:40" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 2545, + "id": 2593, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2544, + "id": 2592, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 2558, - "src": "711:15:38", + "scope": 2606, + "src": "711:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -921,10 +921,10 @@ "typeString": "address" }, "typeName": { - "id": 2543, + "id": 2591, "name": "address", "nodeType": "ElementaryTypeName", - "src": "711:7:38", + "src": "711:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -934,43 +934,43 @@ "visibility": "internal" } ], - "src": "710:17:38" + "src": "710:17:40" }, "payable": false, "returnParameters": { - "id": 2550, + "id": 2598, "nodeType": "ParameterList", "parameters": [], - "src": "776:0:38" + "src": "776:0:40" }, - "scope": 2625, - "src": "691:123:38", + "scope": 2673, + "src": "691:123:40", "stateMutability": "nonpayable", - "superFunction": 1543, + "superFunction": 1591, "visibility": "public" }, { "body": { - "id": 2604, + "id": 2652, "nodeType": "Block", - "src": "1134:190:38", + "src": "1134:190:40", "statements": [ { "expression": { "argumentTypes": null, - "id": 2576, + "id": 2624, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2571, + "id": 2619, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "1140:12:38", + "referencedDeclaration": 2182, + "src": "1140:12:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -983,12 +983,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2574, + "id": 2622, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2562, - "src": "1172:7:38", + "referencedDeclaration": 2610, + "src": "1172:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1004,32 +1004,32 @@ ], "expression": { "argumentTypes": null, - "id": 2572, + "id": 2620, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "1155:12:38", + "referencedDeclaration": 2182, + "src": "1155:12:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2573, + "id": 2621, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1155:16:38", + "referencedDeclaration": 578, + "src": "1155:16:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2575, + "id": 2623, "isConstant": false, "isLValue": false, "isPure": false, @@ -1037,26 +1037,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1155:25:38", + "src": "1155:25:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1140:40:38", + "src": "1140:40:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2577, + "id": 2625, "nodeType": "ExpressionStatement", - "src": "1140:40:38" + "src": "1140:40:40" }, { "expression": { "argumentTypes": null, - "id": 2587, + "id": 2635, "isConstant": false, "isLValue": false, "isPure": false, @@ -1065,26 +1065,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2578, + "id": 2626, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "1186:8:38", + "referencedDeclaration": 2180, + "src": "1186:8:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2580, + "id": 2628, "indexExpression": { "argumentTypes": null, - "id": 2579, + "id": 2627, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2560, - "src": "1195:3:38", + "referencedDeclaration": 2608, + "src": "1195:3:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1095,7 +1095,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1186:13:38", + "src": "1186:13:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1108,12 +1108,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2585, + "id": 2633, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2562, - "src": "1220:7:38", + "referencedDeclaration": 2610, + "src": "1220:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1131,26 +1131,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2581, + "id": 2629, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "1202:8:38", + "referencedDeclaration": 2180, + "src": "1202:8:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2583, + "id": 2631, "indexExpression": { "argumentTypes": null, - "id": 2582, + "id": 2630, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2560, - "src": "1211:3:38", + "referencedDeclaration": 2608, + "src": "1211:3:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1161,27 +1161,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1202:13:38", + "src": "1202:13:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2584, + "id": 2632, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1202:17:38", + "referencedDeclaration": 578, + "src": "1202:17:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2586, + "id": 2634, "isConstant": false, "isLValue": false, "isPure": false, @@ -1189,21 +1189,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1202:26:38", + "src": "1202:26:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1186:42:38", + "src": "1186:42:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2588, + "id": 2636, "nodeType": "ExpressionStatement", - "src": "1186:42:38" + "src": "1186:42:40" }, { "eventCall": { @@ -1211,12 +1211,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2590, + "id": 2638, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2560, - "src": "1244:3:38", + "referencedDeclaration": 2608, + "src": "1244:3:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1224,12 +1224,12 @@ }, { "argumentTypes": null, - "id": 2591, + "id": 2639, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2562, - "src": "1249:7:38", + "referencedDeclaration": 2610, + "src": "1249:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1247,18 +1247,18 @@ "typeString": "uint256" } ], - "id": 2589, + "id": 2637, "name": "Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2528, - "src": "1239:4:38", + "referencedDeclaration": 2576, + "src": "1239:4:40", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2592, + "id": 2640, "isConstant": false, "isLValue": false, "isPure": false, @@ -1266,15 +1266,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1239:18:38", + "src": "1239:18:40", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2593, + "id": 2641, "nodeType": "EmitStatement", - "src": "1234:23:38" + "src": "1234:23:40" }, { "eventCall": { @@ -1286,14 +1286,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2596, + "id": 2644, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1285:1:38", + "src": "1285:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1309,20 +1309,20 @@ "typeString": "int_const 0" } ], - "id": 2595, + "id": 2643, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1277:7:38", + "src": "1277:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 2597, + "id": 2645, "isConstant": false, "isLValue": false, "isPure": true, @@ -1330,7 +1330,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1277:10:38", + "src": "1277:10:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1338,12 +1338,12 @@ }, { "argumentTypes": null, - "id": 2598, + "id": 2646, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2560, - "src": "1289:3:38", + "referencedDeclaration": 2608, + "src": "1289:3:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1351,12 +1351,12 @@ }, { "argumentTypes": null, - "id": 2599, + "id": 2647, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2562, - "src": "1294:7:38", + "referencedDeclaration": 2610, + "src": "1294:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1378,18 +1378,18 @@ "typeString": "uint256" } ], - "id": 2594, + "id": 2642, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2510, - "src": "1268:8:38", + "referencedDeclaration": 2558, + "src": "1268:8:40", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2600, + "id": 2648, "isConstant": false, "isLValue": false, "isPure": false, @@ -1397,28 +1397,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1268:34:38", + "src": "1268:34:40", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2601, + "id": 2649, "nodeType": "EmitStatement", - "src": "1263:39:38" + "src": "1263:39:40" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 2602, + "id": 2650, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1315:4:38", + "src": "1315:4:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1426,71 +1426,71 @@ }, "value": "true" }, - "functionReturnParameters": 2570, - "id": 2603, + "functionReturnParameters": 2618, + "id": 2651, "nodeType": "Return", - "src": "1308:11:38" + "src": "1308:11:40" } ] }, "documentation": "@dev Function to mint tokens\n@param _to The address that will receive the minted tokens.\n@param _amount The amount of tokens to mint.\n@return A boolean that indicates if the operation was successful.", - "id": 2605, + "id": 2653, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 2565, + "id": 2613, "modifierName": { "argumentTypes": null, - "id": 2564, + "id": 2612, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1554, - "src": "1094:9:38", + "referencedDeclaration": 1602, + "src": "1094:9:40", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1094:9:38" + "src": "1094:9:40" }, { "arguments": null, - "id": 2567, + "id": 2615, "modifierName": { "argumentTypes": null, - "id": 2566, + "id": 2614, "name": "canMint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "1104:7:38", + "referencedDeclaration": 2590, + "src": "1104:7:40", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1104:7:38" + "src": "1104:7:40" } ], "name": "mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 2563, + "id": 2611, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2560, + "id": 2608, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 2605, - "src": "1064:11:38", + "scope": 2653, + "src": "1064:11:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1498,10 +1498,10 @@ "typeString": "address" }, "typeName": { - "id": 2559, + "id": 2607, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1064:7:38", + "src": "1064:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1512,11 +1512,11 @@ }, { "constant": false, - "id": 2562, + "id": 2610, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 2605, - "src": "1077:15:38", + "scope": 2653, + "src": "1077:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1524,10 +1524,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2561, + "id": 2609, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1077:7:38", + "src": "1077:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1537,20 +1537,20 @@ "visibility": "internal" } ], - "src": "1063:30:38" + "src": "1063:30:40" }, "payable": false, "returnParameters": { - "id": 2570, + "id": 2618, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2569, + "id": 2617, "name": "", "nodeType": "VariableDeclaration", - "scope": 2605, - "src": "1128:4:38", + "scope": 2653, + "src": "1128:4:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1558,10 +1558,10 @@ "typeString": "bool" }, "typeName": { - "id": 2568, + "id": 2616, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1128:4:38", + "src": "1128:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1571,36 +1571,36 @@ "visibility": "internal" } ], - "src": "1127:6:38" + "src": "1127:6:40" }, - "scope": 2625, - "src": "1050:274:38", + "scope": 2673, + "src": "1050:274:40", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 2623, + "id": 2671, "nodeType": "Block", - "src": "1503:75:38", + "src": "1503:75:40", "statements": [ { "expression": { "argumentTypes": null, - "id": 2616, + "id": 2664, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2614, + "id": 2662, "name": "mintingFinished", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2533, - "src": "1509:15:38", + "referencedDeclaration": 2581, + "src": "1509:15:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1611,14 +1611,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 2615, + "id": 2663, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1527:4:38", + "src": "1527:4:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1626,15 +1626,15 @@ }, "value": "true" }, - "src": "1509:22:38", + "src": "1509:22:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2617, + "id": 2665, "nodeType": "ExpressionStatement", - "src": "1509:22:38" + "src": "1509:22:40" }, { "eventCall": { @@ -1642,18 +1642,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2618, + "id": 2666, "name": "MintFinished", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2530, - "src": "1542:12:38", + "referencedDeclaration": 2578, + "src": "1542:12:40", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 2619, + "id": 2667, "isConstant": false, "isLValue": false, "isPure": false, @@ -1661,28 +1661,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1542:14:38", + "src": "1542:14:40", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2620, + "id": 2668, "nodeType": "EmitStatement", - "src": "1537:19:38" + "src": "1537:19:40" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 2621, + "id": 2669, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1569:4:38", + "src": "1569:4:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1690,78 +1690,78 @@ }, "value": "true" }, - "functionReturnParameters": 2613, - "id": 2622, + "functionReturnParameters": 2661, + "id": 2670, "nodeType": "Return", - "src": "1562:11:38" + "src": "1562:11:40" } ] }, "documentation": "@dev Function to stop minting new tokens.\n@return True if the operation was successful.", - "id": 2624, + "id": 2672, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 2608, + "id": 2656, "modifierName": { "argumentTypes": null, - "id": 2607, + "id": 2655, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1554, - "src": "1463:9:38", + "referencedDeclaration": 1602, + "src": "1463:9:40", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1463:9:38" + "src": "1463:9:40" }, { "arguments": null, - "id": 2610, + "id": 2658, "modifierName": { "argumentTypes": null, - "id": 2609, + "id": 2657, "name": "canMint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "1473:7:38", + "referencedDeclaration": 2590, + "src": "1473:7:40", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1473:7:38" + "src": "1473:7:40" } ], "name": "finishMinting", "nodeType": "FunctionDefinition", "parameters": { - "id": 2606, + "id": 2654, "nodeType": "ParameterList", "parameters": [], - "src": "1460:2:38" + "src": "1460:2:40" }, "payable": false, "returnParameters": { - "id": 2613, + "id": 2661, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2612, + "id": 2660, "name": "", "nodeType": "VariableDeclaration", - "scope": 2624, - "src": "1497:4:38", + "scope": 2672, + "src": "1497:4:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1769,10 +1769,10 @@ "typeString": "bool" }, "typeName": { - "id": 2611, + "id": 2659, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1497:4:38", + "src": "1497:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1782,33 +1782,33 @@ "visibility": "internal" } ], - "src": "1496:6:38" + "src": "1496:6:40" }, - "scope": 2625, - "src": "1438:140:38", + "scope": 2673, + "src": "1438:140:40", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 2626, - "src": "444:1136:38" + "scope": 2674, + "src": "444:1136:40" } ], - "src": "0:1581:38" + "src": "0:1581:40" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/MintableToken.sol", "exportedSymbols": { "MintableToken": [ - 2625 + 2673 ] }, - "id": 2626, + "id": 2674, "nodeType": "SourceUnit", "nodes": [ { - "id": 2513, + "id": 2561, "literals": [ "solidity", "^", @@ -1816,38 +1816,38 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:38" + "src": "0:24:40" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardToken.sol", "file": "./StandardToken.sol", - "id": 2514, + "id": 2562, "nodeType": "ImportDirective", - "scope": 2626, - "sourceUnit": 3104, - "src": "26:29:38", + "scope": 2674, + "sourceUnit": 3152, + "src": "26:29:40", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/Ownable.sol", "file": "../../ownership/Ownable.sol", - "id": 2515, + "id": 2563, "nodeType": "ImportDirective", - "scope": 2626, - "sourceUnit": 1581, - "src": "56:37:38", + "scope": 2674, + "sourceUnit": 1629, + "src": "56:37:40", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 2516, + "id": 2564, "nodeType": "ImportDirective", - "scope": 2626, - "sourceUnit": 4770, - "src": "94:53:38", + "scope": 2674, + "sourceUnit": 4865, + "src": "94:53:40", "symbolAliases": [], "unitAlias": "" }, @@ -1857,77 +1857,77 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2517, + "id": 2565, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "470:10:38", + "referencedDeclaration": 4864, + "src": "470:10:40", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 2518, + "id": 2566, "nodeType": "InheritanceSpecifier", - "src": "470:10:38" + "src": "470:10:40" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2519, + "id": 2567, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1580, - "src": "482:7:38", + "referencedDeclaration": 1628, + "src": "482:7:40", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$1580", + "typeIdentifier": "t_contract$_Ownable_$1628", "typeString": "contract Ownable" } }, - "id": 2520, + "id": 2568, "nodeType": "InheritanceSpecifier", - "src": "482:7:38" + "src": "482:7:40" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2521, + "id": 2569, "name": "StandardToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3103, - "src": "491:13:38", + "referencedDeclaration": 3151, + "src": "491:13:40", "typeDescriptions": { - "typeIdentifier": "t_contract$_StandardToken_$3103", + "typeIdentifier": "t_contract$_StandardToken_$3151", "typeString": "contract StandardToken" } }, - "id": 2522, + "id": 2570, "nodeType": "InheritanceSpecifier", - "src": "491:13:38" + "src": "491:13:40" } ], "contractDependencies": [ - 1580, - 2215, - 2479, - 2511, - 3103, - 4769 + 1628, + 2263, + 2527, + 2559, + 3151, + 4864 ], "contractKind": "contract", "documentation": "@title Mintable token\n@dev Simple ERC20 Token example, with mintable token creation\n@dev Issue: * https://github.com/OpenZeppelin/openzeppelin-solidity/issues/120\nBased on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol", "fullyImplemented": true, - "id": 2625, + "id": 2673, "linearizedBaseContracts": [ - 2625, - 3103, - 2215, - 2479, - 2511, - 1580, - 4769 + 2673, + 3151, + 2263, + 2527, + 2559, + 1628, + 4864 ], "name": "MintableToken", "nodeType": "ContractDefinition", @@ -1935,21 +1935,21 @@ { "anonymous": false, "documentation": null, - "id": 2528, + "id": 2576, "name": "Mint", "nodeType": "EventDefinition", "parameters": { - "id": 2527, + "id": 2575, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2524, + "id": 2572, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 2528, - "src": "520:18:38", + "scope": 2576, + "src": "520:18:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1957,10 +1957,10 @@ "typeString": "address" }, "typeName": { - "id": 2523, + "id": 2571, "name": "address", "nodeType": "ElementaryTypeName", - "src": "520:7:38", + "src": "520:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1971,12 +1971,12 @@ }, { "constant": false, - "id": 2526, + "id": 2574, "indexed": false, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 2528, - "src": "540:14:38", + "scope": 2576, + "src": "540:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1984,10 +1984,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2525, + "id": 2573, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "540:7:38", + "src": "540:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1997,31 +1997,31 @@ "visibility": "internal" } ], - "src": "519:36:38" + "src": "519:36:40" }, - "src": "509:47:38" + "src": "509:47:40" }, { "anonymous": false, "documentation": null, - "id": 2530, + "id": 2578, "name": "MintFinished", "nodeType": "EventDefinition", "parameters": { - "id": 2529, + "id": 2577, "nodeType": "ParameterList", "parameters": [], - "src": "577:2:38" + "src": "577:2:40" }, - "src": "559:21:38" + "src": "559:21:40" }, { "constant": false, - "id": 2533, + "id": 2581, "name": "mintingFinished", "nodeType": "VariableDeclaration", - "scope": 2625, - "src": "584:35:38", + "scope": 2673, + "src": "584:35:40", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2029,10 +2029,10 @@ "typeString": "bool" }, "typeName": { - "id": 2531, + "id": 2579, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "584:4:38", + "src": "584:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2041,14 +2041,14 @@ "value": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 2532, + "id": 2580, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "614:5:38", + "src": "614:5:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2060,9 +2060,9 @@ }, { "body": { - "id": 2541, + "id": 2589, "nodeType": "Block", - "src": "644:43:38", + "src": "644:43:40", "statements": [ { "expression": { @@ -2070,7 +2070,7 @@ "arguments": [ { "argumentTypes": null, - "id": 2537, + "id": 2585, "isConstant": false, "isLValue": false, "isPure": false, @@ -2078,15 +2078,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "658:16:38", + "src": "658:16:40", "subExpression": { "argumentTypes": null, - "id": 2536, + "id": 2584, "name": "mintingFinished", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2533, - "src": "659:15:38", + "referencedDeclaration": 2581, + "src": "659:15:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2105,21 +2105,21 @@ "typeString": "bool" } ], - "id": 2535, + "id": 2583, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "650:7:38", + "referencedDeclaration": 4882, + "src": "650:7:40", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2538, + "id": 2586, "isConstant": false, "isLValue": false, "isPure": false, @@ -2127,41 +2127,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "650:25:38", + "src": "650:25:40", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2539, + "id": 2587, "nodeType": "ExpressionStatement", - "src": "650:25:38" + "src": "650:25:40" }, { - "id": 2540, + "id": 2588, "nodeType": "PlaceholderStatement", - "src": "681:1:38" + "src": "681:1:40" } ] }, "documentation": null, - "id": 2542, + "id": 2590, "name": "canMint", "nodeType": "ModifierDefinition", "parameters": { - "id": 2534, + "id": 2582, "nodeType": "ParameterList", "parameters": [], - "src": "641:2:38" + "src": "641:2:40" }, - "src": "625:62:38", + "src": "625:62:40", "visibility": "internal" }, { "body": { - "id": 2557, + "id": 2605, "nodeType": "Block", - "src": "776:38:38", + "src": "776:38:40", "statements": [ { "expression": { @@ -2169,12 +2169,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2554, + "id": 2602, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2544, - "src": "801:7:38", + "referencedDeclaration": 2592, + "src": "801:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2190,32 +2190,32 @@ ], "expression": { "argumentTypes": null, - "id": 2551, + "id": 2599, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "782:7:38", + "referencedDeclaration": 1628, + "src": "782:7:40", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Ownable_$1580_$", + "typeIdentifier": "t_type$_t_contract$_Ownable_$1628_$", "typeString": "type(contract Ownable)" } }, - "id": 2553, + "id": 2601, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1543, - "src": "782:18:38", + "referencedDeclaration": 1591, + "src": "782:18:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 2555, + "id": 2603, "isConstant": false, "isLValue": false, "isPure": false, @@ -2223,20 +2223,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "782:27:38", + "src": "782:27:40", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2556, + "id": 2604, "nodeType": "ExpressionStatement", - "src": "782:27:38" + "src": "782:27:40" } ] }, "documentation": null, - "id": 2558, + "id": 2606, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2246,14 +2246,14 @@ { "argumentTypes": null, "hexValue": "4d696e7461626c65546f6b656e", - "id": 2547, + "id": 2595, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "742:15:38", + "src": "742:15:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0381a87e9ba57da29010ea336be13e80f5ac13595ea8b38576d0a120e13dcb57", @@ -2264,14 +2264,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 2548, + "id": 2596, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "759:7:38", + "src": "759:7:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -2280,37 +2280,37 @@ "value": "1.9.0" } ], - "id": 2549, + "id": 2597, "modifierName": { "argumentTypes": null, - "id": 2546, + "id": 2594, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "728:13:38", + "referencedDeclaration": 4811, + "src": "728:13:40", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "728:39:38" + "src": "728:39:40" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 2545, + "id": 2593, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2544, + "id": 2592, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 2558, - "src": "711:15:38", + "scope": 2606, + "src": "711:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2318,10 +2318,10 @@ "typeString": "address" }, "typeName": { - "id": 2543, + "id": 2591, "name": "address", "nodeType": "ElementaryTypeName", - "src": "711:7:38", + "src": "711:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2331,43 +2331,43 @@ "visibility": "internal" } ], - "src": "710:17:38" + "src": "710:17:40" }, "payable": false, "returnParameters": { - "id": 2550, + "id": 2598, "nodeType": "ParameterList", "parameters": [], - "src": "776:0:38" + "src": "776:0:40" }, - "scope": 2625, - "src": "691:123:38", + "scope": 2673, + "src": "691:123:40", "stateMutability": "nonpayable", - "superFunction": 1543, + "superFunction": 1591, "visibility": "public" }, { "body": { - "id": 2604, + "id": 2652, "nodeType": "Block", - "src": "1134:190:38", + "src": "1134:190:40", "statements": [ { "expression": { "argumentTypes": null, - "id": 2576, + "id": 2624, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2571, + "id": 2619, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "1140:12:38", + "referencedDeclaration": 2182, + "src": "1140:12:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2380,12 +2380,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2574, + "id": 2622, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2562, - "src": "1172:7:38", + "referencedDeclaration": 2610, + "src": "1172:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2401,32 +2401,32 @@ ], "expression": { "argumentTypes": null, - "id": 2572, + "id": 2620, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "1155:12:38", + "referencedDeclaration": 2182, + "src": "1155:12:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2573, + "id": 2621, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1155:16:38", + "referencedDeclaration": 578, + "src": "1155:16:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2575, + "id": 2623, "isConstant": false, "isLValue": false, "isPure": false, @@ -2434,26 +2434,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1155:25:38", + "src": "1155:25:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1140:40:38", + "src": "1140:40:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2577, + "id": 2625, "nodeType": "ExpressionStatement", - "src": "1140:40:38" + "src": "1140:40:40" }, { "expression": { "argumentTypes": null, - "id": 2587, + "id": 2635, "isConstant": false, "isLValue": false, "isPure": false, @@ -2462,26 +2462,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2578, + "id": 2626, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "1186:8:38", + "referencedDeclaration": 2180, + "src": "1186:8:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2580, + "id": 2628, "indexExpression": { "argumentTypes": null, - "id": 2579, + "id": 2627, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2560, - "src": "1195:3:38", + "referencedDeclaration": 2608, + "src": "1195:3:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2492,7 +2492,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1186:13:38", + "src": "1186:13:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2505,12 +2505,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2585, + "id": 2633, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2562, - "src": "1220:7:38", + "referencedDeclaration": 2610, + "src": "1220:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2528,26 +2528,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2581, + "id": 2629, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "1202:8:38", + "referencedDeclaration": 2180, + "src": "1202:8:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2583, + "id": 2631, "indexExpression": { "argumentTypes": null, - "id": 2582, + "id": 2630, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2560, - "src": "1211:3:38", + "referencedDeclaration": 2608, + "src": "1211:3:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2558,27 +2558,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1202:13:38", + "src": "1202:13:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2584, + "id": 2632, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1202:17:38", + "referencedDeclaration": 578, + "src": "1202:17:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2586, + "id": 2634, "isConstant": false, "isLValue": false, "isPure": false, @@ -2586,21 +2586,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1202:26:38", + "src": "1202:26:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1186:42:38", + "src": "1186:42:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2588, + "id": 2636, "nodeType": "ExpressionStatement", - "src": "1186:42:38" + "src": "1186:42:40" }, { "eventCall": { @@ -2608,12 +2608,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2590, + "id": 2638, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2560, - "src": "1244:3:38", + "referencedDeclaration": 2608, + "src": "1244:3:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2621,12 +2621,12 @@ }, { "argumentTypes": null, - "id": 2591, + "id": 2639, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2562, - "src": "1249:7:38", + "referencedDeclaration": 2610, + "src": "1249:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2644,18 +2644,18 @@ "typeString": "uint256" } ], - "id": 2589, + "id": 2637, "name": "Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2528, - "src": "1239:4:38", + "referencedDeclaration": 2576, + "src": "1239:4:40", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2592, + "id": 2640, "isConstant": false, "isLValue": false, "isPure": false, @@ -2663,15 +2663,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1239:18:38", + "src": "1239:18:40", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2593, + "id": 2641, "nodeType": "EmitStatement", - "src": "1234:23:38" + "src": "1234:23:40" }, { "eventCall": { @@ -2683,14 +2683,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2596, + "id": 2644, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1285:1:38", + "src": "1285:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2706,20 +2706,20 @@ "typeString": "int_const 0" } ], - "id": 2595, + "id": 2643, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1277:7:38", + "src": "1277:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 2597, + "id": 2645, "isConstant": false, "isLValue": false, "isPure": true, @@ -2727,7 +2727,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1277:10:38", + "src": "1277:10:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2735,12 +2735,12 @@ }, { "argumentTypes": null, - "id": 2598, + "id": 2646, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2560, - "src": "1289:3:38", + "referencedDeclaration": 2608, + "src": "1289:3:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2748,12 +2748,12 @@ }, { "argumentTypes": null, - "id": 2599, + "id": 2647, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2562, - "src": "1294:7:38", + "referencedDeclaration": 2610, + "src": "1294:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2775,18 +2775,18 @@ "typeString": "uint256" } ], - "id": 2594, + "id": 2642, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2510, - "src": "1268:8:38", + "referencedDeclaration": 2558, + "src": "1268:8:40", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2600, + "id": 2648, "isConstant": false, "isLValue": false, "isPure": false, @@ -2794,28 +2794,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1268:34:38", + "src": "1268:34:40", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2601, + "id": 2649, "nodeType": "EmitStatement", - "src": "1263:39:38" + "src": "1263:39:40" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 2602, + "id": 2650, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1315:4:38", + "src": "1315:4:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2823,71 +2823,71 @@ }, "value": "true" }, - "functionReturnParameters": 2570, - "id": 2603, + "functionReturnParameters": 2618, + "id": 2651, "nodeType": "Return", - "src": "1308:11:38" + "src": "1308:11:40" } ] }, "documentation": "@dev Function to mint tokens\n@param _to The address that will receive the minted tokens.\n@param _amount The amount of tokens to mint.\n@return A boolean that indicates if the operation was successful.", - "id": 2605, + "id": 2653, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 2565, + "id": 2613, "modifierName": { "argumentTypes": null, - "id": 2564, + "id": 2612, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1554, - "src": "1094:9:38", + "referencedDeclaration": 1602, + "src": "1094:9:40", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1094:9:38" + "src": "1094:9:40" }, { "arguments": null, - "id": 2567, + "id": 2615, "modifierName": { "argumentTypes": null, - "id": 2566, + "id": 2614, "name": "canMint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "1104:7:38", + "referencedDeclaration": 2590, + "src": "1104:7:40", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1104:7:38" + "src": "1104:7:40" } ], "name": "mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 2563, + "id": 2611, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2560, + "id": 2608, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 2605, - "src": "1064:11:38", + "scope": 2653, + "src": "1064:11:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2895,10 +2895,10 @@ "typeString": "address" }, "typeName": { - "id": 2559, + "id": 2607, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1064:7:38", + "src": "1064:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2909,11 +2909,11 @@ }, { "constant": false, - "id": 2562, + "id": 2610, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 2605, - "src": "1077:15:38", + "scope": 2653, + "src": "1077:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2921,10 +2921,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2561, + "id": 2609, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1077:7:38", + "src": "1077:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2934,20 +2934,20 @@ "visibility": "internal" } ], - "src": "1063:30:38" + "src": "1063:30:40" }, "payable": false, "returnParameters": { - "id": 2570, + "id": 2618, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2569, + "id": 2617, "name": "", "nodeType": "VariableDeclaration", - "scope": 2605, - "src": "1128:4:38", + "scope": 2653, + "src": "1128:4:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2955,10 +2955,10 @@ "typeString": "bool" }, "typeName": { - "id": 2568, + "id": 2616, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1128:4:38", + "src": "1128:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2968,36 +2968,36 @@ "visibility": "internal" } ], - "src": "1127:6:38" + "src": "1127:6:40" }, - "scope": 2625, - "src": "1050:274:38", + "scope": 2673, + "src": "1050:274:40", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 2623, + "id": 2671, "nodeType": "Block", - "src": "1503:75:38", + "src": "1503:75:40", "statements": [ { "expression": { "argumentTypes": null, - "id": 2616, + "id": 2664, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2614, + "id": 2662, "name": "mintingFinished", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2533, - "src": "1509:15:38", + "referencedDeclaration": 2581, + "src": "1509:15:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3008,14 +3008,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 2615, + "id": 2663, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1527:4:38", + "src": "1527:4:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3023,15 +3023,15 @@ }, "value": "true" }, - "src": "1509:22:38", + "src": "1509:22:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2617, + "id": 2665, "nodeType": "ExpressionStatement", - "src": "1509:22:38" + "src": "1509:22:40" }, { "eventCall": { @@ -3039,18 +3039,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2618, + "id": 2666, "name": "MintFinished", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2530, - "src": "1542:12:38", + "referencedDeclaration": 2578, + "src": "1542:12:40", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 2619, + "id": 2667, "isConstant": false, "isLValue": false, "isPure": false, @@ -3058,28 +3058,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1542:14:38", + "src": "1542:14:40", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2620, + "id": 2668, "nodeType": "EmitStatement", - "src": "1537:19:38" + "src": "1537:19:40" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 2621, + "id": 2669, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1569:4:38", + "src": "1569:4:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3087,78 +3087,78 @@ }, "value": "true" }, - "functionReturnParameters": 2613, - "id": 2622, + "functionReturnParameters": 2661, + "id": 2670, "nodeType": "Return", - "src": "1562:11:38" + "src": "1562:11:40" } ] }, "documentation": "@dev Function to stop minting new tokens.\n@return True if the operation was successful.", - "id": 2624, + "id": 2672, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 2608, + "id": 2656, "modifierName": { "argumentTypes": null, - "id": 2607, + "id": 2655, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1554, - "src": "1463:9:38", + "referencedDeclaration": 1602, + "src": "1463:9:40", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1463:9:38" + "src": "1463:9:40" }, { "arguments": null, - "id": 2610, + "id": 2658, "modifierName": { "argumentTypes": null, - "id": 2609, + "id": 2657, "name": "canMint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "1473:7:38", + "referencedDeclaration": 2590, + "src": "1473:7:40", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1473:7:38" + "src": "1473:7:40" } ], "name": "finishMinting", "nodeType": "FunctionDefinition", "parameters": { - "id": 2606, + "id": 2654, "nodeType": "ParameterList", "parameters": [], - "src": "1460:2:38" + "src": "1460:2:40" }, "payable": false, "returnParameters": { - "id": 2613, + "id": 2661, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2612, + "id": 2660, "name": "", "nodeType": "VariableDeclaration", - "scope": 2624, - "src": "1497:4:38", + "scope": 2672, + "src": "1497:4:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3166,10 +3166,10 @@ "typeString": "bool" }, "typeName": { - "id": 2611, + "id": 2659, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1497:4:38", + "src": "1497:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3179,26 +3179,26 @@ "visibility": "internal" } ], - "src": "1496:6:38" + "src": "1496:6:40" }, - "scope": 2625, - "src": "1438:140:38", + "scope": 2673, + "src": "1438:140:40", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 2626, - "src": "444:1136:38" + "scope": 2674, + "src": "444:1136:40" } ], - "src": "0:1581:38" + "src": "0:1581:40" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.641Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.214Z" } \ No newline at end of file diff --git a/build/contracts/Ownable.json b/build/contracts/Ownable.json index 8bf72aa67..3db88e4e3 100644 --- a/build/contracts/Ownable.json +++ b/build/contracts/Ownable.json @@ -103,22 +103,22 @@ ], "bytecode": "0x608060405234801561001057600080fd5b5061075e806100206000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610067578063c0bac1a8146100be578063c4d66de814610185578063f2fde38b146101c8575b600080fd5b34801561007357600080fd5b5061007c61020b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100ca57600080fd5b5061016b600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610231565b604051808215151515815260200191505060405180910390f35b34801561019157600080fd5b506101c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061031c565b005b3480156101d457600080fd5b50610209600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105da565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080836040518082805190602001908083835b60208310151561026a5780518252602082019150602081019050602083039250610245565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156102d357805182526020820191506020810190506020830392506102ae565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506103928282610231565b15151561039e57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561044657808201518184015260208101905061042b565b50505050905090810190601f1680156104735780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156104ac578082015181840152602081019050610491565b50505050905090810190601f1680156104d95780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561052257805182526020820191506020810190506020830392506104fd565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561058b5780518252602082019150602081019050602083039250610566565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561063657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561067257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058208797960f790e2e1f2816a26ca0e13452088cc959baea15903d2a823255e2d5240029", "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610067578063c0bac1a8146100be578063c4d66de814610185578063f2fde38b146101c8575b600080fd5b34801561007357600080fd5b5061007c61020b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100ca57600080fd5b5061016b600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610231565b604051808215151515815260200191505060405180910390f35b34801561019157600080fd5b506101c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061031c565b005b3480156101d457600080fd5b50610209600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105da565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080836040518082805190602001908083835b60208310151561026a5780518252602082019150602081019050602083039250610245565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156102d357805182526020820191506020810190506020830392506102ae565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506103928282610231565b15151561039e57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561044657808201518184015260208101905061042b565b50505050905090810190601f1680156104735780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156104ac578082015181840152602081019050610491565b50505050905090810190601f1680156104d95780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561052257805182526020820191506020810190506020830392506104fd565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561058b5780518252602082019150602081019050602083039250610566565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561063657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561067257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058208797960f790e2e1f2816a26ca0e13452088cc959baea15903d2a823255e2d5240029", - "sourceMap": "272:854:3:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;272:854:3;;;;;;;", - "deployedSourceMap": "272:854:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:3;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;537:104:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;537:104:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20;;;;;;;;;;;;;:::o;1950:140:10:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:10;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;537:104:3:-;1004:223:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:3;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:10;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:10;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:10;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:3;;;:::o;949:174::-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o", + "sourceMap": "272:854:27:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;272:854:27;;;;;;;", + "deployedSourceMap": "272:854:27:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:27;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;537:104:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;537:104:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20;;;;;;;;;;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;537:104:27:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:27;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:27;;;:::o;949:174::-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"zos-lib/contracts/migrations/Migratable.sol\";\n\n\n/**\n * @title Ownable\n * @dev The Ownable contract has an owner address, and provides basic authorization control\n * functions, this simplifies the implementation of \"user permissions\".\n */\ncontract Ownable is Migratable {\n address public owner;\n\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev The Ownable constructor sets the original `owner` of the contract to the sender\n * account.\n */\n function initialize(address _sender) public isInitializer(\"Ownable\", \"1.9.0\") {\n owner = _sender;\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n require(msg.sender == owner);\n _;\n }\n\n /**\n * @dev Allows the current owner to transfer control of the contract to a newOwner.\n * @param newOwner The address to transfer ownership to.\n */\n function transferOwnership(address newOwner) public onlyOwner {\n require(newOwner != address(0));\n emit OwnershipTransferred(owner, newOwner);\n owner = newOwner;\n }\n\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/Ownable.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/Ownable.sol", "exportedSymbols": { "Ownable": [ - 242 + 1628 ] }, - "id": 243, + "id": 1629, "nodeType": "SourceUnit", "nodes": [ { - "id": 180, + "id": 1566, "literals": [ "solidity", "^", @@ -126,16 +126,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:3" + "src": "0:24:27" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 181, + "id": 1567, "nodeType": "ImportDirective", - "scope": 243, - "sourceUnit": 1530, - "src": "26:53:3", + "scope": 1629, + "sourceUnit": 4865, + "src": "26:53:27", "symbolAliases": [], "unitAlias": "" }, @@ -145,42 +145,42 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 182, + "id": 1568, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1529, - "src": "292:10:3", + "referencedDeclaration": 4864, + "src": "292:10:27", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$1529", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 183, + "id": 1569, "nodeType": "InheritanceSpecifier", - "src": "292:10:3" + "src": "292:10:27" } ], "contractDependencies": [ - 1529 + 4864 ], "contractKind": "contract", "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", "fullyImplemented": true, - "id": 242, + "id": 1628, "linearizedBaseContracts": [ - 242, - 1529 + 1628, + 4864 ], "name": "Ownable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 185, + "id": 1571, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 242, - "src": "307:20:3", + "scope": 1628, + "src": "307:20:27", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -188,10 +188,10 @@ "typeString": "address" }, "typeName": { - "id": 184, + "id": 1570, "name": "address", "nodeType": "ElementaryTypeName", - "src": "307:7:3", + "src": "307:7:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -203,21 +203,21 @@ { "anonymous": false, "documentation": null, - "id": 191, + "id": 1577, "name": "OwnershipTransferred", "nodeType": "EventDefinition", "parameters": { - "id": 190, + "id": 1576, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 187, + "id": 1573, "indexed": true, "name": "previousOwner", "nodeType": "VariableDeclaration", - "scope": 191, - "src": "360:29:3", + "scope": 1577, + "src": "360:29:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -225,10 +225,10 @@ "typeString": "address" }, "typeName": { - "id": 186, + "id": 1572, "name": "address", "nodeType": "ElementaryTypeName", - "src": "360:7:3", + "src": "360:7:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -239,12 +239,12 @@ }, { "constant": false, - "id": 189, + "id": 1575, "indexed": true, "name": "newOwner", "nodeType": "VariableDeclaration", - "scope": 191, - "src": "391:24:3", + "scope": 1577, + "src": "391:24:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -252,10 +252,10 @@ "typeString": "address" }, "typeName": { - "id": 188, + "id": 1574, "name": "address", "nodeType": "ElementaryTypeName", - "src": "391:7:3", + "src": "391:7:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -265,32 +265,32 @@ "visibility": "internal" } ], - "src": "359:57:3" + "src": "359:57:27" }, - "src": "333:84:3" + "src": "333:84:27" }, { "body": { - "id": 204, + "id": 1590, "nodeType": "Block", - "src": "615:26:3", + "src": "615:26:27", "statements": [ { "expression": { "argumentTypes": null, - "id": 202, + "id": 1588, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 200, + "id": 1586, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "621:5:3", + "referencedDeclaration": 1571, + "src": "621:5:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -300,31 +300,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 201, + "id": 1587, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 193, - "src": "629:7:3", + "referencedDeclaration": 1579, + "src": "629:7:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "621:15:3", + "src": "621:15:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 203, + "id": 1589, "nodeType": "ExpressionStatement", - "src": "621:15:3" + "src": "621:15:27" } ] }, "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", - "id": 205, + "id": 1591, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -334,14 +334,14 @@ { "argumentTypes": null, "hexValue": "4f776e61626c65", - "id": 196, + "id": 1582, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "595:9:3", + "src": "595:9:27", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6df9baf4dc8c02086c72903e4bba587f1a261a8542aa45344809b4583161a59e", @@ -352,14 +352,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 197, + "id": 1583, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "606:7:3", + "src": "606:7:27", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -368,37 +368,37 @@ "value": "1.9.0" } ], - "id": 198, + "id": 1584, "modifierName": { "argumentTypes": null, - "id": 195, + "id": 1581, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1476, - "src": "581:13:3", + "referencedDeclaration": 4811, + "src": "581:13:27", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "581:33:3" + "src": "581:33:27" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 194, + "id": 1580, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 193, + "id": 1579, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 205, - "src": "557:15:3", + "scope": 1591, + "src": "557:15:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -406,10 +406,10 @@ "typeString": "address" }, "typeName": { - "id": 192, + "id": 1578, "name": "address", "nodeType": "ElementaryTypeName", - "src": "557:7:3", + "src": "557:7:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -419,26 +419,26 @@ "visibility": "internal" } ], - "src": "556:17:3" + "src": "556:17:27" }, "payable": false, "returnParameters": { - "id": 199, + "id": 1585, "nodeType": "ParameterList", "parameters": [], - "src": "615:0:3" + "src": "615:0:27" }, - "scope": 242, - "src": "537:104:3", + "scope": 1628, + "src": "537:104:27", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 215, + "id": 1601, "nodeType": "Block", - "src": "742:46:3", + "src": "742:46:27", "statements": [ { "expression": { @@ -450,7 +450,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 211, + "id": 1597, "isConstant": false, "isLValue": false, "isPure": false, @@ -459,18 +459,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 208, + "id": 1594, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, - "src": "756:3:3", + "referencedDeclaration": 4879, + "src": "756:3:27", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 209, + "id": 1595, "isConstant": false, "isLValue": false, "isPure": false, @@ -478,7 +478,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "756:10:3", + "src": "756:10:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -488,18 +488,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 210, + "id": 1596, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "770:5:3", + "referencedDeclaration": 1571, + "src": "770:5:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "756:19:3", + "src": "756:19:27", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -513,21 +513,21 @@ "typeString": "bool" } ], - "id": 207, + "id": 1593, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "748:7:3", + "referencedDeclaration": 4882, + "src": "748:7:27", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 212, + "id": 1598, "isConstant": false, "isLValue": false, "isPure": false, @@ -535,41 +535,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "748:28:3", + "src": "748:28:27", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 213, + "id": 1599, "nodeType": "ExpressionStatement", - "src": "748:28:3" + "src": "748:28:27" }, { - "id": 214, + "id": 1600, "nodeType": "PlaceholderStatement", - "src": "782:1:3" + "src": "782:1:27" } ] }, "documentation": "@dev Throws if called by any account other than the owner.", - "id": 216, + "id": 1602, "name": "onlyOwner", "nodeType": "ModifierDefinition", "parameters": { - "id": 206, + "id": 1592, "nodeType": "ParameterList", "parameters": [], - "src": "739:2:3" + "src": "739:2:27" }, - "src": "721:67:3", + "src": "721:67:27", "visibility": "internal" }, { "body": { - "id": 240, + "id": 1626, "nodeType": "Block", - "src": "1011:112:3", + "src": "1011:112:27", "statements": [ { "expression": { @@ -581,19 +581,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 228, + "id": 1614, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 224, + "id": 1610, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "1025:8:3", + "referencedDeclaration": 1604, + "src": "1025:8:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -607,14 +607,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 226, + "id": 1612, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1045:1:3", + "src": "1045:1:27", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -630,20 +630,20 @@ "typeString": "int_const 0" } ], - "id": 225, + "id": 1611, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1037:7:3", + "src": "1037:7:27", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 227, + "id": 1613, "isConstant": false, "isLValue": false, "isPure": true, @@ -651,13 +651,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1037:10:3", + "src": "1037:10:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1025:22:3", + "src": "1025:22:27", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -671,21 +671,21 @@ "typeString": "bool" } ], - "id": 223, + "id": 1609, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "1017:7:3", + "referencedDeclaration": 4882, + "src": "1017:7:27", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 229, + "id": 1615, "isConstant": false, "isLValue": false, "isPure": false, @@ -693,15 +693,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1017:31:3", + "src": "1017:31:27", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 230, + "id": 1616, "nodeType": "ExpressionStatement", - "src": "1017:31:3" + "src": "1017:31:27" }, { "eventCall": { @@ -709,12 +709,12 @@ "arguments": [ { "argumentTypes": null, - "id": 232, + "id": 1618, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "1080:5:3", + "referencedDeclaration": 1571, + "src": "1080:5:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -722,12 +722,12 @@ }, { "argumentTypes": null, - "id": 233, + "id": 1619, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "1087:8:3", + "referencedDeclaration": 1604, + "src": "1087:8:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -745,18 +745,18 @@ "typeString": "address" } ], - "id": 231, + "id": 1617, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 191, - "src": "1059:20:3", + "referencedDeclaration": 1577, + "src": "1059:20:27", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 234, + "id": 1620, "isConstant": false, "isLValue": false, "isPure": false, @@ -764,32 +764,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1059:37:3", + "src": "1059:37:27", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 235, + "id": 1621, "nodeType": "EmitStatement", - "src": "1054:42:3" + "src": "1054:42:27" }, { "expression": { "argumentTypes": null, - "id": 238, + "id": 1624, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 236, + "id": 1622, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "1102:5:3", + "referencedDeclaration": 1571, + "src": "1102:5:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -799,68 +799,68 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 237, + "id": 1623, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "1110:8:3", + "referencedDeclaration": 1604, + "src": "1110:8:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1102:16:3", + "src": "1102:16:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 239, + "id": 1625, "nodeType": "ExpressionStatement", - "src": "1102:16:3" + "src": "1102:16:27" } ] }, "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param newOwner The address to transfer ownership to.", - "id": 241, + "id": 1627, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 221, + "id": 1607, "modifierName": { "argumentTypes": null, - "id": 220, + "id": 1606, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "1001:9:3", + "referencedDeclaration": 1602, + "src": "1001:9:27", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1001:9:3" + "src": "1001:9:27" } ], "name": "transferOwnership", "nodeType": "FunctionDefinition", "parameters": { - "id": 219, + "id": 1605, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 218, + "id": 1604, "name": "newOwner", "nodeType": "VariableDeclaration", - "scope": 241, - "src": "976:16:3", + "scope": 1627, + "src": "976:16:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -868,10 +868,10 @@ "typeString": "address" }, "typeName": { - "id": 217, + "id": 1603, "name": "address", "nodeType": "ElementaryTypeName", - "src": "976:7:3", + "src": "976:7:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -881,40 +881,40 @@ "visibility": "internal" } ], - "src": "975:18:3" + "src": "975:18:27" }, "payable": false, "returnParameters": { - "id": 222, + "id": 1608, "nodeType": "ParameterList", "parameters": [], - "src": "1011:0:3" + "src": "1011:0:27" }, - "scope": 242, - "src": "949:174:3", + "scope": 1628, + "src": "949:174:27", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 243, - "src": "272:854:3" + "scope": 1629, + "src": "272:854:27" } ], - "src": "0:1127:3" + "src": "0:1127:27" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/Ownable.sol", "exportedSymbols": { "Ownable": [ - 242 + 1628 ] }, - "id": 243, + "id": 1629, "nodeType": "SourceUnit", "nodes": [ { - "id": 180, + "id": 1566, "literals": [ "solidity", "^", @@ -922,16 +922,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:3" + "src": "0:24:27" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 181, + "id": 1567, "nodeType": "ImportDirective", - "scope": 243, - "sourceUnit": 1530, - "src": "26:53:3", + "scope": 1629, + "sourceUnit": 4865, + "src": "26:53:27", "symbolAliases": [], "unitAlias": "" }, @@ -941,42 +941,42 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 182, + "id": 1568, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1529, - "src": "292:10:3", + "referencedDeclaration": 4864, + "src": "292:10:27", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$1529", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 183, + "id": 1569, "nodeType": "InheritanceSpecifier", - "src": "292:10:3" + "src": "292:10:27" } ], "contractDependencies": [ - 1529 + 4864 ], "contractKind": "contract", "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", "fullyImplemented": true, - "id": 242, + "id": 1628, "linearizedBaseContracts": [ - 242, - 1529 + 1628, + 4864 ], "name": "Ownable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 185, + "id": 1571, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 242, - "src": "307:20:3", + "scope": 1628, + "src": "307:20:27", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -984,10 +984,10 @@ "typeString": "address" }, "typeName": { - "id": 184, + "id": 1570, "name": "address", "nodeType": "ElementaryTypeName", - "src": "307:7:3", + "src": "307:7:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -999,21 +999,21 @@ { "anonymous": false, "documentation": null, - "id": 191, + "id": 1577, "name": "OwnershipTransferred", "nodeType": "EventDefinition", "parameters": { - "id": 190, + "id": 1576, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 187, + "id": 1573, "indexed": true, "name": "previousOwner", "nodeType": "VariableDeclaration", - "scope": 191, - "src": "360:29:3", + "scope": 1577, + "src": "360:29:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1021,10 +1021,10 @@ "typeString": "address" }, "typeName": { - "id": 186, + "id": 1572, "name": "address", "nodeType": "ElementaryTypeName", - "src": "360:7:3", + "src": "360:7:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1035,12 +1035,12 @@ }, { "constant": false, - "id": 189, + "id": 1575, "indexed": true, "name": "newOwner", "nodeType": "VariableDeclaration", - "scope": 191, - "src": "391:24:3", + "scope": 1577, + "src": "391:24:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1048,10 +1048,10 @@ "typeString": "address" }, "typeName": { - "id": 188, + "id": 1574, "name": "address", "nodeType": "ElementaryTypeName", - "src": "391:7:3", + "src": "391:7:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1061,32 +1061,32 @@ "visibility": "internal" } ], - "src": "359:57:3" + "src": "359:57:27" }, - "src": "333:84:3" + "src": "333:84:27" }, { "body": { - "id": 204, + "id": 1590, "nodeType": "Block", - "src": "615:26:3", + "src": "615:26:27", "statements": [ { "expression": { "argumentTypes": null, - "id": 202, + "id": 1588, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 200, + "id": 1586, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "621:5:3", + "referencedDeclaration": 1571, + "src": "621:5:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1096,31 +1096,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 201, + "id": 1587, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 193, - "src": "629:7:3", + "referencedDeclaration": 1579, + "src": "629:7:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "621:15:3", + "src": "621:15:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 203, + "id": 1589, "nodeType": "ExpressionStatement", - "src": "621:15:3" + "src": "621:15:27" } ] }, "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", - "id": 205, + "id": 1591, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1130,14 +1130,14 @@ { "argumentTypes": null, "hexValue": "4f776e61626c65", - "id": 196, + "id": 1582, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "595:9:3", + "src": "595:9:27", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6df9baf4dc8c02086c72903e4bba587f1a261a8542aa45344809b4583161a59e", @@ -1148,14 +1148,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 197, + "id": 1583, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "606:7:3", + "src": "606:7:27", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -1164,37 +1164,37 @@ "value": "1.9.0" } ], - "id": 198, + "id": 1584, "modifierName": { "argumentTypes": null, - "id": 195, + "id": 1581, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1476, - "src": "581:13:3", + "referencedDeclaration": 4811, + "src": "581:13:27", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "581:33:3" + "src": "581:33:27" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 194, + "id": 1580, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 193, + "id": 1579, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 205, - "src": "557:15:3", + "scope": 1591, + "src": "557:15:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1202,10 +1202,10 @@ "typeString": "address" }, "typeName": { - "id": 192, + "id": 1578, "name": "address", "nodeType": "ElementaryTypeName", - "src": "557:7:3", + "src": "557:7:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1215,26 +1215,26 @@ "visibility": "internal" } ], - "src": "556:17:3" + "src": "556:17:27" }, "payable": false, "returnParameters": { - "id": 199, + "id": 1585, "nodeType": "ParameterList", "parameters": [], - "src": "615:0:3" + "src": "615:0:27" }, - "scope": 242, - "src": "537:104:3", + "scope": 1628, + "src": "537:104:27", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 215, + "id": 1601, "nodeType": "Block", - "src": "742:46:3", + "src": "742:46:27", "statements": [ { "expression": { @@ -1246,7 +1246,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 211, + "id": 1597, "isConstant": false, "isLValue": false, "isPure": false, @@ -1255,18 +1255,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 208, + "id": 1594, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, - "src": "756:3:3", + "referencedDeclaration": 4879, + "src": "756:3:27", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 209, + "id": 1595, "isConstant": false, "isLValue": false, "isPure": false, @@ -1274,7 +1274,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "756:10:3", + "src": "756:10:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1284,18 +1284,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 210, + "id": 1596, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "770:5:3", + "referencedDeclaration": 1571, + "src": "770:5:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "756:19:3", + "src": "756:19:27", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1309,21 +1309,21 @@ "typeString": "bool" } ], - "id": 207, + "id": 1593, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "748:7:3", + "referencedDeclaration": 4882, + "src": "748:7:27", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 212, + "id": 1598, "isConstant": false, "isLValue": false, "isPure": false, @@ -1331,41 +1331,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "748:28:3", + "src": "748:28:27", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 213, + "id": 1599, "nodeType": "ExpressionStatement", - "src": "748:28:3" + "src": "748:28:27" }, { - "id": 214, + "id": 1600, "nodeType": "PlaceholderStatement", - "src": "782:1:3" + "src": "782:1:27" } ] }, "documentation": "@dev Throws if called by any account other than the owner.", - "id": 216, + "id": 1602, "name": "onlyOwner", "nodeType": "ModifierDefinition", "parameters": { - "id": 206, + "id": 1592, "nodeType": "ParameterList", "parameters": [], - "src": "739:2:3" + "src": "739:2:27" }, - "src": "721:67:3", + "src": "721:67:27", "visibility": "internal" }, { "body": { - "id": 240, + "id": 1626, "nodeType": "Block", - "src": "1011:112:3", + "src": "1011:112:27", "statements": [ { "expression": { @@ -1377,19 +1377,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 228, + "id": 1614, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 224, + "id": 1610, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "1025:8:3", + "referencedDeclaration": 1604, + "src": "1025:8:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1403,14 +1403,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 226, + "id": 1612, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1045:1:3", + "src": "1045:1:27", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1426,20 +1426,20 @@ "typeString": "int_const 0" } ], - "id": 225, + "id": 1611, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1037:7:3", + "src": "1037:7:27", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 227, + "id": 1613, "isConstant": false, "isLValue": false, "isPure": true, @@ -1447,13 +1447,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1037:10:3", + "src": "1037:10:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1025:22:3", + "src": "1025:22:27", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1467,21 +1467,21 @@ "typeString": "bool" } ], - "id": 223, + "id": 1609, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1547, - 1548 + 4882, + 4883 ], - "referencedDeclaration": 1547, - "src": "1017:7:3", + "referencedDeclaration": 4882, + "src": "1017:7:27", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 229, + "id": 1615, "isConstant": false, "isLValue": false, "isPure": false, @@ -1489,15 +1489,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1017:31:3", + "src": "1017:31:27", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 230, + "id": 1616, "nodeType": "ExpressionStatement", - "src": "1017:31:3" + "src": "1017:31:27" }, { "eventCall": { @@ -1505,12 +1505,12 @@ "arguments": [ { "argumentTypes": null, - "id": 232, + "id": 1618, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "1080:5:3", + "referencedDeclaration": 1571, + "src": "1080:5:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1518,12 +1518,12 @@ }, { "argumentTypes": null, - "id": 233, + "id": 1619, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "1087:8:3", + "referencedDeclaration": 1604, + "src": "1087:8:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1541,18 +1541,18 @@ "typeString": "address" } ], - "id": 231, + "id": 1617, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 191, - "src": "1059:20:3", + "referencedDeclaration": 1577, + "src": "1059:20:27", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 234, + "id": 1620, "isConstant": false, "isLValue": false, "isPure": false, @@ -1560,32 +1560,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1059:37:3", + "src": "1059:37:27", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 235, + "id": 1621, "nodeType": "EmitStatement", - "src": "1054:42:3" + "src": "1054:42:27" }, { "expression": { "argumentTypes": null, - "id": 238, + "id": 1624, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 236, + "id": 1622, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "1102:5:3", + "referencedDeclaration": 1571, + "src": "1102:5:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1595,68 +1595,68 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 237, + "id": 1623, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "1110:8:3", + "referencedDeclaration": 1604, + "src": "1110:8:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1102:16:3", + "src": "1102:16:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 239, + "id": 1625, "nodeType": "ExpressionStatement", - "src": "1102:16:3" + "src": "1102:16:27" } ] }, "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param newOwner The address to transfer ownership to.", - "id": 241, + "id": 1627, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 221, + "id": 1607, "modifierName": { "argumentTypes": null, - "id": 220, + "id": 1606, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "1001:9:3", + "referencedDeclaration": 1602, + "src": "1001:9:27", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1001:9:3" + "src": "1001:9:27" } ], "name": "transferOwnership", "nodeType": "FunctionDefinition", "parameters": { - "id": 219, + "id": 1605, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 218, + "id": 1604, "name": "newOwner", "nodeType": "VariableDeclaration", - "scope": 241, - "src": "976:16:3", + "scope": 1627, + "src": "976:16:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1664,10 +1664,10 @@ "typeString": "address" }, "typeName": { - "id": 217, + "id": 1603, "name": "address", "nodeType": "ElementaryTypeName", - "src": "976:7:3", + "src": "976:7:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1677,27 +1677,27 @@ "visibility": "internal" } ], - "src": "975:18:3" + "src": "975:18:27" }, "payable": false, "returnParameters": { - "id": 222, + "id": 1608, "nodeType": "ParameterList", "parameters": [], - "src": "1011:0:3" + "src": "1011:0:27" }, - "scope": 242, - "src": "949:174:3", + "scope": 1628, + "src": "949:174:27", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 243, - "src": "272:854:3" + "scope": 1629, + "src": "272:854:27" } ], - "src": "0:1127:3" + "src": "0:1127:27" }, "compiler": { "name": "solc", @@ -1705,5 +1705,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-08-23T17:26:04.152Z" + "updatedAt": "2018-08-27T20:45:00.209Z" } \ No newline at end of file diff --git a/build/contracts/Pausable.json b/build/contracts/Pausable.json index bd8cfff66..cccc60082 100644 --- a/build/contracts/Pausable.json +++ b/build/contracts/Pausable.json @@ -145,24 +145,24 @@ "type": "function" } ], - "bytecode": "0x60806040526000600160146101000a81548160ff02191690831515021790555034801561002b57600080fd5b50610bf58061003b6000396000f300608060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633f4ba83a146100885780635c975abb1461009f5780638456cb59146100ce5780638da5cb5b146100e5578063c0bac1a81461013c578063c4d66de814610203578063f2fde38b14610246575b600080fd5b34801561009457600080fd5b5061009d610289565b005b3480156100ab57600080fd5b506100b4610349565b604051808215151515815260200191505060405180910390f35b3480156100da57600080fd5b506100e361035c565b005b3480156100f157600080fd5b506100fa61041c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014857600080fd5b506101e9600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610442565b604051808215151515815260200191505060405180910390f35b34801561020f57600080fd5b50610244600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061052d565b005b34801561025257600080fd5b50610287600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107b3565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102e557600080fd5b600160149054906101000a900460ff16151561030057600080fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600160149054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103b857600080fd5b600160149054906101000a900460ff161515156103d457600080fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080836040518082805190602001908083835b60208310151561047b5780518252602082019150602081019050602083039250610456565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156104e457805182526020820191506020810190506020830392506104bf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600881526020017f5061757361626c650000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506105a38282610442565b1515156105af57600080fd5b6105b88361090b565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561061f578082015181840152602081019050610604565b50505050905090810190601f16801561064c5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561068557808201518184015260208101905061066a565b50505050905090810190601f1680156106b25780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156106fb57805182526020820191506020810190506020830392506106d6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610764578051825260208201915060208101905060208303925061073f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561084b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506109818282610442565b15151561098d57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a35578082015181840152602081019050610a1a565b50505050905090810190601f168015610a625780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610a9b578082015181840152602081019050610a80565b50505050905090810190601f168015610ac85780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610b115780518252602082019150602081019050602083039250610aec565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610b7a5780518252602082019150602081019050602083039250610b55565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a723058202a1129852e6165d8a5113085adbe47d69b77fc42e726db663264a3a86c6139180029", - "deployedBytecode": "0x608060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633f4ba83a146100885780635c975abb1461009f5780638456cb59146100ce5780638da5cb5b146100e5578063c0bac1a81461013c578063c4d66de814610203578063f2fde38b14610246575b600080fd5b34801561009457600080fd5b5061009d610289565b005b3480156100ab57600080fd5b506100b4610349565b604051808215151515815260200191505060405180910390f35b3480156100da57600080fd5b506100e361035c565b005b3480156100f157600080fd5b506100fa61041c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014857600080fd5b506101e9600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610442565b604051808215151515815260200191505060405180910390f35b34801561020f57600080fd5b50610244600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061052d565b005b34801561025257600080fd5b50610287600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107b3565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102e557600080fd5b600160149054906101000a900460ff16151561030057600080fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600160149054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103b857600080fd5b600160149054906101000a900460ff161515156103d457600080fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080836040518082805190602001908083835b60208310151561047b5780518252602082019150602081019050602083039250610456565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156104e457805182526020820191506020810190506020830392506104bf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600881526020017f5061757361626c650000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506105a38282610442565b1515156105af57600080fd5b6105b88361090b565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561061f578082015181840152602081019050610604565b50505050905090810190601f16801561064c5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561068557808201518184015260208101905061066a565b50505050905090810190601f1680156106b25780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156106fb57805182526020820191506020810190506020830392506106d6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610764578051825260208201915060208101905060208303925061073f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561084b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506109818282610442565b15151561098d57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a35578082015181840152602081019050610a1a565b50505050905090810190601f168015610a625780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610a9b578082015181840152602081019050610a80565b50505050905090810190601f168015610ac85780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610b115780518252602082019150602081019050602083039250610aec565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610b7a5780518252602082019150602081019050602083039250610b55565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a723058202a1129852e6165d8a5113085adbe47d69b77fc42e726db663264a3a86c6139180029", - "sourceMap": "177:889:4:-;;;280:5;259:26;;;;;;;;;;;;;;;;;;;;177:889;8:9:-1;5:2;;;30:1;27;20:12;5:2;177:889:4;;;;;;;", - "deployedSourceMap": "177:889:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;972:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;972:92:4;;;;;;259:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;259:26:4;;;;;;;;;;;;;;;;;;;;;;;;;;;800:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;800:90:4;;;;;;307:20:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:25;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:118:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;291:118:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;972:92:4;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;702:6:4;;;;;;;;;;;694:15;;;;;;;;1034:5;1025:6;;:14;;;;;;;;;;;;;;;;;;1050:9;;;;;;;;;;972:92::o;259:26::-;;;;;;;;;;;;;:::o;800:90::-;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;550:6:4;;;;;;;;;;;549:7;541:16;;;;;;;;863:4;854:6;;:13;;;;;;;;;;;;;;;;;;878:7;;;;;;;;;;800:90::o;307:20:25:-;;;;;;;;;;;;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;291:118:4:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;377:27:4;396:7;377:18;:27::i;:::-;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;291:118:4;;;:::o;949:174:25:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;537:104::-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:25;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:25;;;:::o", + "bytecode": "0x60806040526000600160146101000a81548160ff02191690831515021790555034801561002b57600080fd5b50610bf58061003b6000396000f300608060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633f4ba83a146100885780635c975abb1461009f5780638456cb59146100ce5780638da5cb5b146100e5578063c0bac1a81461013c578063c4d66de814610203578063f2fde38b14610246575b600080fd5b34801561009457600080fd5b5061009d610289565b005b3480156100ab57600080fd5b506100b4610349565b604051808215151515815260200191505060405180910390f35b3480156100da57600080fd5b506100e361035c565b005b3480156100f157600080fd5b506100fa61041c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014857600080fd5b506101e9600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610442565b604051808215151515815260200191505060405180910390f35b34801561020f57600080fd5b50610244600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061052d565b005b34801561025257600080fd5b50610287600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107b3565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102e557600080fd5b600160149054906101000a900460ff16151561030057600080fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600160149054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103b857600080fd5b600160149054906101000a900460ff161515156103d457600080fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080836040518082805190602001908083835b60208310151561047b5780518252602082019150602081019050602083039250610456565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156104e457805182526020820191506020810190506020830392506104bf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600881526020017f5061757361626c650000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506105a38282610442565b1515156105af57600080fd5b6105b88361090b565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561061f578082015181840152602081019050610604565b50505050905090810190601f16801561064c5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561068557808201518184015260208101905061066a565b50505050905090810190601f1680156106b25780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156106fb57805182526020820191506020810190506020830392506106d6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610764578051825260208201915060208101905060208303925061073f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561084b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506109818282610442565b15151561098d57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a35578082015181840152602081019050610a1a565b50505050905090810190601f168015610a625780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610a9b578082015181840152602081019050610a80565b50505050905090810190601f168015610ac85780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610b115780518252602082019150602081019050602083039250610aec565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610b7a5780518252602082019150602081019050602083039250610b55565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a72305820e3d4a737590861f000a1a4acc2477e93de7168f950206a6ebe170021525637080029", + "deployedBytecode": "0x608060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633f4ba83a146100885780635c975abb1461009f5780638456cb59146100ce5780638da5cb5b146100e5578063c0bac1a81461013c578063c4d66de814610203578063f2fde38b14610246575b600080fd5b34801561009457600080fd5b5061009d610289565b005b3480156100ab57600080fd5b506100b4610349565b604051808215151515815260200191505060405180910390f35b3480156100da57600080fd5b506100e361035c565b005b3480156100f157600080fd5b506100fa61041c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014857600080fd5b506101e9600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610442565b604051808215151515815260200191505060405180910390f35b34801561020f57600080fd5b50610244600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061052d565b005b34801561025257600080fd5b50610287600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107b3565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102e557600080fd5b600160149054906101000a900460ff16151561030057600080fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600160149054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103b857600080fd5b600160149054906101000a900460ff161515156103d457600080fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080836040518082805190602001908083835b60208310151561047b5780518252602082019150602081019050602083039250610456565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156104e457805182526020820191506020810190506020830392506104bf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600881526020017f5061757361626c650000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506105a38282610442565b1515156105af57600080fd5b6105b88361090b565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561061f578082015181840152602081019050610604565b50505050905090810190601f16801561064c5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561068557808201518184015260208101905061066a565b50505050905090810190601f1680156106b25780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156106fb57805182526020820191506020810190506020830392506106d6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610764578051825260208201915060208101905060208303925061073f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561084b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506109818282610442565b15151561098d57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a35578082015181840152602081019050610a1a565b50505050905090810190601f168015610a625780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610a9b578082015181840152602081019050610a80565b50505050905090810190601f168015610ac85780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610b115780518252602082019150602081019050602083039250610aec565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610b7a5780518252602082019150602081019050602083039250610b55565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a72305820e3d4a737590861f000a1a4acc2477e93de7168f950206a6ebe170021525637080029", + "sourceMap": "177:889:6:-;;;280:5;259:26;;;;;;;;;;;;;;;;;;;;177:889;8:9:-1;5:2;;;30:1;27;20:12;5:2;177:889:6;;;;;;;", + "deployedSourceMap": "177:889:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;972:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;972:92:6;;;;;;259:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;259:26:6;;;;;;;;;;;;;;;;;;;;;;;;;;;800:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;800:90:6;;;;;;307:20:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:27;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:118:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;291:118:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;972:92:6;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;702:6:6;;;;;;;;;;;694:15;;;;;;;;1034:5;1025:6;;:14;;;;;;;;;;;;;;;;;;1050:9;;;;;;;;;;972:92::o;259:26::-;;;;;;;;;;;;;:::o;800:90::-;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;550:6:6;;;;;;;;;;;549:7;541:16;;;;;;;;863:4;854:6;;:13;;;;;;;;;;;;;;;;;;878:7;;;;;;;;;;800:90::o;307:20:27:-;;;;;;;;;;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;291:118:6:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;377:27:6;396:7;377:18;:27::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;291:118:6;;;:::o;949:174:27:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;537:104::-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:27;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:27;;;:::o", "source": "pragma solidity ^0.4.21;\n\n\nimport \"../ownership/Ownable.sol\";\n\n\n/**\n * @title Pausable\n * @dev Base contract which allows children to implement an emergency stop mechanism.\n */\ncontract Pausable is Migratable, Ownable {\n event Pause();\n event Unpause();\n\n bool public paused = false;\n\n\n function initialize(address _sender) isInitializer(\"Pausable\", \"1.9.0\") public {\n Ownable.initialize(_sender);\n }\n\n /**\n * @dev Modifier to make a function callable only when the contract is not paused.\n */\n modifier whenNotPaused() {\n require(!paused);\n _;\n }\n\n /**\n * @dev Modifier to make a function callable only when the contract is paused.\n */\n modifier whenPaused() {\n require(paused);\n _;\n }\n\n /**\n * @dev called by the owner to pause, triggers stopped state\n */\n function pause() onlyOwner whenNotPaused public {\n paused = true;\n emit Pause();\n }\n\n /**\n * @dev called by the owner to unpause, returns to normal state\n */\n function unpause() onlyOwner whenPaused public {\n paused = false;\n emit Unpause();\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/lifecycle/Pausable.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/lifecycle/Pausable.sol", "exportedSymbols": { "Pausable": [ - 371 + 414 ] }, - "id": 372, + "id": 415, "nodeType": "SourceUnit", "nodes": [ { - "id": 295, + "id": 338, "literals": [ "solidity", "^", @@ -170,16 +170,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:4" + "src": "0:24:6" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/Ownable.sol", "file": "../ownership/Ownable.sol", - "id": 296, + "id": 339, "nodeType": "ImportDirective", - "scope": 372, - "sourceUnit": 1581, - "src": "27:34:4", + "scope": 415, + "sourceUnit": 1629, + "src": "27:34:6", "symbolAliases": [], "unitAlias": "" }, @@ -189,51 +189,51 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 297, + "id": 340, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "198:10:4", + "referencedDeclaration": 4864, + "src": "198:10:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 298, + "id": 341, "nodeType": "InheritanceSpecifier", - "src": "198:10:4" + "src": "198:10:6" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 299, + "id": 342, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1580, - "src": "210:7:4", + "referencedDeclaration": 1628, + "src": "210:7:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$1580", + "typeIdentifier": "t_contract$_Ownable_$1628", "typeString": "contract Ownable" } }, - "id": 300, + "id": 343, "nodeType": "InheritanceSpecifier", - "src": "210:7:4" + "src": "210:7:6" } ], "contractDependencies": [ - 1580, - 4769 + 1628, + 4864 ], "contractKind": "contract", "documentation": "@title Pausable\n@dev Base contract which allows children to implement an emergency stop mechanism.", "fullyImplemented": true, - "id": 371, + "id": 414, "linearizedBaseContracts": [ - 371, - 1580, - 4769 + 414, + 1628, + 4864 ], "name": "Pausable", "nodeType": "ContractDefinition", @@ -241,38 +241,38 @@ { "anonymous": false, "documentation": null, - "id": 302, + "id": 345, "name": "Pause", "nodeType": "EventDefinition", "parameters": { - "id": 301, + "id": 344, "nodeType": "ParameterList", "parameters": [], - "src": "233:2:4" + "src": "233:2:6" }, - "src": "222:14:4" + "src": "222:14:6" }, { "anonymous": false, "documentation": null, - "id": 304, + "id": 347, "name": "Unpause", "nodeType": "EventDefinition", "parameters": { - "id": 303, + "id": 346, "nodeType": "ParameterList", "parameters": [], - "src": "252:2:4" + "src": "252:2:6" }, - "src": "239:16:4" + "src": "239:16:6" }, { "constant": false, - "id": 307, + "id": 350, "name": "paused", "nodeType": "VariableDeclaration", - "scope": 371, - "src": "259:26:4", + "scope": 414, + "src": "259:26:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -280,10 +280,10 @@ "typeString": "bool" }, "typeName": { - "id": 305, + "id": 348, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "259:4:4", + "src": "259:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -292,14 +292,14 @@ "value": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 306, + "id": 349, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "280:5:4", + "src": "280:5:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -311,9 +311,9 @@ }, { "body": { - "id": 322, + "id": 365, "nodeType": "Block", - "src": "371:38:4", + "src": "371:38:6", "statements": [ { "expression": { @@ -321,12 +321,12 @@ "arguments": [ { "argumentTypes": null, - "id": 319, + "id": 362, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "396:7:4", + "referencedDeclaration": 352, + "src": "396:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -342,32 +342,32 @@ ], "expression": { "argumentTypes": null, - "id": 316, + "id": 359, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "377:7:4", + "referencedDeclaration": 1628, + "src": "377:7:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Ownable_$1580_$", + "typeIdentifier": "t_type$_t_contract$_Ownable_$1628_$", "typeString": "type(contract Ownable)" } }, - "id": 318, + "id": 361, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1543, - "src": "377:18:4", + "referencedDeclaration": 1591, + "src": "377:18:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 320, + "id": 363, "isConstant": false, "isLValue": false, "isPure": false, @@ -375,20 +375,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "377:27:4", + "src": "377:27:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 321, + "id": 364, "nodeType": "ExpressionStatement", - "src": "377:27:4" + "src": "377:27:6" } ] }, "documentation": null, - "id": 323, + "id": 366, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -398,14 +398,14 @@ { "argumentTypes": null, "hexValue": "5061757361626c65", - "id": 312, + "id": 355, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "342:10:4", + "src": "342:10:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_74101298aa9992e60b5338ca3e643cfb631bd0a3c134c95f3277e9720e038e93", @@ -416,14 +416,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 313, + "id": 356, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "354:7:4", + "src": "354:7:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -432,37 +432,37 @@ "value": "1.9.0" } ], - "id": 314, + "id": 357, "modifierName": { "argumentTypes": null, - "id": 311, + "id": 354, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "328:13:4", + "referencedDeclaration": 4811, + "src": "328:13:6", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "328:34:4" + "src": "328:34:6" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 310, + "id": 353, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 309, + "id": 352, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 323, - "src": "311:15:4", + "scope": 366, + "src": "311:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -470,10 +470,10 @@ "typeString": "address" }, "typeName": { - "id": 308, + "id": 351, "name": "address", "nodeType": "ElementaryTypeName", - "src": "311:7:4", + "src": "311:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -483,26 +483,26 @@ "visibility": "internal" } ], - "src": "310:17:4" + "src": "310:17:6" }, "payable": false, "returnParameters": { - "id": 315, + "id": 358, "nodeType": "ParameterList", "parameters": [], - "src": "371:0:4" + "src": "371:0:6" }, - "scope": 371, - "src": "291:118:4", + "scope": 414, + "src": "291:118:6", "stateMutability": "nonpayable", - "superFunction": 1543, + "superFunction": 1591, "visibility": "public" }, { "body": { - "id": 331, + "id": 374, "nodeType": "Block", - "src": "535:34:4", + "src": "535:34:6", "statements": [ { "expression": { @@ -510,7 +510,7 @@ "arguments": [ { "argumentTypes": null, - "id": 327, + "id": 370, "isConstant": false, "isLValue": false, "isPure": false, @@ -518,15 +518,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "549:7:4", + "src": "549:7:6", "subExpression": { "argumentTypes": null, - "id": 326, + "id": 369, "name": "paused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "550:6:4", + "referencedDeclaration": 350, + "src": "550:6:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -545,21 +545,21 @@ "typeString": "bool" } ], - "id": 325, + "id": 368, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "541:7:4", + "referencedDeclaration": 4882, + "src": "541:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 328, + "id": 371, "isConstant": false, "isLValue": false, "isPure": false, @@ -567,41 +567,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "541:16:4", + "src": "541:16:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 329, + "id": 372, "nodeType": "ExpressionStatement", - "src": "541:16:4" + "src": "541:16:6" }, { - "id": 330, + "id": 373, "nodeType": "PlaceholderStatement", - "src": "563:1:4" + "src": "563:1:6" } ] }, "documentation": "@dev Modifier to make a function callable only when the contract is not paused.", - "id": 332, + "id": 375, "name": "whenNotPaused", "nodeType": "ModifierDefinition", "parameters": { - "id": 324, + "id": 367, "nodeType": "ParameterList", "parameters": [], - "src": "532:2:4" + "src": "532:2:6" }, - "src": "510:59:4", + "src": "510:59:6", "visibility": "internal" }, { "body": { - "id": 339, + "id": 382, "nodeType": "Block", - "src": "688:33:4", + "src": "688:33:6", "statements": [ { "expression": { @@ -609,12 +609,12 @@ "arguments": [ { "argumentTypes": null, - "id": 335, + "id": 378, "name": "paused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "702:6:4", + "referencedDeclaration": 350, + "src": "702:6:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -628,21 +628,21 @@ "typeString": "bool" } ], - "id": 334, + "id": 377, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "694:7:4", + "referencedDeclaration": 4882, + "src": "694:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 336, + "id": 379, "isConstant": false, "isLValue": false, "isPure": false, @@ -650,58 +650,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "694:15:4", + "src": "694:15:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 337, + "id": 380, "nodeType": "ExpressionStatement", - "src": "694:15:4" + "src": "694:15:6" }, { - "id": 338, + "id": 381, "nodeType": "PlaceholderStatement", - "src": "715:1:4" + "src": "715:1:6" } ] }, "documentation": "@dev Modifier to make a function callable only when the contract is paused.", - "id": 340, + "id": 383, "name": "whenPaused", "nodeType": "ModifierDefinition", "parameters": { - "id": 333, + "id": 376, "nodeType": "ParameterList", "parameters": [], - "src": "685:2:4" + "src": "685:2:6" }, - "src": "666:55:4", + "src": "666:55:6", "visibility": "internal" }, { "body": { - "id": 354, + "id": 397, "nodeType": "Block", - "src": "848:42:4", + "src": "848:42:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 349, + "id": 392, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 347, + "id": 390, "name": "paused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "854:6:4", + "referencedDeclaration": 350, + "src": "854:6:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -712,14 +712,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 348, + "id": 391, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "863:4:4", + "src": "863:4:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -727,15 +727,15 @@ }, "value": "true" }, - "src": "854:13:4", + "src": "854:13:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 350, + "id": 393, "nodeType": "ExpressionStatement", - "src": "854:13:4" + "src": "854:13:6" }, { "eventCall": { @@ -743,18 +743,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 351, + "id": 394, "name": "Pause", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 302, - "src": "878:5:4", + "referencedDeclaration": 345, + "src": "878:5:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 352, + "id": 395, "isConstant": false, "isLValue": false, "isPure": false, @@ -762,106 +762,106 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "878:7:4", + "src": "878:7:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 353, + "id": 396, "nodeType": "EmitStatement", - "src": "873:12:4" + "src": "873:12:6" } ] }, "documentation": "@dev called by the owner to pause, triggers stopped state", - "id": 355, + "id": 398, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 343, + "id": 386, "modifierName": { "argumentTypes": null, - "id": 342, + "id": 385, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1554, - "src": "817:9:4", + "referencedDeclaration": 1602, + "src": "817:9:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "817:9:4" + "src": "817:9:6" }, { "arguments": null, - "id": 345, + "id": 388, "modifierName": { "argumentTypes": null, - "id": 344, + "id": 387, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "827:13:4", + "referencedDeclaration": 375, + "src": "827:13:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "827:13:4" + "src": "827:13:6" } ], "name": "pause", "nodeType": "FunctionDefinition", "parameters": { - "id": 341, + "id": 384, "nodeType": "ParameterList", "parameters": [], - "src": "814:2:4" + "src": "814:2:6" }, "payable": false, "returnParameters": { - "id": 346, + "id": 389, "nodeType": "ParameterList", "parameters": [], - "src": "848:0:4" + "src": "848:0:6" }, - "scope": 371, - "src": "800:90:4", + "scope": 414, + "src": "800:90:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 369, + "id": 412, "nodeType": "Block", - "src": "1019:45:4", + "src": "1019:45:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 364, + "id": 407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 362, + "id": 405, "name": "paused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "1025:6:4", + "referencedDeclaration": 350, + "src": "1025:6:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -872,14 +872,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 363, + "id": 406, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1034:5:4", + "src": "1034:5:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -887,15 +887,15 @@ }, "value": "false" }, - "src": "1025:14:4", + "src": "1025:14:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 365, + "id": 408, "nodeType": "ExpressionStatement", - "src": "1025:14:4" + "src": "1025:14:6" }, { "eventCall": { @@ -903,18 +903,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 366, + "id": 409, "name": "Unpause", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "1050:7:4", + "referencedDeclaration": 347, + "src": "1050:7:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 367, + "id": 410, "isConstant": false, "isLValue": false, "isPure": false, @@ -922,103 +922,103 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1050:9:4", + "src": "1050:9:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 368, + "id": 411, "nodeType": "EmitStatement", - "src": "1045:14:4" + "src": "1045:14:6" } ] }, "documentation": "@dev called by the owner to unpause, returns to normal state", - "id": 370, + "id": 413, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 358, + "id": 401, "modifierName": { "argumentTypes": null, - "id": 357, + "id": 400, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1554, - "src": "991:9:4", + "referencedDeclaration": 1602, + "src": "991:9:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "991:9:4" + "src": "991:9:6" }, { "arguments": null, - "id": 360, + "id": 403, "modifierName": { "argumentTypes": null, - "id": 359, + "id": 402, "name": "whenPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "1001:10:4", + "referencedDeclaration": 383, + "src": "1001:10:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1001:10:4" + "src": "1001:10:6" } ], "name": "unpause", "nodeType": "FunctionDefinition", "parameters": { - "id": 356, + "id": 399, "nodeType": "ParameterList", "parameters": [], - "src": "988:2:4" + "src": "988:2:6" }, "payable": false, "returnParameters": { - "id": 361, + "id": 404, "nodeType": "ParameterList", "parameters": [], - "src": "1019:0:4" + "src": "1019:0:6" }, - "scope": 371, - "src": "972:92:4", + "scope": 414, + "src": "972:92:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 372, - "src": "177:889:4" + "scope": 415, + "src": "177:889:6" } ], - "src": "0:1067:4" + "src": "0:1067:6" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/lifecycle/Pausable.sol", "exportedSymbols": { "Pausable": [ - 371 + 414 ] }, - "id": 372, + "id": 415, "nodeType": "SourceUnit", "nodes": [ { - "id": 295, + "id": 338, "literals": [ "solidity", "^", @@ -1026,16 +1026,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:4" + "src": "0:24:6" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/Ownable.sol", "file": "../ownership/Ownable.sol", - "id": 296, + "id": 339, "nodeType": "ImportDirective", - "scope": 372, - "sourceUnit": 1581, - "src": "27:34:4", + "scope": 415, + "sourceUnit": 1629, + "src": "27:34:6", "symbolAliases": [], "unitAlias": "" }, @@ -1045,51 +1045,51 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 297, + "id": 340, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "198:10:4", + "referencedDeclaration": 4864, + "src": "198:10:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 298, + "id": 341, "nodeType": "InheritanceSpecifier", - "src": "198:10:4" + "src": "198:10:6" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 299, + "id": 342, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1580, - "src": "210:7:4", + "referencedDeclaration": 1628, + "src": "210:7:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$1580", + "typeIdentifier": "t_contract$_Ownable_$1628", "typeString": "contract Ownable" } }, - "id": 300, + "id": 343, "nodeType": "InheritanceSpecifier", - "src": "210:7:4" + "src": "210:7:6" } ], "contractDependencies": [ - 1580, - 4769 + 1628, + 4864 ], "contractKind": "contract", "documentation": "@title Pausable\n@dev Base contract which allows children to implement an emergency stop mechanism.", "fullyImplemented": true, - "id": 371, + "id": 414, "linearizedBaseContracts": [ - 371, - 1580, - 4769 + 414, + 1628, + 4864 ], "name": "Pausable", "nodeType": "ContractDefinition", @@ -1097,38 +1097,38 @@ { "anonymous": false, "documentation": null, - "id": 302, + "id": 345, "name": "Pause", "nodeType": "EventDefinition", "parameters": { - "id": 301, + "id": 344, "nodeType": "ParameterList", "parameters": [], - "src": "233:2:4" + "src": "233:2:6" }, - "src": "222:14:4" + "src": "222:14:6" }, { "anonymous": false, "documentation": null, - "id": 304, + "id": 347, "name": "Unpause", "nodeType": "EventDefinition", "parameters": { - "id": 303, + "id": 346, "nodeType": "ParameterList", "parameters": [], - "src": "252:2:4" + "src": "252:2:6" }, - "src": "239:16:4" + "src": "239:16:6" }, { "constant": false, - "id": 307, + "id": 350, "name": "paused", "nodeType": "VariableDeclaration", - "scope": 371, - "src": "259:26:4", + "scope": 414, + "src": "259:26:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1136,10 +1136,10 @@ "typeString": "bool" }, "typeName": { - "id": 305, + "id": 348, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "259:4:4", + "src": "259:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1148,14 +1148,14 @@ "value": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 306, + "id": 349, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "280:5:4", + "src": "280:5:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1167,9 +1167,9 @@ }, { "body": { - "id": 322, + "id": 365, "nodeType": "Block", - "src": "371:38:4", + "src": "371:38:6", "statements": [ { "expression": { @@ -1177,12 +1177,12 @@ "arguments": [ { "argumentTypes": null, - "id": 319, + "id": 362, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "396:7:4", + "referencedDeclaration": 352, + "src": "396:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1198,32 +1198,32 @@ ], "expression": { "argumentTypes": null, - "id": 316, + "id": 359, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "377:7:4", + "referencedDeclaration": 1628, + "src": "377:7:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Ownable_$1580_$", + "typeIdentifier": "t_type$_t_contract$_Ownable_$1628_$", "typeString": "type(contract Ownable)" } }, - "id": 318, + "id": 361, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1543, - "src": "377:18:4", + "referencedDeclaration": 1591, + "src": "377:18:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 320, + "id": 363, "isConstant": false, "isLValue": false, "isPure": false, @@ -1231,20 +1231,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "377:27:4", + "src": "377:27:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 321, + "id": 364, "nodeType": "ExpressionStatement", - "src": "377:27:4" + "src": "377:27:6" } ] }, "documentation": null, - "id": 323, + "id": 366, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1254,14 +1254,14 @@ { "argumentTypes": null, "hexValue": "5061757361626c65", - "id": 312, + "id": 355, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "342:10:4", + "src": "342:10:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_74101298aa9992e60b5338ca3e643cfb631bd0a3c134c95f3277e9720e038e93", @@ -1272,14 +1272,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 313, + "id": 356, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "354:7:4", + "src": "354:7:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -1288,37 +1288,37 @@ "value": "1.9.0" } ], - "id": 314, + "id": 357, "modifierName": { "argumentTypes": null, - "id": 311, + "id": 354, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "328:13:4", + "referencedDeclaration": 4811, + "src": "328:13:6", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "328:34:4" + "src": "328:34:6" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 310, + "id": 353, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 309, + "id": 352, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 323, - "src": "311:15:4", + "scope": 366, + "src": "311:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1326,10 +1326,10 @@ "typeString": "address" }, "typeName": { - "id": 308, + "id": 351, "name": "address", "nodeType": "ElementaryTypeName", - "src": "311:7:4", + "src": "311:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1339,26 +1339,26 @@ "visibility": "internal" } ], - "src": "310:17:4" + "src": "310:17:6" }, "payable": false, "returnParameters": { - "id": 315, + "id": 358, "nodeType": "ParameterList", "parameters": [], - "src": "371:0:4" + "src": "371:0:6" }, - "scope": 371, - "src": "291:118:4", + "scope": 414, + "src": "291:118:6", "stateMutability": "nonpayable", - "superFunction": 1543, + "superFunction": 1591, "visibility": "public" }, { "body": { - "id": 331, + "id": 374, "nodeType": "Block", - "src": "535:34:4", + "src": "535:34:6", "statements": [ { "expression": { @@ -1366,7 +1366,7 @@ "arguments": [ { "argumentTypes": null, - "id": 327, + "id": 370, "isConstant": false, "isLValue": false, "isPure": false, @@ -1374,15 +1374,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "549:7:4", + "src": "549:7:6", "subExpression": { "argumentTypes": null, - "id": 326, + "id": 369, "name": "paused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "550:6:4", + "referencedDeclaration": 350, + "src": "550:6:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1401,21 +1401,21 @@ "typeString": "bool" } ], - "id": 325, + "id": 368, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "541:7:4", + "referencedDeclaration": 4882, + "src": "541:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 328, + "id": 371, "isConstant": false, "isLValue": false, "isPure": false, @@ -1423,41 +1423,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "541:16:4", + "src": "541:16:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 329, + "id": 372, "nodeType": "ExpressionStatement", - "src": "541:16:4" + "src": "541:16:6" }, { - "id": 330, + "id": 373, "nodeType": "PlaceholderStatement", - "src": "563:1:4" + "src": "563:1:6" } ] }, "documentation": "@dev Modifier to make a function callable only when the contract is not paused.", - "id": 332, + "id": 375, "name": "whenNotPaused", "nodeType": "ModifierDefinition", "parameters": { - "id": 324, + "id": 367, "nodeType": "ParameterList", "parameters": [], - "src": "532:2:4" + "src": "532:2:6" }, - "src": "510:59:4", + "src": "510:59:6", "visibility": "internal" }, { "body": { - "id": 339, + "id": 382, "nodeType": "Block", - "src": "688:33:4", + "src": "688:33:6", "statements": [ { "expression": { @@ -1465,12 +1465,12 @@ "arguments": [ { "argumentTypes": null, - "id": 335, + "id": 378, "name": "paused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "702:6:4", + "referencedDeclaration": 350, + "src": "702:6:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1484,21 +1484,21 @@ "typeString": "bool" } ], - "id": 334, + "id": 377, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "694:7:4", + "referencedDeclaration": 4882, + "src": "694:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 336, + "id": 379, "isConstant": false, "isLValue": false, "isPure": false, @@ -1506,58 +1506,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "694:15:4", + "src": "694:15:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 337, + "id": 380, "nodeType": "ExpressionStatement", - "src": "694:15:4" + "src": "694:15:6" }, { - "id": 338, + "id": 381, "nodeType": "PlaceholderStatement", - "src": "715:1:4" + "src": "715:1:6" } ] }, "documentation": "@dev Modifier to make a function callable only when the contract is paused.", - "id": 340, + "id": 383, "name": "whenPaused", "nodeType": "ModifierDefinition", "parameters": { - "id": 333, + "id": 376, "nodeType": "ParameterList", "parameters": [], - "src": "685:2:4" + "src": "685:2:6" }, - "src": "666:55:4", + "src": "666:55:6", "visibility": "internal" }, { "body": { - "id": 354, + "id": 397, "nodeType": "Block", - "src": "848:42:4", + "src": "848:42:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 349, + "id": 392, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 347, + "id": 390, "name": "paused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "854:6:4", + "referencedDeclaration": 350, + "src": "854:6:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1568,14 +1568,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 348, + "id": 391, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "863:4:4", + "src": "863:4:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1583,15 +1583,15 @@ }, "value": "true" }, - "src": "854:13:4", + "src": "854:13:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 350, + "id": 393, "nodeType": "ExpressionStatement", - "src": "854:13:4" + "src": "854:13:6" }, { "eventCall": { @@ -1599,18 +1599,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 351, + "id": 394, "name": "Pause", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 302, - "src": "878:5:4", + "referencedDeclaration": 345, + "src": "878:5:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 352, + "id": 395, "isConstant": false, "isLValue": false, "isPure": false, @@ -1618,106 +1618,106 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "878:7:4", + "src": "878:7:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 353, + "id": 396, "nodeType": "EmitStatement", - "src": "873:12:4" + "src": "873:12:6" } ] }, "documentation": "@dev called by the owner to pause, triggers stopped state", - "id": 355, + "id": 398, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 343, + "id": 386, "modifierName": { "argumentTypes": null, - "id": 342, + "id": 385, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1554, - "src": "817:9:4", + "referencedDeclaration": 1602, + "src": "817:9:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "817:9:4" + "src": "817:9:6" }, { "arguments": null, - "id": 345, + "id": 388, "modifierName": { "argumentTypes": null, - "id": 344, + "id": 387, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "827:13:4", + "referencedDeclaration": 375, + "src": "827:13:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "827:13:4" + "src": "827:13:6" } ], "name": "pause", "nodeType": "FunctionDefinition", "parameters": { - "id": 341, + "id": 384, "nodeType": "ParameterList", "parameters": [], - "src": "814:2:4" + "src": "814:2:6" }, "payable": false, "returnParameters": { - "id": 346, + "id": 389, "nodeType": "ParameterList", "parameters": [], - "src": "848:0:4" + "src": "848:0:6" }, - "scope": 371, - "src": "800:90:4", + "scope": 414, + "src": "800:90:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 369, + "id": 412, "nodeType": "Block", - "src": "1019:45:4", + "src": "1019:45:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 364, + "id": 407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 362, + "id": 405, "name": "paused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "1025:6:4", + "referencedDeclaration": 350, + "src": "1025:6:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1728,14 +1728,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 363, + "id": 406, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1034:5:4", + "src": "1034:5:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1743,15 +1743,15 @@ }, "value": "false" }, - "src": "1025:14:4", + "src": "1025:14:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 365, + "id": 408, "nodeType": "ExpressionStatement", - "src": "1025:14:4" + "src": "1025:14:6" }, { "eventCall": { @@ -1759,18 +1759,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 366, + "id": 409, "name": "Unpause", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "1050:7:4", + "referencedDeclaration": 347, + "src": "1050:7:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 367, + "id": 410, "isConstant": false, "isLValue": false, "isPure": false, @@ -1778,96 +1778,96 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1050:9:4", + "src": "1050:9:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 368, + "id": 411, "nodeType": "EmitStatement", - "src": "1045:14:4" + "src": "1045:14:6" } ] }, "documentation": "@dev called by the owner to unpause, returns to normal state", - "id": 370, + "id": 413, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 358, + "id": 401, "modifierName": { "argumentTypes": null, - "id": 357, + "id": 400, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1554, - "src": "991:9:4", + "referencedDeclaration": 1602, + "src": "991:9:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "991:9:4" + "src": "991:9:6" }, { "arguments": null, - "id": 360, + "id": 403, "modifierName": { "argumentTypes": null, - "id": 359, + "id": 402, "name": "whenPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "1001:10:4", + "referencedDeclaration": 383, + "src": "1001:10:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1001:10:4" + "src": "1001:10:6" } ], "name": "unpause", "nodeType": "FunctionDefinition", "parameters": { - "id": 356, + "id": 399, "nodeType": "ParameterList", "parameters": [], - "src": "988:2:4" + "src": "988:2:6" }, "payable": false, "returnParameters": { - "id": 361, + "id": 404, "nodeType": "ParameterList", "parameters": [], - "src": "1019:0:4" + "src": "1019:0:6" }, - "scope": 371, - "src": "972:92:4", + "scope": 414, + "src": "972:92:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 372, - "src": "177:889:4" + "scope": 415, + "src": "177:889:6" } ], - "src": "0:1067:4" + "src": "0:1067:6" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.613Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.203Z" } \ No newline at end of file diff --git a/build/contracts/PausableMock.json b/build/contracts/PausableMock.json index 89f8d3d94..e0c7598b9 100644 --- a/build/contracts/PausableMock.json +++ b/build/contracts/PausableMock.json @@ -197,24 +197,24 @@ "type": "function" } ], - "bytecode": "0x60806040526000600160146101000a81548160ff0219169083151502179055503480156200002c57600080fd5b506200004c33620000756401000000000262000a3f176401000000009004565b6000600160156101000a81548160ff02191690831515021790555060006002819055506200043e565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250620000fc82826200034f640100000000026401000000009004565b1515156200010957600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015620001b357808201518184015260208101905062000196565b50505050905090810190601f168015620001e15780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156200021c578082015181840152602081019050620001ff565b50505050905090810190601f1680156200024a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156200029557805182526020820191506020810190506020830392506200026e565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515620003005780518252602082019150602081019050602083039250620002d9565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600080836040518082805190602001908083835b6020831015156200038a578051825260208201915060208101905060208303925062000363565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515620003f55780518252602082019150602081019050602083039250620003ce565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b610d29806200044e6000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd146100b45780633f4ba83a146100df5780635c975abb146100f657806376657b8e146101255780638456cb59146101545780638da5cb5b1461016b5780639958f045146101c2578063c0bac1a8146101d9578063c4d66de8146102a0578063e7651d7a146102e3578063f2fde38b146102fa575b600080fd5b3480156100c057600080fd5b506100c961033d565b6040518082815260200191505060405180910390f35b3480156100eb57600080fd5b506100f4610343565b005b34801561010257600080fd5b5061010b610403565b604051808215151515815260200191505060405180910390f35b34801561013157600080fd5b5061013a610416565b604051808215151515815260200191505060405180910390f35b34801561016057600080fd5b50610169610429565b005b34801561017757600080fd5b506101806104e9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ce57600080fd5b506101d761050f565b005b3480156101e557600080fd5b50610286600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610546565b604051808215151515815260200191505060405180910390f35b3480156102ac57600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610631565b005b3480156102ef57600080fd5b506102f86108b7565b005b34801561030657600080fd5b5061033b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108e7565b005b60025481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561039f57600080fd5b600160149054906101000a900460ff1615156103ba57600080fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600160149054906101000a900460ff1681565b600160159054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561048557600080fd5b600160149054906101000a900460ff161515156104a157600080fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160149054906101000a900460ff16151561052a57600080fd5b60018060156101000a81548160ff021916908315150217905550565b600080836040518082805190602001908083835b60208310151561057f578051825260208201915060208101905060208303925061055a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156105e857805182526020820191506020810190506020830392506105c3565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600881526020017f5061757361626c650000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506106a78282610546565b1515156106b357600080fd5b6106bc83610a3f565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610723578082015181840152602081019050610708565b50505050905090810190601f1680156107505780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561078957808201518184015260208101905061076e565b50505050905090810190601f1680156107b65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156107ff57805182526020820191506020810190506020830392506107da565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156108685780518252602082019150602081019050602083039250610843565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600160149054906101000a900460ff161515156108d357600080fd5b600260008154809291906001019190505550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561094357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561097f57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610ab58282610546565b151515610ac157600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610b69578082015181840152602081019050610b4e565b50505050905090810190601f168015610b965780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610bcf578082015181840152602081019050610bb4565b50505050905090810190601f168015610bfc5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610c455780518252602082019150602081019050602083039250610c20565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610cae5780518252602082019150602081019050602083039250610c89565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a723058204047fdb1edcfb734bcc07569cda817cbdd8c8a0cb6238f222cd864a95ea512330029", - "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd146100b45780633f4ba83a146100df5780635c975abb146100f657806376657b8e146101255780638456cb59146101545780638da5cb5b1461016b5780639958f045146101c2578063c0bac1a8146101d9578063c4d66de8146102a0578063e7651d7a146102e3578063f2fde38b146102fa575b600080fd5b3480156100c057600080fd5b506100c961033d565b6040518082815260200191505060405180910390f35b3480156100eb57600080fd5b506100f4610343565b005b34801561010257600080fd5b5061010b610403565b604051808215151515815260200191505060405180910390f35b34801561013157600080fd5b5061013a610416565b604051808215151515815260200191505060405180910390f35b34801561016057600080fd5b50610169610429565b005b34801561017757600080fd5b506101806104e9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ce57600080fd5b506101d761050f565b005b3480156101e557600080fd5b50610286600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610546565b604051808215151515815260200191505060405180910390f35b3480156102ac57600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610631565b005b3480156102ef57600080fd5b506102f86108b7565b005b34801561030657600080fd5b5061033b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108e7565b005b60025481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561039f57600080fd5b600160149054906101000a900460ff1615156103ba57600080fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600160149054906101000a900460ff1681565b600160159054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561048557600080fd5b600160149054906101000a900460ff161515156104a157600080fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160149054906101000a900460ff16151561052a57600080fd5b60018060156101000a81548160ff021916908315150217905550565b600080836040518082805190602001908083835b60208310151561057f578051825260208201915060208101905060208303925061055a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156105e857805182526020820191506020810190506020830392506105c3565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600881526020017f5061757361626c650000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506106a78282610546565b1515156106b357600080fd5b6106bc83610a3f565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610723578082015181840152602081019050610708565b50505050905090810190601f1680156107505780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561078957808201518184015260208101905061076e565b50505050905090810190601f1680156107b65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156107ff57805182526020820191506020810190506020830392506107da565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156108685780518252602082019150602081019050602083039250610843565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600160149054906101000a900460ff161515156108d357600080fd5b600260008154809291906001019190505550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561094357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561097f57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610ab58282610546565b151515610ac157600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610b69578082015181840152602081019050610b4e565b50505050905090810190601f168015610b965780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610bcf578082015181840152602081019050610bb4565b50505050905090810190601f168015610bfc5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610c455780518252602082019150602081019050602083039250610c20565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610cae5780518252602082019150602081019050602083039250610c89565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a723058204047fdb1edcfb734bcc07569cda817cbdd8c8a0cb6238f222cd864a95ea512330029", - "sourceMap": "94:379:17:-;;;280:5:4;259:26;;;;;;;;;;;;;;;;;;;;192:121:17;8:9:-1;5:2;;;30:1;27;20:12;5:2;192:121:17;229:30;248:10;229:18;;;;;:30;;;:::i;:::-;288:5;266:19;;:27;;;;;;;;;;;;;;;;;;307:1;299:5;:9;;;;94:379;;537:104:25;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;;;:37;;;:::i;:::-;1082:38;1074:47;;;;;;;;629:7:25;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:25;;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;94:379:17:-;;;;;;;", - "deployedSourceMap": "94:379:17:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;167:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;167:20:17;;;;;;;;;;;;;;;;;;;;;;;972:92:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;972:92:4;;;;;;259:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;259:26:4;;;;;;;;;;;;;;;;;;;;;;;;;;;132:31:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;132:31:17;;;;;;;;;;;;;;;;;;;;;;;;;;;800:90:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;800:90:4;;;;;;307:20:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:25;;;;;;;;;;;;;;;;;;;;;;;;;;;387:83:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;387:83:17;;;;;;1950:140:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:118:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;291:118:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:66:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;317:66:17;;;;;;949:174:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;167:20:17;;;;:::o;972:92:4:-;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;702:6:4;;;;;;;;;;;694:15;;;;;;;;1034:5;1025:6;;:14;;;;;;;;;;;;;;;;;;1050:9;;;;;;;;;;972:92::o;259:26::-;;;;;;;;;;;;;:::o;132:31:17:-;;;;;;;;;;;;;:::o;800:90:4:-;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;550:6:4;;;;;;;;;;;549:7;541:16;;;;;;;;863:4;854:6;;:13;;;;;;;;;;;;;;;;;;878:7;;;;;;;;;;800:90::o;307:20:25:-;;;;;;;;;;;;;:::o;387:83:17:-;702:6:4;;;;;;;;;;;694:15;;;;;;;;461:4:17;439:19;;:26;;;;;;;;;;;;;;;;;;387:83::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;291:118:4:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;377:27:4;396:7;377:18;:27::i;:::-;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;291:118:4;;;:::o;317:66:17:-;550:6:4;;;;;;;;;;;549:7;541:16;;;;;;;;371:5:17;;:7;;;;;;;;;;;;;317:66::o;949:174:25:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;537:104::-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:25;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:25;;;:::o", + "bytecode": "0x60806040526000600160146101000a81548160ff0219169083151502179055503480156200002c57600080fd5b506200004c33620000756401000000000262000a3f176401000000009004565b6000600160156101000a81548160ff02191690831515021790555060006002819055506200043e565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250620000fc82826200034f640100000000026401000000009004565b1515156200010957600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015620001b357808201518184015260208101905062000196565b50505050905090810190601f168015620001e15780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156200021c578082015181840152602081019050620001ff565b50505050905090810190601f1680156200024a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156200029557805182526020820191506020810190506020830392506200026e565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515620003005780518252602082019150602081019050602083039250620002d9565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600080836040518082805190602001908083835b6020831015156200038a578051825260208201915060208101905060208303925062000363565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515620003f55780518252602082019150602081019050602083039250620003ce565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b610d29806200044e6000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd146100b45780633f4ba83a146100df5780635c975abb146100f657806376657b8e146101255780638456cb59146101545780638da5cb5b1461016b5780639958f045146101c2578063c0bac1a8146101d9578063c4d66de8146102a0578063e7651d7a146102e3578063f2fde38b146102fa575b600080fd5b3480156100c057600080fd5b506100c961033d565b6040518082815260200191505060405180910390f35b3480156100eb57600080fd5b506100f4610343565b005b34801561010257600080fd5b5061010b610403565b604051808215151515815260200191505060405180910390f35b34801561013157600080fd5b5061013a610416565b604051808215151515815260200191505060405180910390f35b34801561016057600080fd5b50610169610429565b005b34801561017757600080fd5b506101806104e9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ce57600080fd5b506101d761050f565b005b3480156101e557600080fd5b50610286600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610546565b604051808215151515815260200191505060405180910390f35b3480156102ac57600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610631565b005b3480156102ef57600080fd5b506102f86108b7565b005b34801561030657600080fd5b5061033b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108e7565b005b60025481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561039f57600080fd5b600160149054906101000a900460ff1615156103ba57600080fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600160149054906101000a900460ff1681565b600160159054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561048557600080fd5b600160149054906101000a900460ff161515156104a157600080fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160149054906101000a900460ff16151561052a57600080fd5b60018060156101000a81548160ff021916908315150217905550565b600080836040518082805190602001908083835b60208310151561057f578051825260208201915060208101905060208303925061055a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156105e857805182526020820191506020810190506020830392506105c3565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600881526020017f5061757361626c650000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506106a78282610546565b1515156106b357600080fd5b6106bc83610a3f565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610723578082015181840152602081019050610708565b50505050905090810190601f1680156107505780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561078957808201518184015260208101905061076e565b50505050905090810190601f1680156107b65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156107ff57805182526020820191506020810190506020830392506107da565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156108685780518252602082019150602081019050602083039250610843565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600160149054906101000a900460ff161515156108d357600080fd5b600260008154809291906001019190505550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561094357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561097f57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610ab58282610546565b151515610ac157600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610b69578082015181840152602081019050610b4e565b50505050905090810190601f168015610b965780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610bcf578082015181840152602081019050610bb4565b50505050905090810190601f168015610bfc5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610c455780518252602082019150602081019050602083039250610c20565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610cae5780518252602082019150602081019050602083039250610c89565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a723058205f56206f80e217a2362c500a514b5523d8e99adf595b6a68363702fe9b1f08990029", + "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd146100b45780633f4ba83a146100df5780635c975abb146100f657806376657b8e146101255780638456cb59146101545780638da5cb5b1461016b5780639958f045146101c2578063c0bac1a8146101d9578063c4d66de8146102a0578063e7651d7a146102e3578063f2fde38b146102fa575b600080fd5b3480156100c057600080fd5b506100c961033d565b6040518082815260200191505060405180910390f35b3480156100eb57600080fd5b506100f4610343565b005b34801561010257600080fd5b5061010b610403565b604051808215151515815260200191505060405180910390f35b34801561013157600080fd5b5061013a610416565b604051808215151515815260200191505060405180910390f35b34801561016057600080fd5b50610169610429565b005b34801561017757600080fd5b506101806104e9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ce57600080fd5b506101d761050f565b005b3480156101e557600080fd5b50610286600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610546565b604051808215151515815260200191505060405180910390f35b3480156102ac57600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610631565b005b3480156102ef57600080fd5b506102f86108b7565b005b34801561030657600080fd5b5061033b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108e7565b005b60025481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561039f57600080fd5b600160149054906101000a900460ff1615156103ba57600080fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600160149054906101000a900460ff1681565b600160159054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561048557600080fd5b600160149054906101000a900460ff161515156104a157600080fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160149054906101000a900460ff16151561052a57600080fd5b60018060156101000a81548160ff021916908315150217905550565b600080836040518082805190602001908083835b60208310151561057f578051825260208201915060208101905060208303925061055a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156105e857805182526020820191506020810190506020830392506105c3565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600881526020017f5061757361626c650000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506106a78282610546565b1515156106b357600080fd5b6106bc83610a3f565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610723578082015181840152602081019050610708565b50505050905090810190601f1680156107505780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561078957808201518184015260208101905061076e565b50505050905090810190601f1680156107b65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156107ff57805182526020820191506020810190506020830392506107da565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156108685780518252602082019150602081019050602083039250610843565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600160149054906101000a900460ff161515156108d357600080fd5b600260008154809291906001019190505550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561094357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561097f57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610ab58282610546565b151515610ac157600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610b69578082015181840152602081019050610b4e565b50505050905090810190601f168015610b965780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610bcf578082015181840152602081019050610bb4565b50505050905090810190601f168015610bfc5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610c455780518252602082019150602081019050602083039250610c20565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610cae5780518252602082019150602081019050602083039250610c89565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a723058205f56206f80e217a2362c500a514b5523d8e99adf595b6a68363702fe9b1f08990029", + "sourceMap": "94:379:19:-;;;280:5:6;259:26;;;;;;;;;;;;;;;;;;;;192:121:19;8:9:-1;5:2;;;30:1;27;20:12;5:2;192:121:19;229:30;248:10;229:18;;;;;:30;;;:::i;:::-;288:5;266:19;;:27;;;;;;;;;;;;;;;;;;307:1;299:5;:9;;;;94:379;;537:104:27;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;;;:37;;;:::i;:::-;1082:38;1074:47;;;;;;;;629:7:27;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:27;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;94:379:19:-;;;;;;;", + "deployedSourceMap": "94:379:19:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;167:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;167:20:19;;;;;;;;;;;;;;;;;;;;;;;972:92:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;972:92:6;;;;;;259:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;259:26:6;;;;;;;;;;;;;;;;;;;;;;;;;;;132:31:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;132:31:19;;;;;;;;;;;;;;;;;;;;;;;;;;;800:90:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;800:90:6;;;;;;307:20:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:27;;;;;;;;;;;;;;;;;;;;;;;;;;;387:83:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;387:83:19;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:118:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;291:118:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:66:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;317:66:19;;;;;;949:174:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;167:20:19;;;;:::o;972:92:6:-;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;702:6:6;;;;;;;;;;;694:15;;;;;;;;1034:5;1025:6;;:14;;;;;;;;;;;;;;;;;;1050:9;;;;;;;;;;972:92::o;259:26::-;;;;;;;;;;;;;:::o;132:31:19:-;;;;;;;;;;;;;:::o;800:90:6:-;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;550:6:6;;;;;;;;;;;549:7;541:16;;;;;;;;863:4;854:6;;:13;;;;;;;;;;;;;;;;;;878:7;;;;;;;;;;800:90::o;307:20:27:-;;;;;;;;;;;;;:::o;387:83:19:-;702:6:6;;;;;;;;;;;694:15;;;;;;;;461:4:19;439:19;;:26;;;;;;;;;;;;;;;;;;387:83::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;291:118:6:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;377:27:6;396:7;377:18;:27::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;291:118:6;;;:::o;317:66:19:-;550:6:6;;;;;;;;;;;549:7;541:16;;;;;;;;371:5:19;;:7;;;;;;;;;;;;;317:66::o;949:174:27:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;537:104::-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:27;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:27;;;:::o", "source": "pragma solidity ^0.4.21;\n\n\nimport \"../lifecycle/Pausable.sol\";\n\n\n// mock class using Pausable\ncontract PausableMock is Pausable {\n bool public drasticMeasureTaken;\n uint256 public count;\n\n function PausableMock() public {\n Ownable.initialize(msg.sender);\n\n drasticMeasureTaken = false;\n count = 0;\n }\n\n function normalProcess() external whenNotPaused {\n count++;\n }\n\n function drasticMeasure() external whenPaused {\n drasticMeasureTaken = true;\n }\n\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/PausableMock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/PausableMock.sol", "exportedSymbols": { "PausableMock": [ - 1001 + 1049 ] }, - "id": 1002, + "id": 1050, "nodeType": "SourceUnit", "nodes": [ { - "id": 955, + "id": 1003, "literals": [ "solidity", "^", @@ -222,16 +222,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:17" + "src": "0:24:19" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/lifecycle/Pausable.sol", "file": "../lifecycle/Pausable.sol", - "id": 956, + "id": 1004, "nodeType": "ImportDirective", - "scope": 1002, - "sourceUnit": 372, - "src": "27:35:17", + "scope": 1050, + "sourceUnit": 415, + "src": "27:35:19", "symbolAliases": [], "unitAlias": "" }, @@ -241,46 +241,46 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 957, + "id": 1005, "name": "Pausable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 371, - "src": "119:8:17", + "referencedDeclaration": 414, + "src": "119:8:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$371", + "typeIdentifier": "t_contract$_Pausable_$414", "typeString": "contract Pausable" } }, - "id": 958, + "id": 1006, "nodeType": "InheritanceSpecifier", - "src": "119:8:17" + "src": "119:8:19" } ], "contractDependencies": [ - 371, - 1580, - 4769 + 414, + 1628, + 4864 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1001, + "id": 1049, "linearizedBaseContracts": [ - 1001, - 371, - 1580, - 4769 + 1049, + 414, + 1628, + 4864 ], "name": "PausableMock", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 960, + "id": 1008, "name": "drasticMeasureTaken", "nodeType": "VariableDeclaration", - "scope": 1001, - "src": "132:31:17", + "scope": 1049, + "src": "132:31:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -288,10 +288,10 @@ "typeString": "bool" }, "typeName": { - "id": 959, + "id": 1007, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "132:4:17", + "src": "132:4:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -302,11 +302,11 @@ }, { "constant": false, - "id": 962, + "id": 1010, "name": "count", "nodeType": "VariableDeclaration", - "scope": 1001, - "src": "167:20:17", + "scope": 1049, + "src": "167:20:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -314,10 +314,10 @@ "typeString": "uint256" }, "typeName": { - "id": 961, + "id": 1009, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "167:7:17", + "src": "167:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -328,9 +328,9 @@ }, { "body": { - "id": 980, + "id": 1028, "nodeType": "Block", - "src": "223:90:17", + "src": "223:90:19", "statements": [ { "expression": { @@ -340,18 +340,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 968, + "id": 1016, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "248:3:17", + "referencedDeclaration": 4879, + "src": "248:3:19", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 969, + "id": 1017, "isConstant": false, "isLValue": false, "isPure": false, @@ -359,7 +359,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "248:10:17", + "src": "248:10:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -375,32 +375,32 @@ ], "expression": { "argumentTypes": null, - "id": 965, + "id": 1013, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "229:7:17", + "referencedDeclaration": 1628, + "src": "229:7:19", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Ownable_$1580_$", + "typeIdentifier": "t_type$_t_contract$_Ownable_$1628_$", "typeString": "type(contract Ownable)" } }, - "id": 967, + "id": 1015, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1543, - "src": "229:18:17", + "referencedDeclaration": 1591, + "src": "229:18:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 970, + "id": 1018, "isConstant": false, "isLValue": false, "isPure": false, @@ -408,32 +408,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "229:30:17", + "src": "229:30:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 971, + "id": 1019, "nodeType": "ExpressionStatement", - "src": "229:30:17" + "src": "229:30:19" }, { "expression": { "argumentTypes": null, - "id": 974, + "id": 1022, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 972, + "id": 1020, "name": "drasticMeasureTaken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 960, - "src": "266:19:17", + "referencedDeclaration": 1008, + "src": "266:19:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -444,14 +444,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 973, + "id": 1021, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "288:5:17", + "src": "288:5:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -459,32 +459,32 @@ }, "value": "false" }, - "src": "266:27:17", + "src": "266:27:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 975, + "id": 1023, "nodeType": "ExpressionStatement", - "src": "266:27:17" + "src": "266:27:19" }, { "expression": { "argumentTypes": null, - "id": 978, + "id": 1026, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 976, + "id": 1024, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "299:5:17", + "referencedDeclaration": 1010, + "src": "299:5:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -495,14 +495,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 977, + "id": 1025, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "307:1:17", + "src": "307:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -510,20 +510,20 @@ }, "value": "0" }, - "src": "299:9:17", + "src": "299:9:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 979, + "id": 1027, "nodeType": "ExpressionStatement", - "src": "299:9:17" + "src": "299:9:19" } ] }, "documentation": null, - "id": 981, + "id": 1029, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -531,34 +531,34 @@ "name": "PausableMock", "nodeType": "FunctionDefinition", "parameters": { - "id": 963, + "id": 1011, "nodeType": "ParameterList", "parameters": [], - "src": "213:2:17" + "src": "213:2:19" }, "payable": false, "returnParameters": { - "id": 964, + "id": 1012, "nodeType": "ParameterList", "parameters": [], - "src": "223:0:17" + "src": "223:0:19" }, - "scope": 1001, - "src": "192:121:17", + "scope": 1049, + "src": "192:121:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 989, + "id": 1037, "nodeType": "Block", - "src": "365:18:17", + "src": "365:18:19", "statements": [ { "expression": { "argumentTypes": null, - "id": 987, + "id": 1035, "isConstant": false, "isLValue": false, "isPure": false, @@ -566,15 +566,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "371:7:17", + "src": "371:7:19", "subExpression": { "argumentTypes": null, - "id": 986, + "id": 1034, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "371:5:17", + "referencedDeclaration": 1010, + "src": "371:5:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -585,81 +585,81 @@ "typeString": "uint256" } }, - "id": 988, + "id": 1036, "nodeType": "ExpressionStatement", - "src": "371:7:17" + "src": "371:7:19" } ] }, "documentation": null, - "id": 990, + "id": 1038, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 984, + "id": 1032, "modifierName": { "argumentTypes": null, - "id": 983, + "id": 1031, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "351:13:17", + "referencedDeclaration": 375, + "src": "351:13:19", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "351:13:17" + "src": "351:13:19" } ], "name": "normalProcess", "nodeType": "FunctionDefinition", "parameters": { - "id": 982, + "id": 1030, "nodeType": "ParameterList", "parameters": [], - "src": "339:2:17" + "src": "339:2:19" }, "payable": false, "returnParameters": { - "id": 985, + "id": 1033, "nodeType": "ParameterList", "parameters": [], - "src": "365:0:17" + "src": "365:0:19" }, - "scope": 1001, - "src": "317:66:17", + "scope": 1049, + "src": "317:66:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 999, + "id": 1047, "nodeType": "Block", - "src": "433:37:17", + "src": "433:37:19", "statements": [ { "expression": { "argumentTypes": null, - "id": 997, + "id": 1045, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 995, + "id": 1043, "name": "drasticMeasureTaken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 960, - "src": "439:19:17", + "referencedDeclaration": 1008, + "src": "439:19:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -670,14 +670,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 996, + "id": 1044, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "461:4:17", + "src": "461:4:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -685,84 +685,84 @@ }, "value": "true" }, - "src": "439:26:17", + "src": "439:26:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 998, + "id": 1046, "nodeType": "ExpressionStatement", - "src": "439:26:17" + "src": "439:26:19" } ] }, "documentation": null, - "id": 1000, + "id": 1048, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 993, + "id": 1041, "modifierName": { "argumentTypes": null, - "id": 992, + "id": 1040, "name": "whenPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "422:10:17", + "referencedDeclaration": 383, + "src": "422:10:19", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "422:10:17" + "src": "422:10:19" } ], "name": "drasticMeasure", "nodeType": "FunctionDefinition", "parameters": { - "id": 991, + "id": 1039, "nodeType": "ParameterList", "parameters": [], - "src": "410:2:17" + "src": "410:2:19" }, "payable": false, "returnParameters": { - "id": 994, + "id": 1042, "nodeType": "ParameterList", "parameters": [], - "src": "433:0:17" + "src": "433:0:19" }, - "scope": 1001, - "src": "387:83:17", + "scope": 1049, + "src": "387:83:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1002, - "src": "94:379:17" + "scope": 1050, + "src": "94:379:19" } ], - "src": "0:474:17" + "src": "0:474:19" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/PausableMock.sol", "exportedSymbols": { "PausableMock": [ - 1001 + 1049 ] }, - "id": 1002, + "id": 1050, "nodeType": "SourceUnit", "nodes": [ { - "id": 955, + "id": 1003, "literals": [ "solidity", "^", @@ -770,16 +770,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:17" + "src": "0:24:19" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/lifecycle/Pausable.sol", "file": "../lifecycle/Pausable.sol", - "id": 956, + "id": 1004, "nodeType": "ImportDirective", - "scope": 1002, - "sourceUnit": 372, - "src": "27:35:17", + "scope": 1050, + "sourceUnit": 415, + "src": "27:35:19", "symbolAliases": [], "unitAlias": "" }, @@ -789,46 +789,46 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 957, + "id": 1005, "name": "Pausable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 371, - "src": "119:8:17", + "referencedDeclaration": 414, + "src": "119:8:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$371", + "typeIdentifier": "t_contract$_Pausable_$414", "typeString": "contract Pausable" } }, - "id": 958, + "id": 1006, "nodeType": "InheritanceSpecifier", - "src": "119:8:17" + "src": "119:8:19" } ], "contractDependencies": [ - 371, - 1580, - 4769 + 414, + 1628, + 4864 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1001, + "id": 1049, "linearizedBaseContracts": [ - 1001, - 371, - 1580, - 4769 + 1049, + 414, + 1628, + 4864 ], "name": "PausableMock", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 960, + "id": 1008, "name": "drasticMeasureTaken", "nodeType": "VariableDeclaration", - "scope": 1001, - "src": "132:31:17", + "scope": 1049, + "src": "132:31:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -836,10 +836,10 @@ "typeString": "bool" }, "typeName": { - "id": 959, + "id": 1007, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "132:4:17", + "src": "132:4:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -850,11 +850,11 @@ }, { "constant": false, - "id": 962, + "id": 1010, "name": "count", "nodeType": "VariableDeclaration", - "scope": 1001, - "src": "167:20:17", + "scope": 1049, + "src": "167:20:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -862,10 +862,10 @@ "typeString": "uint256" }, "typeName": { - "id": 961, + "id": 1009, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "167:7:17", + "src": "167:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -876,9 +876,9 @@ }, { "body": { - "id": 980, + "id": 1028, "nodeType": "Block", - "src": "223:90:17", + "src": "223:90:19", "statements": [ { "expression": { @@ -888,18 +888,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 968, + "id": 1016, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "248:3:17", + "referencedDeclaration": 4879, + "src": "248:3:19", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 969, + "id": 1017, "isConstant": false, "isLValue": false, "isPure": false, @@ -907,7 +907,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "248:10:17", + "src": "248:10:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -923,32 +923,32 @@ ], "expression": { "argumentTypes": null, - "id": 965, + "id": 1013, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "229:7:17", + "referencedDeclaration": 1628, + "src": "229:7:19", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Ownable_$1580_$", + "typeIdentifier": "t_type$_t_contract$_Ownable_$1628_$", "typeString": "type(contract Ownable)" } }, - "id": 967, + "id": 1015, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1543, - "src": "229:18:17", + "referencedDeclaration": 1591, + "src": "229:18:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 970, + "id": 1018, "isConstant": false, "isLValue": false, "isPure": false, @@ -956,32 +956,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "229:30:17", + "src": "229:30:19", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 971, + "id": 1019, "nodeType": "ExpressionStatement", - "src": "229:30:17" + "src": "229:30:19" }, { "expression": { "argumentTypes": null, - "id": 974, + "id": 1022, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 972, + "id": 1020, "name": "drasticMeasureTaken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 960, - "src": "266:19:17", + "referencedDeclaration": 1008, + "src": "266:19:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -992,14 +992,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 973, + "id": 1021, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "288:5:17", + "src": "288:5:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1007,32 +1007,32 @@ }, "value": "false" }, - "src": "266:27:17", + "src": "266:27:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 975, + "id": 1023, "nodeType": "ExpressionStatement", - "src": "266:27:17" + "src": "266:27:19" }, { "expression": { "argumentTypes": null, - "id": 978, + "id": 1026, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 976, + "id": 1024, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "299:5:17", + "referencedDeclaration": 1010, + "src": "299:5:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1043,14 +1043,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 977, + "id": 1025, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "307:1:17", + "src": "307:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1058,20 +1058,20 @@ }, "value": "0" }, - "src": "299:9:17", + "src": "299:9:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 979, + "id": 1027, "nodeType": "ExpressionStatement", - "src": "299:9:17" + "src": "299:9:19" } ] }, "documentation": null, - "id": 981, + "id": 1029, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -1079,34 +1079,34 @@ "name": "PausableMock", "nodeType": "FunctionDefinition", "parameters": { - "id": 963, + "id": 1011, "nodeType": "ParameterList", "parameters": [], - "src": "213:2:17" + "src": "213:2:19" }, "payable": false, "returnParameters": { - "id": 964, + "id": 1012, "nodeType": "ParameterList", "parameters": [], - "src": "223:0:17" + "src": "223:0:19" }, - "scope": 1001, - "src": "192:121:17", + "scope": 1049, + "src": "192:121:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 989, + "id": 1037, "nodeType": "Block", - "src": "365:18:17", + "src": "365:18:19", "statements": [ { "expression": { "argumentTypes": null, - "id": 987, + "id": 1035, "isConstant": false, "isLValue": false, "isPure": false, @@ -1114,15 +1114,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "371:7:17", + "src": "371:7:19", "subExpression": { "argumentTypes": null, - "id": 986, + "id": 1034, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "371:5:17", + "referencedDeclaration": 1010, + "src": "371:5:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1133,81 +1133,81 @@ "typeString": "uint256" } }, - "id": 988, + "id": 1036, "nodeType": "ExpressionStatement", - "src": "371:7:17" + "src": "371:7:19" } ] }, "documentation": null, - "id": 990, + "id": 1038, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 984, + "id": 1032, "modifierName": { "argumentTypes": null, - "id": 983, + "id": 1031, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "351:13:17", + "referencedDeclaration": 375, + "src": "351:13:19", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "351:13:17" + "src": "351:13:19" } ], "name": "normalProcess", "nodeType": "FunctionDefinition", "parameters": { - "id": 982, + "id": 1030, "nodeType": "ParameterList", "parameters": [], - "src": "339:2:17" + "src": "339:2:19" }, "payable": false, "returnParameters": { - "id": 985, + "id": 1033, "nodeType": "ParameterList", "parameters": [], - "src": "365:0:17" + "src": "365:0:19" }, - "scope": 1001, - "src": "317:66:17", + "scope": 1049, + "src": "317:66:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 999, + "id": 1047, "nodeType": "Block", - "src": "433:37:17", + "src": "433:37:19", "statements": [ { "expression": { "argumentTypes": null, - "id": 997, + "id": 1045, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 995, + "id": 1043, "name": "drasticMeasureTaken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 960, - "src": "439:19:17", + "referencedDeclaration": 1008, + "src": "439:19:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1218,14 +1218,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 996, + "id": 1044, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "461:4:17", + "src": "461:4:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1233,77 +1233,77 @@ }, "value": "true" }, - "src": "439:26:17", + "src": "439:26:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 998, + "id": 1046, "nodeType": "ExpressionStatement", - "src": "439:26:17" + "src": "439:26:19" } ] }, "documentation": null, - "id": 1000, + "id": 1048, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 993, + "id": 1041, "modifierName": { "argumentTypes": null, - "id": 992, + "id": 1040, "name": "whenPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "422:10:17", + "referencedDeclaration": 383, + "src": "422:10:19", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "422:10:17" + "src": "422:10:19" } ], "name": "drasticMeasure", "nodeType": "FunctionDefinition", "parameters": { - "id": 991, + "id": 1039, "nodeType": "ParameterList", "parameters": [], - "src": "410:2:17" + "src": "410:2:19" }, "payable": false, "returnParameters": { - "id": 994, + "id": 1042, "nodeType": "ParameterList", "parameters": [], - "src": "433:0:17" + "src": "433:0:19" }, - "scope": 1001, - "src": "387:83:17", + "scope": 1049, + "src": "387:83:19", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1002, - "src": "94:379:17" + "scope": 1050, + "src": "94:379:19" } ], - "src": "0:474:17" + "src": "0:474:19" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.621Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.206Z" } \ No newline at end of file diff --git a/build/contracts/PausableToken.json b/build/contracts/PausableToken.json index c5226907d..daf77a51e 100644 --- a/build/contracts/PausableToken.json +++ b/build/contracts/PausableToken.json @@ -364,24 +364,24 @@ "type": "function" } ], - "bytecode": "0x60806040526000600460146101000a81548160ff02191690831515021790555034801561002b57600080fd5b50611f3f8061003b6000396000f3006080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100e057806318160ddd1461014557806323b872dd146101705780633f4ba83a146101f55780635c975abb1461020c578063661884631461023b57806370a08231146102a05780638456cb59146102f75780638da5cb5b1461030e578063a9059cbb14610365578063c0bac1a8146103ca578063c4d66de814610491578063d73dd623146104d4578063dd62ed3e14610539578063f2fde38b146105b0575b600080fd5b3480156100ec57600080fd5b5061012b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105f3565b604051808215151515815260200191505060405180910390f35b34801561015157600080fd5b5061015a610623565b6040518082815260200191505060405180910390f35b34801561017c57600080fd5b506101db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061062d565b604051808215151515815260200191505060405180910390f35b34801561020157600080fd5b5061020a61065f565b005b34801561021857600080fd5b5061022161071f565b604051808215151515815260200191505060405180910390f35b34801561024757600080fd5b50610286600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610732565b604051808215151515815260200191505060405180910390f35b3480156102ac57600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610762565b6040518082815260200191505060405180910390f35b34801561030357600080fd5b5061030c6107aa565b005b34801561031a57600080fd5b5061032361086b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037157600080fd5b506103b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610891565b604051808215151515815260200191505060405180910390f35b3480156103d657600080fd5b50610477600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108c1565b604051808215151515815260200191505060405180910390f35b34801561049d57600080fd5b506104d2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ad565b005b3480156104e057600080fd5b5061051f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c33565b604051808215151515815260200191505060405180910390f35b34801561054557600080fd5b5061059a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c63565b6040518082815260200191505060405180910390f35b3480156105bc57600080fd5b506105f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cea565b005b6000600460149054906101000a900460ff1615151561061157600080fd5b61061b8383610e42565b905092915050565b6000600154905090565b6000600460149054906101000a900460ff1615151561064b57600080fd5b610656848484610f34565b90509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106bb57600080fd5b600460149054906101000a900460ff1615156106d657600080fd5b6000600460146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600460149054906101000a900460ff1681565b6000600460149054906101000a900460ff1615151561075057600080fd5b61075a83836112ee565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080657600080fd5b600460149054906101000a900460ff1615151561082257600080fd5b6001600460146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460149054906101000a900460ff161515156108af57600080fd5b6108b9838361157f565b905092915050565b60006002836040518082805190602001908083835b6020831015156108fb57805182526020820191506020810190506020830392506108d6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610964578051825260208201915060208101905060208303925061093f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f5061757361626c65546f6b656e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610a2382826108c1565b151515610a2f57600080fd5b610a388361179e565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a9f578082015181840152602081019050610a84565b50505050905090810190601f168015610acc5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b05578082015181840152602081019050610aea565b50505050905090810190601f168015610b325780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515610b7b5780518252602082019150602081019050602083039250610b56565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610be45780518252602082019150602081019050602083039250610bbf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000600460149054906101000a900460ff16151515610c5157600080fd5b610c5b8383611a24565b905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d4657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d8257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f7157600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fbe57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561104957600080fd5b61109a826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061112d826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111fe82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156113ff576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611493565b6114128382611c2090919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156115bc57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561160957600080fd5b61165a826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116ed826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600881526020017f5061757361626c650000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061181482826108c1565b15151561182057600080fd5b61182983611c55565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611890578082015181840152602081019050611875565b50505050905090810190601f1680156118bd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156118f65780820151818401526020810190506118db565b50505050905090810190601f1680156119235780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b60208310151561196c5780518252602082019150602081019050602083039250611947565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156119d557805182526020820191506020810190506020830392506119b0565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000611ab582600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000828211151515611c2e57fe5b818303905092915050565b60008183019050828110151515611c4c57fe5b80905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611ccb82826108c1565b151515611cd757600080fd5b82600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611d7f578082015181840152602081019050611d64565b50505050905090810190601f168015611dac5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611de5578082015181840152602081019050611dca565b50505050905090810190601f168015611e125780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515611e5b5780518252602082019150602081019050602083039250611e36565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ec45780518252602082019150602081019050602083039250611e9f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a723058205370d33de9283a6f9ccff9aed8b4b64c517720585c2e8fbd70b254c437a927630029", - "deployedBytecode": "0x6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100e057806318160ddd1461014557806323b872dd146101705780633f4ba83a146101f55780635c975abb1461020c578063661884631461023b57806370a08231146102a05780638456cb59146102f75780638da5cb5b1461030e578063a9059cbb14610365578063c0bac1a8146103ca578063c4d66de814610491578063d73dd623146104d4578063dd62ed3e14610539578063f2fde38b146105b0575b600080fd5b3480156100ec57600080fd5b5061012b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105f3565b604051808215151515815260200191505060405180910390f35b34801561015157600080fd5b5061015a610623565b6040518082815260200191505060405180910390f35b34801561017c57600080fd5b506101db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061062d565b604051808215151515815260200191505060405180910390f35b34801561020157600080fd5b5061020a61065f565b005b34801561021857600080fd5b5061022161071f565b604051808215151515815260200191505060405180910390f35b34801561024757600080fd5b50610286600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610732565b604051808215151515815260200191505060405180910390f35b3480156102ac57600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610762565b6040518082815260200191505060405180910390f35b34801561030357600080fd5b5061030c6107aa565b005b34801561031a57600080fd5b5061032361086b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037157600080fd5b506103b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610891565b604051808215151515815260200191505060405180910390f35b3480156103d657600080fd5b50610477600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108c1565b604051808215151515815260200191505060405180910390f35b34801561049d57600080fd5b506104d2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ad565b005b3480156104e057600080fd5b5061051f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c33565b604051808215151515815260200191505060405180910390f35b34801561054557600080fd5b5061059a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c63565b6040518082815260200191505060405180910390f35b3480156105bc57600080fd5b506105f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cea565b005b6000600460149054906101000a900460ff1615151561061157600080fd5b61061b8383610e42565b905092915050565b6000600154905090565b6000600460149054906101000a900460ff1615151561064b57600080fd5b610656848484610f34565b90509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106bb57600080fd5b600460149054906101000a900460ff1615156106d657600080fd5b6000600460146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600460149054906101000a900460ff1681565b6000600460149054906101000a900460ff1615151561075057600080fd5b61075a83836112ee565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080657600080fd5b600460149054906101000a900460ff1615151561082257600080fd5b6001600460146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460149054906101000a900460ff161515156108af57600080fd5b6108b9838361157f565b905092915050565b60006002836040518082805190602001908083835b6020831015156108fb57805182526020820191506020810190506020830392506108d6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610964578051825260208201915060208101905060208303925061093f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f5061757361626c65546f6b656e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610a2382826108c1565b151515610a2f57600080fd5b610a388361179e565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a9f578082015181840152602081019050610a84565b50505050905090810190601f168015610acc5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b05578082015181840152602081019050610aea565b50505050905090810190601f168015610b325780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515610b7b5780518252602082019150602081019050602083039250610b56565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610be45780518252602082019150602081019050602083039250610bbf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000600460149054906101000a900460ff16151515610c5157600080fd5b610c5b8383611a24565b905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d4657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d8257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f7157600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fbe57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561104957600080fd5b61109a826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061112d826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111fe82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156113ff576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611493565b6114128382611c2090919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156115bc57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561160957600080fd5b61165a826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116ed826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600881526020017f5061757361626c650000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061181482826108c1565b15151561182057600080fd5b61182983611c55565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611890578082015181840152602081019050611875565b50505050905090810190601f1680156118bd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156118f65780820151818401526020810190506118db565b50505050905090810190601f1680156119235780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b60208310151561196c5780518252602082019150602081019050602083039250611947565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156119d557805182526020820191506020810190506020830392506119b0565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000611ab582600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000828211151515611c2e57fe5b818303905092915050565b60008183019050828110151515611c4c57fe5b80905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611ccb82826108c1565b151515611cd757600080fd5b82600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611d7f578082015181840152602081019050611d64565b50505050905090810190601f168015611dac5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611de5578082015181840152602081019050611dca565b50505050905090810190601f168015611e125780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515611e5b5780518252602082019150602081019050602083039250611e36565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ec45780518252602082019150602081019050602083039250611e9f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a723058205370d33de9283a6f9ccff9aed8b4b64c517720585c2e8fbd70b254c437a927630029", - "sourceMap": "187:983:39:-;;;280:5:4;259:26;;;;;;;;;;;;;;;;;;;;187:983:39;8:9:-1;5:2;;;30:1;27;20:12;5:2;187:983:39;;;;;;;", - "deployedSourceMap": "187:983:39:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;676:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;676:136:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:31;;;;;;;;;;;;;;;;;;;;;;;514:158:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;514:158:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;972:92:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;972:92:4;;;;;;259:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;259:26:4;;;;;;;;;;;;;;;;;;;;;;;;;;;989:179:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;989:179:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;800:90:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;800:90:4;;;;;;307:20:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:25;;;;;;;;;;;;;;;;;;;;;;;;;;;382:128:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;382:128:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;254:124:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;254:124:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;816:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;816:169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;676:136:39;757:4;550:6:4;;;;;;;;;;;549:7;541:16;;;;;;;;776:31:39;790:8;800:6;776:13;:31::i;:::-;769:38;;676:136;;;;:::o;371:83:31:-;415:7;437:12;;430:19;;371:83;:::o;514:158:39:-;610:4;550:6:4;;;;;;;;;;;549:7;541:16;;;;;;;;629:38:39;648:5;655:3;660:6;629:18;:38::i;:::-;622:45;;514:158;;;;;:::o;972:92:4:-;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;702:6:4;;;;;;;;;;;694:15;;;;;;;;1034:5;1025:6;;:14;;;;;;;;;;;;;;;;;;1050:9;;;;;;;;;;972:92::o;259:26::-;;;;;;;;;;;;;:::o;989:179:39:-;1086:12;550:6:4;;;;;;;;;;;549:7;541:16;;;;;;;;1113:50:39;1136:8;1146:16;1113:22;:50::i;:::-;1106:57;;989:179;;;;:::o;1131:99:31:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;800:90:4:-;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;550:6:4;;;;;;;;;;;549:7;541:16;;;;;;;;863:4;854:6;;:13;;;;;;;;;;;;;;;;;;878:7;;;;;;;;;;800:90::o;307:20:25:-;;;;;;;;;;;;;:::o;382:128:39:-;459:4;550:6:4;;;;;;;;;;;549:7;541:16;;;;;;;;478:27:39;493:3;498:6;478:14;:27::i;:::-;471:34;;382:128;;;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;254:124:39:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;345:28:39;365:7;345:19;:28::i;:::-;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;254:124:39;;;:::o;816:169::-;908:12;550:6:4;;;;;;;;;;;549:7;541:16;;;;;;;;935:45:39;958:8;968:11;935:22;:45::i;:::-;928:52;;816:169;;;;:::o;2310:126:42:-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;949:174:25:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;1803:188:42:-;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;736:444::-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;3617:403::-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;608:321:31:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;291:118:4:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;377:27:4;396:7;377:18;:27::i;:::-;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;291:118:4;;;:::o;2893:262:42:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;537:104:25:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:25;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:25;;;:::o", + "bytecode": "0x60806040526000600460146101000a81548160ff02191690831515021790555034801561002b57600080fd5b50611f3f8061003b6000396000f3006080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100e057806318160ddd1461014557806323b872dd146101705780633f4ba83a146101f55780635c975abb1461020c578063661884631461023b57806370a08231146102a05780638456cb59146102f75780638da5cb5b1461030e578063a9059cbb14610365578063c0bac1a8146103ca578063c4d66de814610491578063d73dd623146104d4578063dd62ed3e14610539578063f2fde38b146105b0575b600080fd5b3480156100ec57600080fd5b5061012b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105f3565b604051808215151515815260200191505060405180910390f35b34801561015157600080fd5b5061015a610623565b6040518082815260200191505060405180910390f35b34801561017c57600080fd5b506101db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061062d565b604051808215151515815260200191505060405180910390f35b34801561020157600080fd5b5061020a61065f565b005b34801561021857600080fd5b5061022161071f565b604051808215151515815260200191505060405180910390f35b34801561024757600080fd5b50610286600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610732565b604051808215151515815260200191505060405180910390f35b3480156102ac57600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610762565b6040518082815260200191505060405180910390f35b34801561030357600080fd5b5061030c6107aa565b005b34801561031a57600080fd5b5061032361086b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037157600080fd5b506103b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610891565b604051808215151515815260200191505060405180910390f35b3480156103d657600080fd5b50610477600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108c1565b604051808215151515815260200191505060405180910390f35b34801561049d57600080fd5b506104d2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ad565b005b3480156104e057600080fd5b5061051f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c33565b604051808215151515815260200191505060405180910390f35b34801561054557600080fd5b5061059a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c63565b6040518082815260200191505060405180910390f35b3480156105bc57600080fd5b506105f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cea565b005b6000600460149054906101000a900460ff1615151561061157600080fd5b61061b8383610e42565b905092915050565b6000600154905090565b6000600460149054906101000a900460ff1615151561064b57600080fd5b610656848484610f34565b90509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106bb57600080fd5b600460149054906101000a900460ff1615156106d657600080fd5b6000600460146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600460149054906101000a900460ff1681565b6000600460149054906101000a900460ff1615151561075057600080fd5b61075a83836112ee565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080657600080fd5b600460149054906101000a900460ff1615151561082257600080fd5b6001600460146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460149054906101000a900460ff161515156108af57600080fd5b6108b9838361157f565b905092915050565b60006002836040518082805190602001908083835b6020831015156108fb57805182526020820191506020810190506020830392506108d6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610964578051825260208201915060208101905060208303925061093f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f5061757361626c65546f6b656e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610a2382826108c1565b151515610a2f57600080fd5b610a388361179e565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a9f578082015181840152602081019050610a84565b50505050905090810190601f168015610acc5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b05578082015181840152602081019050610aea565b50505050905090810190601f168015610b325780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515610b7b5780518252602082019150602081019050602083039250610b56565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610be45780518252602082019150602081019050602083039250610bbf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000600460149054906101000a900460ff16151515610c5157600080fd5b610c5b8383611a24565b905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d4657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d8257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f7157600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fbe57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561104957600080fd5b61109a826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061112d826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111fe82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156113ff576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611493565b6114128382611c2090919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156115bc57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561160957600080fd5b61165a826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116ed826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600881526020017f5061757361626c650000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061181482826108c1565b15151561182057600080fd5b61182983611c55565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611890578082015181840152602081019050611875565b50505050905090810190601f1680156118bd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156118f65780820151818401526020810190506118db565b50505050905090810190601f1680156119235780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b60208310151561196c5780518252602082019150602081019050602083039250611947565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156119d557805182526020820191506020810190506020830392506119b0565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000611ab582600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000828211151515611c2e57fe5b818303905092915050565b60008183019050828110151515611c4c57fe5b80905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611ccb82826108c1565b151515611cd757600080fd5b82600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611d7f578082015181840152602081019050611d64565b50505050905090810190601f168015611dac5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611de5578082015181840152602081019050611dca565b50505050905090810190601f168015611e125780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515611e5b5780518252602082019150602081019050602083039250611e36565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ec45780518252602082019150602081019050602083039250611e9f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a72305820ec6518192818a6f06b35b6144307a6fc87798cb77a48c58c4b661a30501fe7330029", + "deployedBytecode": "0x6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100e057806318160ddd1461014557806323b872dd146101705780633f4ba83a146101f55780635c975abb1461020c578063661884631461023b57806370a08231146102a05780638456cb59146102f75780638da5cb5b1461030e578063a9059cbb14610365578063c0bac1a8146103ca578063c4d66de814610491578063d73dd623146104d4578063dd62ed3e14610539578063f2fde38b146105b0575b600080fd5b3480156100ec57600080fd5b5061012b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105f3565b604051808215151515815260200191505060405180910390f35b34801561015157600080fd5b5061015a610623565b6040518082815260200191505060405180910390f35b34801561017c57600080fd5b506101db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061062d565b604051808215151515815260200191505060405180910390f35b34801561020157600080fd5b5061020a61065f565b005b34801561021857600080fd5b5061022161071f565b604051808215151515815260200191505060405180910390f35b34801561024757600080fd5b50610286600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610732565b604051808215151515815260200191505060405180910390f35b3480156102ac57600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610762565b6040518082815260200191505060405180910390f35b34801561030357600080fd5b5061030c6107aa565b005b34801561031a57600080fd5b5061032361086b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037157600080fd5b506103b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610891565b604051808215151515815260200191505060405180910390f35b3480156103d657600080fd5b50610477600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108c1565b604051808215151515815260200191505060405180910390f35b34801561049d57600080fd5b506104d2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ad565b005b3480156104e057600080fd5b5061051f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c33565b604051808215151515815260200191505060405180910390f35b34801561054557600080fd5b5061059a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c63565b6040518082815260200191505060405180910390f35b3480156105bc57600080fd5b506105f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cea565b005b6000600460149054906101000a900460ff1615151561061157600080fd5b61061b8383610e42565b905092915050565b6000600154905090565b6000600460149054906101000a900460ff1615151561064b57600080fd5b610656848484610f34565b90509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106bb57600080fd5b600460149054906101000a900460ff1615156106d657600080fd5b6000600460146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600460149054906101000a900460ff1681565b6000600460149054906101000a900460ff1615151561075057600080fd5b61075a83836112ee565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080657600080fd5b600460149054906101000a900460ff1615151561082257600080fd5b6001600460146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460149054906101000a900460ff161515156108af57600080fd5b6108b9838361157f565b905092915050565b60006002836040518082805190602001908083835b6020831015156108fb57805182526020820191506020810190506020830392506108d6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610964578051825260208201915060208101905060208303925061093f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f5061757361626c65546f6b656e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610a2382826108c1565b151515610a2f57600080fd5b610a388361179e565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a9f578082015181840152602081019050610a84565b50505050905090810190601f168015610acc5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b05578082015181840152602081019050610aea565b50505050905090810190601f168015610b325780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515610b7b5780518252602082019150602081019050602083039250610b56565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610be45780518252602082019150602081019050602083039250610bbf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000600460149054906101000a900460ff16151515610c5157600080fd5b610c5b8383611a24565b905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d4657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d8257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f7157600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fbe57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561104957600080fd5b61109a826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061112d826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111fe82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156113ff576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611493565b6114128382611c2090919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156115bc57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561160957600080fd5b61165a826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116ed826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600881526020017f5061757361626c650000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061181482826108c1565b15151561182057600080fd5b61182983611c55565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611890578082015181840152602081019050611875565b50505050905090810190601f1680156118bd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156118f65780820151818401526020810190506118db565b50505050905090810190601f1680156119235780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b60208310151561196c5780518252602082019150602081019050602083039250611947565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156119d557805182526020820191506020810190506020830392506119b0565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000611ab582600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000828211151515611c2e57fe5b818303905092915050565b60008183019050828110151515611c4c57fe5b80905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611ccb82826108c1565b151515611cd757600080fd5b82600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611d7f578082015181840152602081019050611d64565b50505050905090810190601f168015611dac5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611de5578082015181840152602081019050611dca565b50505050905090810190601f168015611e125780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515611e5b5780518252602082019150602081019050602083039250611e36565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ec45780518252602082019150602081019050602083039250611e9f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a72305820ec6518192818a6f06b35b6144307a6fc87798cb77a48c58c4b661a30501fe7330029", + "sourceMap": "187:983:41:-;;;280:5:6;259:26;;;;;;;;;;;;;;;;;;;;187:983:41;8:9:-1;5:2;;;30:1;27;20:12;5:2;187:983:41;;;;;;;", + "deployedSourceMap": "187:983:41:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;676:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;676:136:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:33;;;;;;;;;;;;;;;;;;;;;;;514:158:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;514:158:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;972:92:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;972:92:6;;;;;;259:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;259:26:6;;;;;;;;;;;;;;;;;;;;;;;;;;;989:179:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;989:179:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;800:90:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;800:90:6;;;;;;307:20:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:27;;;;;;;;;;;;;;;;;;;;;;;;;;;382:128:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;382:128:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;254:124:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;254:124:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;816:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;816:169:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;676:136:41;757:4;550:6:6;;;;;;;;;;;549:7;541:16;;;;;;;;776:31:41;790:8;800:6;776:13;:31::i;:::-;769:38;;676:136;;;;:::o;371:83:33:-;415:7;437:12;;430:19;;371:83;:::o;514:158:41:-;610:4;550:6:6;;;;;;;;;;;549:7;541:16;;;;;;;;629:38:41;648:5;655:3;660:6;629:18;:38::i;:::-;622:45;;514:158;;;;;:::o;972:92:6:-;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;702:6:6;;;;;;;;;;;694:15;;;;;;;;1034:5;1025:6;;:14;;;;;;;;;;;;;;;;;;1050:9;;;;;;;;;;972:92::o;259:26::-;;;;;;;;;;;;;:::o;989:179:41:-;1086:12;550:6:6;;;;;;;;;;;549:7;541:16;;;;;;;;1113:50:41;1136:8;1146:16;1113:22;:50::i;:::-;1106:57;;989:179;;;;:::o;1131:99:33:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;800:90:6:-;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;550:6:6;;;;;;;;;;;549:7;541:16;;;;;;;;863:4;854:6;;:13;;;;;;;;;;;;;;;;;;878:7;;;;;;;;;;800:90::o;307:20:27:-;;;;;;;;;;;;;:::o;382:128:41:-;459:4;550:6:6;;;;;;;;;;;549:7;541:16;;;;;;;;478:27:41;493:3;498:6;478:14;:27::i;:::-;471:34;;382:128;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;254:124:41:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;345:28:41;365:7;345:19;:28::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;254:124:41;;;:::o;816:169::-;908:12;550:6:6;;;;;;;;;;;549:7;541:16;;;;;;;;935:45:41;958:8;968:11;935:22;:45::i;:::-;928:52;;816:169;;;;:::o;2310:126:44:-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;949:174:27:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;1803:188:44:-;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;736:444::-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;3617:403::-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;608:321:33:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;291:118:6:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;377:27:6;396:7;377:18;:27::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;291:118:6;;;:::o;2893:262:44:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;537:104:27:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:27;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:27;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"./StandardToken.sol\";\nimport \"../../lifecycle/Pausable.sol\";\n\n\n/**\n * @title Pausable token\n * @dev StandardToken modified with pausable transfers.\n **/\ncontract PausableToken is Migratable, StandardToken, Pausable {\n\n function initialize(address _sender) isInitializer(\"PausableToken\", \"1.9.0\") public {\n Pausable.initialize(_sender);\n }\n\n function transfer(address _to, uint256 _value) public whenNotPaused returns (bool) {\n return super.transfer(_to, _value);\n }\n\n function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool) {\n return super.transferFrom(_from, _to, _value);\n }\n\n function approve(address _spender, uint256 _value) public whenNotPaused returns (bool) {\n return super.approve(_spender, _value);\n }\n\n function increaseApproval(address _spender, uint _addedValue) public whenNotPaused returns (bool success) {\n return super.increaseApproval(_spender, _addedValue);\n }\n\n function decreaseApproval(address _spender, uint _subtractedValue) public whenNotPaused returns (bool success) {\n return super.decreaseApproval(_spender, _subtractedValue);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/PausableToken.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/PausableToken.sol", "exportedSymbols": { "PausableToken": [ - 2745 + 2793 ] }, - "id": 2746, + "id": 2794, "nodeType": "SourceUnit", "nodes": [ { - "id": 2627, + "id": 2675, "literals": [ "solidity", "^", @@ -389,27 +389,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:39" + "src": "0:24:41" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardToken.sol", "file": "./StandardToken.sol", - "id": 2628, + "id": 2676, "nodeType": "ImportDirective", - "scope": 2746, - "sourceUnit": 3104, - "src": "26:29:39", + "scope": 2794, + "sourceUnit": 3152, + "src": "26:29:41", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/lifecycle/Pausable.sol", "file": "../../lifecycle/Pausable.sol", - "id": 2629, + "id": 2677, "nodeType": "ImportDirective", - "scope": 2746, - "sourceUnit": 372, - "src": "56:38:39", + "scope": 2794, + "sourceUnit": 415, + "src": "56:38:41", "symbolAliases": [], "unitAlias": "" }, @@ -419,88 +419,88 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2630, + "id": 2678, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "213:10:39", + "referencedDeclaration": 4864, + "src": "213:10:41", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 2631, + "id": 2679, "nodeType": "InheritanceSpecifier", - "src": "213:10:39" + "src": "213:10:41" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2632, + "id": 2680, "name": "StandardToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3103, - "src": "225:13:39", + "referencedDeclaration": 3151, + "src": "225:13:41", "typeDescriptions": { - "typeIdentifier": "t_contract$_StandardToken_$3103", + "typeIdentifier": "t_contract$_StandardToken_$3151", "typeString": "contract StandardToken" } }, - "id": 2633, + "id": 2681, "nodeType": "InheritanceSpecifier", - "src": "225:13:39" + "src": "225:13:41" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2634, + "id": 2682, "name": "Pausable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 371, - "src": "240:8:39", + "referencedDeclaration": 414, + "src": "240:8:41", "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$371", + "typeIdentifier": "t_contract$_Pausable_$414", "typeString": "contract Pausable" } }, - "id": 2635, + "id": 2683, "nodeType": "InheritanceSpecifier", - "src": "240:8:39" + "src": "240:8:41" } ], "contractDependencies": [ - 371, - 1580, - 2215, - 2479, - 2511, - 3103, - 4769 + 414, + 1628, + 2263, + 2527, + 2559, + 3151, + 4864 ], "contractKind": "contract", "documentation": "@title Pausable token\n@dev StandardToken modified with pausable transfers.*", "fullyImplemented": true, - "id": 2745, + "id": 2793, "linearizedBaseContracts": [ - 2745, - 371, - 1580, - 3103, - 4769, - 2215, - 2479, - 2511 + 2793, + 414, + 1628, + 3151, + 4864, + 2263, + 2527, + 2559 ], "name": "PausableToken", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 2650, + "id": 2698, "nodeType": "Block", - "src": "339:39:39", + "src": "339:39:41", "statements": [ { "expression": { @@ -508,12 +508,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2647, + "id": 2695, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2637, - "src": "365:7:39", + "referencedDeclaration": 2685, + "src": "365:7:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -529,32 +529,32 @@ ], "expression": { "argumentTypes": null, - "id": 2644, + "id": 2692, "name": "Pausable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "345:8:39", + "referencedDeclaration": 414, + "src": "345:8:41", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pausable_$371_$", + "typeIdentifier": "t_type$_t_contract$_Pausable_$414_$", "typeString": "type(contract Pausable)" } }, - "id": 2646, + "id": 2694, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 323, - "src": "345:19:39", + "referencedDeclaration": 366, + "src": "345:19:41", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 2648, + "id": 2696, "isConstant": false, "isLValue": false, "isPure": false, @@ -562,20 +562,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "345:28:39", + "src": "345:28:41", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2649, + "id": 2697, "nodeType": "ExpressionStatement", - "src": "345:28:39" + "src": "345:28:41" } ] }, "documentation": null, - "id": 2651, + "id": 2699, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -585,14 +585,14 @@ { "argumentTypes": null, "hexValue": "5061757361626c65546f6b656e", - "id": 2640, + "id": 2688, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "305:15:39", + "src": "305:15:41", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_1e7b13c119e2c13fd907ec063d05895aa2286b0f0480aed9a358edab90b8132a", @@ -603,14 +603,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 2641, + "id": 2689, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "322:7:39", + "src": "322:7:41", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -619,37 +619,37 @@ "value": "1.9.0" } ], - "id": 2642, + "id": 2690, "modifierName": { "argumentTypes": null, - "id": 2639, + "id": 2687, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "291:13:39", + "referencedDeclaration": 4811, + "src": "291:13:41", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "291:39:39" + "src": "291:39:41" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 2638, + "id": 2686, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2637, + "id": 2685, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 2651, - "src": "274:15:39", + "scope": 2699, + "src": "274:15:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -657,10 +657,10 @@ "typeString": "address" }, "typeName": { - "id": 2636, + "id": 2684, "name": "address", "nodeType": "ElementaryTypeName", - "src": "274:7:39", + "src": "274:7:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -670,26 +670,26 @@ "visibility": "internal" } ], - "src": "273:17:39" + "src": "273:17:41" }, "payable": false, "returnParameters": { - "id": 2643, + "id": 2691, "nodeType": "ParameterList", "parameters": [], - "src": "339:0:39" + "src": "339:0:41" }, - "scope": 2745, - "src": "254:124:39", + "scope": 2793, + "src": "254:124:41", "stateMutability": "nonpayable", - "superFunction": 323, + "superFunction": 366, "visibility": "public" }, { "body": { - "id": 2668, + "id": 2716, "nodeType": "Block", - "src": "465:45:39", + "src": "465:45:41", "statements": [ { "expression": { @@ -697,12 +697,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2664, + "id": 2712, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2653, - "src": "493:3:39", + "referencedDeclaration": 2701, + "src": "493:3:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -710,12 +710,12 @@ }, { "argumentTypes": null, - "id": 2665, + "id": 2713, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2655, - "src": "498:6:39", + "referencedDeclaration": 2703, + "src": "498:6:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -735,32 +735,32 @@ ], "expression": { "argumentTypes": null, - "id": 2662, + "id": 2710, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4868, - "src": "478:5:39", + "referencedDeclaration": 4967, + "src": "478:5:41", "typeDescriptions": { - "typeIdentifier": "t_super$_PausableToken_$2745", + "typeIdentifier": "t_super$_PausableToken_$2793", "typeString": "contract super PausableToken" } }, - "id": 2663, + "id": 2711, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2202, - "src": "478:14:39", + "referencedDeclaration": 2250, + "src": "478:14:41", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) returns (bool)" } }, - "id": 2666, + "id": 2714, "isConstant": false, "isLValue": false, "isPure": false, @@ -768,58 +768,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "478:27:39", + "src": "478:27:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2661, - "id": 2667, + "functionReturnParameters": 2709, + "id": 2715, "nodeType": "Return", - "src": "471:34:39" + "src": "471:34:41" } ] }, "documentation": null, - "id": 2669, + "id": 2717, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 2658, + "id": 2706, "modifierName": { "argumentTypes": null, - "id": 2657, + "id": 2705, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "436:13:39", + "referencedDeclaration": 375, + "src": "436:13:41", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "436:13:39" + "src": "436:13:41" } ], "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 2656, + "id": 2704, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2653, + "id": 2701, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 2669, - "src": "400:11:39", + "scope": 2717, + "src": "400:11:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -827,10 +827,10 @@ "typeString": "address" }, "typeName": { - "id": 2652, + "id": 2700, "name": "address", "nodeType": "ElementaryTypeName", - "src": "400:7:39", + "src": "400:7:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -841,11 +841,11 @@ }, { "constant": false, - "id": 2655, + "id": 2703, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2669, - "src": "413:14:39", + "scope": 2717, + "src": "413:14:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -853,10 +853,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2654, + "id": 2702, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "413:7:39", + "src": "413:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -866,20 +866,20 @@ "visibility": "internal" } ], - "src": "399:29:39" + "src": "399:29:41" }, "payable": false, "returnParameters": { - "id": 2661, + "id": 2709, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2660, + "id": 2708, "name": "", "nodeType": "VariableDeclaration", - "scope": 2669, - "src": "459:4:39", + "scope": 2717, + "src": "459:4:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -887,10 +887,10 @@ "typeString": "bool" }, "typeName": { - "id": 2659, + "id": 2707, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "459:4:39", + "src": "459:4:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -900,19 +900,19 @@ "visibility": "internal" } ], - "src": "458:6:39" + "src": "458:6:41" }, - "scope": 2745, - "src": "382:128:39", + "scope": 2793, + "src": "382:128:41", "stateMutability": "nonpayable", - "superFunction": 2202, + "superFunction": 2250, "visibility": "public" }, { "body": { - "id": 2689, + "id": 2737, "nodeType": "Block", - "src": "616:56:39", + "src": "616:56:41", "statements": [ { "expression": { @@ -920,12 +920,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2684, + "id": 2732, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2671, - "src": "648:5:39", + "referencedDeclaration": 2719, + "src": "648:5:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -933,12 +933,12 @@ }, { "argumentTypes": null, - "id": 2685, + "id": 2733, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2673, - "src": "655:3:39", + "referencedDeclaration": 2721, + "src": "655:3:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -946,12 +946,12 @@ }, { "argumentTypes": null, - "id": 2686, + "id": 2734, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2675, - "src": "660:6:39", + "referencedDeclaration": 2723, + "src": "660:6:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -975,32 +975,32 @@ ], "expression": { "argumentTypes": null, - "id": 2682, + "id": 2730, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4868, - "src": "629:5:39", + "referencedDeclaration": 4967, + "src": "629:5:41", "typeDescriptions": { - "typeIdentifier": "t_super$_PausableToken_$2745", + "typeIdentifier": "t_super$_PausableToken_$2793", "typeString": "contract super PausableToken" } }, - "id": 2683, + "id": 2731, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 2957, - "src": "629:18:39", + "referencedDeclaration": 3005, + "src": "629:18:41", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) returns (bool)" } }, - "id": 2687, + "id": 2735, "isConstant": false, "isLValue": false, "isPure": false, @@ -1008,58 +1008,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "629:38:39", + "src": "629:38:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2681, - "id": 2688, + "functionReturnParameters": 2729, + "id": 2736, "nodeType": "Return", - "src": "622:45:39" + "src": "622:45:41" } ] }, "documentation": null, - "id": 2690, + "id": 2738, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 2678, + "id": 2726, "modifierName": { "argumentTypes": null, - "id": 2677, + "id": 2725, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "587:13:39", + "referencedDeclaration": 375, + "src": "587:13:41", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "587:13:39" + "src": "587:13:41" } ], "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 2676, + "id": 2724, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2671, + "id": 2719, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 2690, - "src": "536:13:39", + "scope": 2738, + "src": "536:13:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1067,10 +1067,10 @@ "typeString": "address" }, "typeName": { - "id": 2670, + "id": 2718, "name": "address", "nodeType": "ElementaryTypeName", - "src": "536:7:39", + "src": "536:7:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1081,11 +1081,11 @@ }, { "constant": false, - "id": 2673, + "id": 2721, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 2690, - "src": "551:11:39", + "scope": 2738, + "src": "551:11:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1093,10 +1093,10 @@ "typeString": "address" }, "typeName": { - "id": 2672, + "id": 2720, "name": "address", "nodeType": "ElementaryTypeName", - "src": "551:7:39", + "src": "551:7:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1107,11 +1107,11 @@ }, { "constant": false, - "id": 2675, + "id": 2723, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2690, - "src": "564:14:39", + "scope": 2738, + "src": "564:14:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1119,10 +1119,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2674, + "id": 2722, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "564:7:39", + "src": "564:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1132,20 +1132,20 @@ "visibility": "internal" } ], - "src": "535:44:39" + "src": "535:44:41" }, "payable": false, "returnParameters": { - "id": 2681, + "id": 2729, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2680, + "id": 2728, "name": "", "nodeType": "VariableDeclaration", - "scope": 2690, - "src": "610:4:39", + "scope": 2738, + "src": "610:4:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1153,10 +1153,10 @@ "typeString": "bool" }, "typeName": { - "id": 2679, + "id": 2727, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "610:4:39", + "src": "610:4:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1166,19 +1166,19 @@ "visibility": "internal" } ], - "src": "609:6:39" + "src": "609:6:41" }, - "scope": 2745, - "src": "514:158:39", + "scope": 2793, + "src": "514:158:41", "stateMutability": "nonpayable", - "superFunction": 2957, + "superFunction": 3005, "visibility": "public" }, { "body": { - "id": 2707, + "id": 2755, "nodeType": "Block", - "src": "763:49:39", + "src": "763:49:41", "statements": [ { "expression": { @@ -1186,12 +1186,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2703, + "id": 2751, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2692, - "src": "790:8:39", + "referencedDeclaration": 2740, + "src": "790:8:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1199,12 +1199,12 @@ }, { "argumentTypes": null, - "id": 2704, + "id": 2752, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2694, - "src": "800:6:39", + "referencedDeclaration": 2742, + "src": "800:6:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1224,32 +1224,32 @@ ], "expression": { "argumentTypes": null, - "id": 2701, + "id": 2749, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4868, - "src": "776:5:39", + "referencedDeclaration": 4967, + "src": "776:5:41", "typeDescriptions": { - "typeIdentifier": "t_super$_PausableToken_$2745", + "typeIdentifier": "t_super$_PausableToken_$2793", "typeString": "contract super PausableToken" } }, - "id": 2702, + "id": 2750, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 2985, - "src": "776:13:39", + "referencedDeclaration": 3033, + "src": "776:13:41", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) returns (bool)" } }, - "id": 2705, + "id": 2753, "isConstant": false, "isLValue": false, "isPure": false, @@ -1257,58 +1257,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "776:31:39", + "src": "776:31:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2700, - "id": 2706, + "functionReturnParameters": 2748, + "id": 2754, "nodeType": "Return", - "src": "769:38:39" + "src": "769:38:41" } ] }, "documentation": null, - "id": 2708, + "id": 2756, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 2697, + "id": 2745, "modifierName": { "argumentTypes": null, - "id": 2696, + "id": 2744, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "734:13:39", + "referencedDeclaration": 375, + "src": "734:13:41", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "734:13:39" + "src": "734:13:41" } ], "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 2695, + "id": 2743, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2692, + "id": 2740, "name": "_spender", "nodeType": "VariableDeclaration", - "scope": 2708, - "src": "693:16:39", + "scope": 2756, + "src": "693:16:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1316,10 +1316,10 @@ "typeString": "address" }, "typeName": { - "id": 2691, + "id": 2739, "name": "address", "nodeType": "ElementaryTypeName", - "src": "693:7:39", + "src": "693:7:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1330,11 +1330,11 @@ }, { "constant": false, - "id": 2694, + "id": 2742, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2708, - "src": "711:14:39", + "scope": 2756, + "src": "711:14:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1342,10 +1342,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2693, + "id": 2741, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "711:7:39", + "src": "711:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1355,20 +1355,20 @@ "visibility": "internal" } ], - "src": "692:34:39" + "src": "692:34:41" }, "payable": false, "returnParameters": { - "id": 2700, + "id": 2748, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2699, + "id": 2747, "name": "", "nodeType": "VariableDeclaration", - "scope": 2708, - "src": "757:4:39", + "scope": 2756, + "src": "757:4:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1376,10 +1376,10 @@ "typeString": "bool" }, "typeName": { - "id": 2698, + "id": 2746, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "757:4:39", + "src": "757:4:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1389,19 +1389,19 @@ "visibility": "internal" } ], - "src": "756:6:39" + "src": "756:6:41" }, - "scope": 2745, - "src": "676:136:39", + "scope": 2793, + "src": "676:136:41", "stateMutability": "nonpayable", - "superFunction": 2985, + "superFunction": 3033, "visibility": "public" }, { "body": { - "id": 2725, + "id": 2773, "nodeType": "Block", - "src": "922:63:39", + "src": "922:63:41", "statements": [ { "expression": { @@ -1409,12 +1409,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2721, + "id": 2769, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2710, - "src": "958:8:39", + "referencedDeclaration": 2758, + "src": "958:8:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1422,12 +1422,12 @@ }, { "argumentTypes": null, - "id": 2722, + "id": 2770, "name": "_addedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2712, - "src": "968:11:39", + "referencedDeclaration": 2760, + "src": "968:11:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1447,32 +1447,32 @@ ], "expression": { "argumentTypes": null, - "id": 2719, + "id": 2767, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4868, - "src": "935:5:39", + "referencedDeclaration": 4967, + "src": "935:5:41", "typeDescriptions": { - "typeIdentifier": "t_super$_PausableToken_$2745", + "typeIdentifier": "t_super$_PausableToken_$2793", "typeString": "contract super PausableToken" } }, - "id": 2720, + "id": 2768, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "increaseApproval", "nodeType": "MemberAccess", - "referencedDeclaration": 3042, - "src": "935:22:39", + "referencedDeclaration": 3090, + "src": "935:22:41", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) returns (bool)" } }, - "id": 2723, + "id": 2771, "isConstant": false, "isLValue": false, "isPure": false, @@ -1480,58 +1480,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "935:45:39", + "src": "935:45:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2718, - "id": 2724, + "functionReturnParameters": 2766, + "id": 2772, "nodeType": "Return", - "src": "928:52:39" + "src": "928:52:41" } ] }, "documentation": null, - "id": 2726, + "id": 2774, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 2715, + "id": 2763, "modifierName": { "argumentTypes": null, - "id": 2714, + "id": 2762, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "885:13:39", + "referencedDeclaration": 375, + "src": "885:13:41", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "885:13:39" + "src": "885:13:41" } ], "name": "increaseApproval", "nodeType": "FunctionDefinition", "parameters": { - "id": 2713, + "id": 2761, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2710, + "id": 2758, "name": "_spender", "nodeType": "VariableDeclaration", - "scope": 2726, - "src": "842:16:39", + "scope": 2774, + "src": "842:16:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1539,10 +1539,10 @@ "typeString": "address" }, "typeName": { - "id": 2709, + "id": 2757, "name": "address", "nodeType": "ElementaryTypeName", - "src": "842:7:39", + "src": "842:7:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1553,11 +1553,11 @@ }, { "constant": false, - "id": 2712, + "id": 2760, "name": "_addedValue", "nodeType": "VariableDeclaration", - "scope": 2726, - "src": "860:16:39", + "scope": 2774, + "src": "860:16:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1565,10 +1565,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2711, + "id": 2759, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "860:4:39", + "src": "860:4:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1578,20 +1578,20 @@ "visibility": "internal" } ], - "src": "841:36:39" + "src": "841:36:41" }, "payable": false, "returnParameters": { - "id": 2718, + "id": 2766, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2717, + "id": 2765, "name": "success", "nodeType": "VariableDeclaration", - "scope": 2726, - "src": "908:12:39", + "scope": 2774, + "src": "908:12:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1599,10 +1599,10 @@ "typeString": "bool" }, "typeName": { - "id": 2716, + "id": 2764, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "908:4:39", + "src": "908:4:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1612,19 +1612,19 @@ "visibility": "internal" } ], - "src": "907:14:39" + "src": "907:14:41" }, - "scope": 2745, - "src": "816:169:39", + "scope": 2793, + "src": "816:169:41", "stateMutability": "nonpayable", - "superFunction": 3042, + "superFunction": 3090, "visibility": "public" }, { "body": { - "id": 2743, + "id": 2791, "nodeType": "Block", - "src": "1100:68:39", + "src": "1100:68:41", "statements": [ { "expression": { @@ -1632,12 +1632,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2739, + "id": 2787, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2728, - "src": "1136:8:39", + "referencedDeclaration": 2776, + "src": "1136:8:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1645,12 +1645,12 @@ }, { "argumentTypes": null, - "id": 2740, + "id": 2788, "name": "_subtractedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2730, - "src": "1146:16:39", + "referencedDeclaration": 2778, + "src": "1146:16:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1670,32 +1670,32 @@ ], "expression": { "argumentTypes": null, - "id": 2737, + "id": 2785, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4868, - "src": "1113:5:39", + "referencedDeclaration": 4967, + "src": "1113:5:41", "typeDescriptions": { - "typeIdentifier": "t_super$_PausableToken_$2745", + "typeIdentifier": "t_super$_PausableToken_$2793", "typeString": "contract super PausableToken" } }, - "id": 2738, + "id": 2786, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "decreaseApproval", "nodeType": "MemberAccess", - "referencedDeclaration": 3102, - "src": "1113:22:39", + "referencedDeclaration": 3150, + "src": "1113:22:41", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) returns (bool)" } }, - "id": 2741, + "id": 2789, "isConstant": false, "isLValue": false, "isPure": false, @@ -1703,58 +1703,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1113:50:39", + "src": "1113:50:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2736, - "id": 2742, + "functionReturnParameters": 2784, + "id": 2790, "nodeType": "Return", - "src": "1106:57:39" + "src": "1106:57:41" } ] }, "documentation": null, - "id": 2744, + "id": 2792, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 2733, + "id": 2781, "modifierName": { "argumentTypes": null, - "id": 2732, + "id": 2780, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "1063:13:39", + "referencedDeclaration": 375, + "src": "1063:13:41", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1063:13:39" + "src": "1063:13:41" } ], "name": "decreaseApproval", "nodeType": "FunctionDefinition", "parameters": { - "id": 2731, + "id": 2779, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2728, + "id": 2776, "name": "_spender", "nodeType": "VariableDeclaration", - "scope": 2744, - "src": "1015:16:39", + "scope": 2792, + "src": "1015:16:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1762,10 +1762,10 @@ "typeString": "address" }, "typeName": { - "id": 2727, + "id": 2775, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1015:7:39", + "src": "1015:7:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1776,11 +1776,11 @@ }, { "constant": false, - "id": 2730, + "id": 2778, "name": "_subtractedValue", "nodeType": "VariableDeclaration", - "scope": 2744, - "src": "1033:21:39", + "scope": 2792, + "src": "1033:21:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1788,10 +1788,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2729, + "id": 2777, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1033:4:39", + "src": "1033:4:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1801,20 +1801,20 @@ "visibility": "internal" } ], - "src": "1014:41:39" + "src": "1014:41:41" }, "payable": false, "returnParameters": { - "id": 2736, + "id": 2784, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2735, + "id": 2783, "name": "success", "nodeType": "VariableDeclaration", - "scope": 2744, - "src": "1086:12:39", + "scope": 2792, + "src": "1086:12:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1822,10 +1822,10 @@ "typeString": "bool" }, "typeName": { - "id": 2734, + "id": 2782, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1086:4:39", + "src": "1086:4:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1835,33 +1835,33 @@ "visibility": "internal" } ], - "src": "1085:14:39" + "src": "1085:14:41" }, - "scope": 2745, - "src": "989:179:39", + "scope": 2793, + "src": "989:179:41", "stateMutability": "nonpayable", - "superFunction": 3102, + "superFunction": 3150, "visibility": "public" } ], - "scope": 2746, - "src": "187:983:39" + "scope": 2794, + "src": "187:983:41" } ], - "src": "0:1171:39" + "src": "0:1171:41" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/PausableToken.sol", "exportedSymbols": { "PausableToken": [ - 2745 + 2793 ] }, - "id": 2746, + "id": 2794, "nodeType": "SourceUnit", "nodes": [ { - "id": 2627, + "id": 2675, "literals": [ "solidity", "^", @@ -1869,27 +1869,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:39" + "src": "0:24:41" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardToken.sol", "file": "./StandardToken.sol", - "id": 2628, + "id": 2676, "nodeType": "ImportDirective", - "scope": 2746, - "sourceUnit": 3104, - "src": "26:29:39", + "scope": 2794, + "sourceUnit": 3152, + "src": "26:29:41", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/lifecycle/Pausable.sol", "file": "../../lifecycle/Pausable.sol", - "id": 2629, + "id": 2677, "nodeType": "ImportDirective", - "scope": 2746, - "sourceUnit": 372, - "src": "56:38:39", + "scope": 2794, + "sourceUnit": 415, + "src": "56:38:41", "symbolAliases": [], "unitAlias": "" }, @@ -1899,88 +1899,88 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2630, + "id": 2678, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "213:10:39", + "referencedDeclaration": 4864, + "src": "213:10:41", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 2631, + "id": 2679, "nodeType": "InheritanceSpecifier", - "src": "213:10:39" + "src": "213:10:41" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2632, + "id": 2680, "name": "StandardToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3103, - "src": "225:13:39", + "referencedDeclaration": 3151, + "src": "225:13:41", "typeDescriptions": { - "typeIdentifier": "t_contract$_StandardToken_$3103", + "typeIdentifier": "t_contract$_StandardToken_$3151", "typeString": "contract StandardToken" } }, - "id": 2633, + "id": 2681, "nodeType": "InheritanceSpecifier", - "src": "225:13:39" + "src": "225:13:41" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2634, + "id": 2682, "name": "Pausable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 371, - "src": "240:8:39", + "referencedDeclaration": 414, + "src": "240:8:41", "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$371", + "typeIdentifier": "t_contract$_Pausable_$414", "typeString": "contract Pausable" } }, - "id": 2635, + "id": 2683, "nodeType": "InheritanceSpecifier", - "src": "240:8:39" + "src": "240:8:41" } ], "contractDependencies": [ - 371, - 1580, - 2215, - 2479, - 2511, - 3103, - 4769 + 414, + 1628, + 2263, + 2527, + 2559, + 3151, + 4864 ], "contractKind": "contract", "documentation": "@title Pausable token\n@dev StandardToken modified with pausable transfers.*", "fullyImplemented": true, - "id": 2745, + "id": 2793, "linearizedBaseContracts": [ - 2745, - 371, - 1580, - 3103, - 4769, - 2215, - 2479, - 2511 + 2793, + 414, + 1628, + 3151, + 4864, + 2263, + 2527, + 2559 ], "name": "PausableToken", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 2650, + "id": 2698, "nodeType": "Block", - "src": "339:39:39", + "src": "339:39:41", "statements": [ { "expression": { @@ -1988,12 +1988,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2647, + "id": 2695, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2637, - "src": "365:7:39", + "referencedDeclaration": 2685, + "src": "365:7:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2009,32 +2009,32 @@ ], "expression": { "argumentTypes": null, - "id": 2644, + "id": 2692, "name": "Pausable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "345:8:39", + "referencedDeclaration": 414, + "src": "345:8:41", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pausable_$371_$", + "typeIdentifier": "t_type$_t_contract$_Pausable_$414_$", "typeString": "type(contract Pausable)" } }, - "id": 2646, + "id": 2694, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 323, - "src": "345:19:39", + "referencedDeclaration": 366, + "src": "345:19:41", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 2648, + "id": 2696, "isConstant": false, "isLValue": false, "isPure": false, @@ -2042,20 +2042,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "345:28:39", + "src": "345:28:41", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2649, + "id": 2697, "nodeType": "ExpressionStatement", - "src": "345:28:39" + "src": "345:28:41" } ] }, "documentation": null, - "id": 2651, + "id": 2699, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2065,14 +2065,14 @@ { "argumentTypes": null, "hexValue": "5061757361626c65546f6b656e", - "id": 2640, + "id": 2688, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "305:15:39", + "src": "305:15:41", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_1e7b13c119e2c13fd907ec063d05895aa2286b0f0480aed9a358edab90b8132a", @@ -2083,14 +2083,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 2641, + "id": 2689, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "322:7:39", + "src": "322:7:41", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -2099,37 +2099,37 @@ "value": "1.9.0" } ], - "id": 2642, + "id": 2690, "modifierName": { "argumentTypes": null, - "id": 2639, + "id": 2687, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "291:13:39", + "referencedDeclaration": 4811, + "src": "291:13:41", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "291:39:39" + "src": "291:39:41" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 2638, + "id": 2686, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2637, + "id": 2685, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 2651, - "src": "274:15:39", + "scope": 2699, + "src": "274:15:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2137,10 +2137,10 @@ "typeString": "address" }, "typeName": { - "id": 2636, + "id": 2684, "name": "address", "nodeType": "ElementaryTypeName", - "src": "274:7:39", + "src": "274:7:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2150,26 +2150,26 @@ "visibility": "internal" } ], - "src": "273:17:39" + "src": "273:17:41" }, "payable": false, "returnParameters": { - "id": 2643, + "id": 2691, "nodeType": "ParameterList", "parameters": [], - "src": "339:0:39" + "src": "339:0:41" }, - "scope": 2745, - "src": "254:124:39", + "scope": 2793, + "src": "254:124:41", "stateMutability": "nonpayable", - "superFunction": 323, + "superFunction": 366, "visibility": "public" }, { "body": { - "id": 2668, + "id": 2716, "nodeType": "Block", - "src": "465:45:39", + "src": "465:45:41", "statements": [ { "expression": { @@ -2177,12 +2177,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2664, + "id": 2712, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2653, - "src": "493:3:39", + "referencedDeclaration": 2701, + "src": "493:3:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2190,12 +2190,12 @@ }, { "argumentTypes": null, - "id": 2665, + "id": 2713, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2655, - "src": "498:6:39", + "referencedDeclaration": 2703, + "src": "498:6:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2215,32 +2215,32 @@ ], "expression": { "argumentTypes": null, - "id": 2662, + "id": 2710, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4868, - "src": "478:5:39", + "referencedDeclaration": 4967, + "src": "478:5:41", "typeDescriptions": { - "typeIdentifier": "t_super$_PausableToken_$2745", + "typeIdentifier": "t_super$_PausableToken_$2793", "typeString": "contract super PausableToken" } }, - "id": 2663, + "id": 2711, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2202, - "src": "478:14:39", + "referencedDeclaration": 2250, + "src": "478:14:41", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) returns (bool)" } }, - "id": 2666, + "id": 2714, "isConstant": false, "isLValue": false, "isPure": false, @@ -2248,58 +2248,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "478:27:39", + "src": "478:27:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2661, - "id": 2667, + "functionReturnParameters": 2709, + "id": 2715, "nodeType": "Return", - "src": "471:34:39" + "src": "471:34:41" } ] }, "documentation": null, - "id": 2669, + "id": 2717, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 2658, + "id": 2706, "modifierName": { "argumentTypes": null, - "id": 2657, + "id": 2705, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "436:13:39", + "referencedDeclaration": 375, + "src": "436:13:41", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "436:13:39" + "src": "436:13:41" } ], "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 2656, + "id": 2704, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2653, + "id": 2701, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 2669, - "src": "400:11:39", + "scope": 2717, + "src": "400:11:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2307,10 +2307,10 @@ "typeString": "address" }, "typeName": { - "id": 2652, + "id": 2700, "name": "address", "nodeType": "ElementaryTypeName", - "src": "400:7:39", + "src": "400:7:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2321,11 +2321,11 @@ }, { "constant": false, - "id": 2655, + "id": 2703, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2669, - "src": "413:14:39", + "scope": 2717, + "src": "413:14:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2333,10 +2333,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2654, + "id": 2702, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "413:7:39", + "src": "413:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2346,20 +2346,20 @@ "visibility": "internal" } ], - "src": "399:29:39" + "src": "399:29:41" }, "payable": false, "returnParameters": { - "id": 2661, + "id": 2709, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2660, + "id": 2708, "name": "", "nodeType": "VariableDeclaration", - "scope": 2669, - "src": "459:4:39", + "scope": 2717, + "src": "459:4:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2367,10 +2367,10 @@ "typeString": "bool" }, "typeName": { - "id": 2659, + "id": 2707, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "459:4:39", + "src": "459:4:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2380,19 +2380,19 @@ "visibility": "internal" } ], - "src": "458:6:39" + "src": "458:6:41" }, - "scope": 2745, - "src": "382:128:39", + "scope": 2793, + "src": "382:128:41", "stateMutability": "nonpayable", - "superFunction": 2202, + "superFunction": 2250, "visibility": "public" }, { "body": { - "id": 2689, + "id": 2737, "nodeType": "Block", - "src": "616:56:39", + "src": "616:56:41", "statements": [ { "expression": { @@ -2400,12 +2400,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2684, + "id": 2732, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2671, - "src": "648:5:39", + "referencedDeclaration": 2719, + "src": "648:5:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2413,12 +2413,12 @@ }, { "argumentTypes": null, - "id": 2685, + "id": 2733, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2673, - "src": "655:3:39", + "referencedDeclaration": 2721, + "src": "655:3:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2426,12 +2426,12 @@ }, { "argumentTypes": null, - "id": 2686, + "id": 2734, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2675, - "src": "660:6:39", + "referencedDeclaration": 2723, + "src": "660:6:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2455,32 +2455,32 @@ ], "expression": { "argumentTypes": null, - "id": 2682, + "id": 2730, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4868, - "src": "629:5:39", + "referencedDeclaration": 4967, + "src": "629:5:41", "typeDescriptions": { - "typeIdentifier": "t_super$_PausableToken_$2745", + "typeIdentifier": "t_super$_PausableToken_$2793", "typeString": "contract super PausableToken" } }, - "id": 2683, + "id": 2731, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 2957, - "src": "629:18:39", + "referencedDeclaration": 3005, + "src": "629:18:41", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) returns (bool)" } }, - "id": 2687, + "id": 2735, "isConstant": false, "isLValue": false, "isPure": false, @@ -2488,58 +2488,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "629:38:39", + "src": "629:38:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2681, - "id": 2688, + "functionReturnParameters": 2729, + "id": 2736, "nodeType": "Return", - "src": "622:45:39" + "src": "622:45:41" } ] }, "documentation": null, - "id": 2690, + "id": 2738, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 2678, + "id": 2726, "modifierName": { "argumentTypes": null, - "id": 2677, + "id": 2725, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "587:13:39", + "referencedDeclaration": 375, + "src": "587:13:41", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "587:13:39" + "src": "587:13:41" } ], "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 2676, + "id": 2724, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2671, + "id": 2719, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 2690, - "src": "536:13:39", + "scope": 2738, + "src": "536:13:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2547,10 +2547,10 @@ "typeString": "address" }, "typeName": { - "id": 2670, + "id": 2718, "name": "address", "nodeType": "ElementaryTypeName", - "src": "536:7:39", + "src": "536:7:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2561,11 +2561,11 @@ }, { "constant": false, - "id": 2673, + "id": 2721, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 2690, - "src": "551:11:39", + "scope": 2738, + "src": "551:11:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2573,10 +2573,10 @@ "typeString": "address" }, "typeName": { - "id": 2672, + "id": 2720, "name": "address", "nodeType": "ElementaryTypeName", - "src": "551:7:39", + "src": "551:7:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2587,11 +2587,11 @@ }, { "constant": false, - "id": 2675, + "id": 2723, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2690, - "src": "564:14:39", + "scope": 2738, + "src": "564:14:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2599,10 +2599,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2674, + "id": 2722, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "564:7:39", + "src": "564:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2612,20 +2612,20 @@ "visibility": "internal" } ], - "src": "535:44:39" + "src": "535:44:41" }, "payable": false, "returnParameters": { - "id": 2681, + "id": 2729, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2680, + "id": 2728, "name": "", "nodeType": "VariableDeclaration", - "scope": 2690, - "src": "610:4:39", + "scope": 2738, + "src": "610:4:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2633,10 +2633,10 @@ "typeString": "bool" }, "typeName": { - "id": 2679, + "id": 2727, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "610:4:39", + "src": "610:4:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2646,19 +2646,19 @@ "visibility": "internal" } ], - "src": "609:6:39" + "src": "609:6:41" }, - "scope": 2745, - "src": "514:158:39", + "scope": 2793, + "src": "514:158:41", "stateMutability": "nonpayable", - "superFunction": 2957, + "superFunction": 3005, "visibility": "public" }, { "body": { - "id": 2707, + "id": 2755, "nodeType": "Block", - "src": "763:49:39", + "src": "763:49:41", "statements": [ { "expression": { @@ -2666,12 +2666,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2703, + "id": 2751, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2692, - "src": "790:8:39", + "referencedDeclaration": 2740, + "src": "790:8:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2679,12 +2679,12 @@ }, { "argumentTypes": null, - "id": 2704, + "id": 2752, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2694, - "src": "800:6:39", + "referencedDeclaration": 2742, + "src": "800:6:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2704,32 +2704,32 @@ ], "expression": { "argumentTypes": null, - "id": 2701, + "id": 2749, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4868, - "src": "776:5:39", + "referencedDeclaration": 4967, + "src": "776:5:41", "typeDescriptions": { - "typeIdentifier": "t_super$_PausableToken_$2745", + "typeIdentifier": "t_super$_PausableToken_$2793", "typeString": "contract super PausableToken" } }, - "id": 2702, + "id": 2750, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 2985, - "src": "776:13:39", + "referencedDeclaration": 3033, + "src": "776:13:41", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) returns (bool)" } }, - "id": 2705, + "id": 2753, "isConstant": false, "isLValue": false, "isPure": false, @@ -2737,58 +2737,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "776:31:39", + "src": "776:31:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2700, - "id": 2706, + "functionReturnParameters": 2748, + "id": 2754, "nodeType": "Return", - "src": "769:38:39" + "src": "769:38:41" } ] }, "documentation": null, - "id": 2708, + "id": 2756, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 2697, + "id": 2745, "modifierName": { "argumentTypes": null, - "id": 2696, + "id": 2744, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "734:13:39", + "referencedDeclaration": 375, + "src": "734:13:41", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "734:13:39" + "src": "734:13:41" } ], "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 2695, + "id": 2743, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2692, + "id": 2740, "name": "_spender", "nodeType": "VariableDeclaration", - "scope": 2708, - "src": "693:16:39", + "scope": 2756, + "src": "693:16:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2796,10 +2796,10 @@ "typeString": "address" }, "typeName": { - "id": 2691, + "id": 2739, "name": "address", "nodeType": "ElementaryTypeName", - "src": "693:7:39", + "src": "693:7:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2810,11 +2810,11 @@ }, { "constant": false, - "id": 2694, + "id": 2742, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2708, - "src": "711:14:39", + "scope": 2756, + "src": "711:14:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2822,10 +2822,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2693, + "id": 2741, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "711:7:39", + "src": "711:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2835,20 +2835,20 @@ "visibility": "internal" } ], - "src": "692:34:39" + "src": "692:34:41" }, "payable": false, "returnParameters": { - "id": 2700, + "id": 2748, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2699, + "id": 2747, "name": "", "nodeType": "VariableDeclaration", - "scope": 2708, - "src": "757:4:39", + "scope": 2756, + "src": "757:4:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2856,10 +2856,10 @@ "typeString": "bool" }, "typeName": { - "id": 2698, + "id": 2746, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "757:4:39", + "src": "757:4:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2869,19 +2869,19 @@ "visibility": "internal" } ], - "src": "756:6:39" + "src": "756:6:41" }, - "scope": 2745, - "src": "676:136:39", + "scope": 2793, + "src": "676:136:41", "stateMutability": "nonpayable", - "superFunction": 2985, + "superFunction": 3033, "visibility": "public" }, { "body": { - "id": 2725, + "id": 2773, "nodeType": "Block", - "src": "922:63:39", + "src": "922:63:41", "statements": [ { "expression": { @@ -2889,12 +2889,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2721, + "id": 2769, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2710, - "src": "958:8:39", + "referencedDeclaration": 2758, + "src": "958:8:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2902,12 +2902,12 @@ }, { "argumentTypes": null, - "id": 2722, + "id": 2770, "name": "_addedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2712, - "src": "968:11:39", + "referencedDeclaration": 2760, + "src": "968:11:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2927,32 +2927,32 @@ ], "expression": { "argumentTypes": null, - "id": 2719, + "id": 2767, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4868, - "src": "935:5:39", + "referencedDeclaration": 4967, + "src": "935:5:41", "typeDescriptions": { - "typeIdentifier": "t_super$_PausableToken_$2745", + "typeIdentifier": "t_super$_PausableToken_$2793", "typeString": "contract super PausableToken" } }, - "id": 2720, + "id": 2768, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "increaseApproval", "nodeType": "MemberAccess", - "referencedDeclaration": 3042, - "src": "935:22:39", + "referencedDeclaration": 3090, + "src": "935:22:41", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) returns (bool)" } }, - "id": 2723, + "id": 2771, "isConstant": false, "isLValue": false, "isPure": false, @@ -2960,58 +2960,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "935:45:39", + "src": "935:45:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2718, - "id": 2724, + "functionReturnParameters": 2766, + "id": 2772, "nodeType": "Return", - "src": "928:52:39" + "src": "928:52:41" } ] }, "documentation": null, - "id": 2726, + "id": 2774, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 2715, + "id": 2763, "modifierName": { "argumentTypes": null, - "id": 2714, + "id": 2762, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "885:13:39", + "referencedDeclaration": 375, + "src": "885:13:41", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "885:13:39" + "src": "885:13:41" } ], "name": "increaseApproval", "nodeType": "FunctionDefinition", "parameters": { - "id": 2713, + "id": 2761, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2710, + "id": 2758, "name": "_spender", "nodeType": "VariableDeclaration", - "scope": 2726, - "src": "842:16:39", + "scope": 2774, + "src": "842:16:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3019,10 +3019,10 @@ "typeString": "address" }, "typeName": { - "id": 2709, + "id": 2757, "name": "address", "nodeType": "ElementaryTypeName", - "src": "842:7:39", + "src": "842:7:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3033,11 +3033,11 @@ }, { "constant": false, - "id": 2712, + "id": 2760, "name": "_addedValue", "nodeType": "VariableDeclaration", - "scope": 2726, - "src": "860:16:39", + "scope": 2774, + "src": "860:16:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3045,10 +3045,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2711, + "id": 2759, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "860:4:39", + "src": "860:4:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3058,20 +3058,20 @@ "visibility": "internal" } ], - "src": "841:36:39" + "src": "841:36:41" }, "payable": false, "returnParameters": { - "id": 2718, + "id": 2766, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2717, + "id": 2765, "name": "success", "nodeType": "VariableDeclaration", - "scope": 2726, - "src": "908:12:39", + "scope": 2774, + "src": "908:12:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3079,10 +3079,10 @@ "typeString": "bool" }, "typeName": { - "id": 2716, + "id": 2764, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "908:4:39", + "src": "908:4:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3092,19 +3092,19 @@ "visibility": "internal" } ], - "src": "907:14:39" + "src": "907:14:41" }, - "scope": 2745, - "src": "816:169:39", + "scope": 2793, + "src": "816:169:41", "stateMutability": "nonpayable", - "superFunction": 3042, + "superFunction": 3090, "visibility": "public" }, { "body": { - "id": 2743, + "id": 2791, "nodeType": "Block", - "src": "1100:68:39", + "src": "1100:68:41", "statements": [ { "expression": { @@ -3112,12 +3112,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2739, + "id": 2787, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2728, - "src": "1136:8:39", + "referencedDeclaration": 2776, + "src": "1136:8:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3125,12 +3125,12 @@ }, { "argumentTypes": null, - "id": 2740, + "id": 2788, "name": "_subtractedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2730, - "src": "1146:16:39", + "referencedDeclaration": 2778, + "src": "1146:16:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3150,32 +3150,32 @@ ], "expression": { "argumentTypes": null, - "id": 2737, + "id": 2785, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4868, - "src": "1113:5:39", + "referencedDeclaration": 4967, + "src": "1113:5:41", "typeDescriptions": { - "typeIdentifier": "t_super$_PausableToken_$2745", + "typeIdentifier": "t_super$_PausableToken_$2793", "typeString": "contract super PausableToken" } }, - "id": 2738, + "id": 2786, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "decreaseApproval", "nodeType": "MemberAccess", - "referencedDeclaration": 3102, - "src": "1113:22:39", + "referencedDeclaration": 3150, + "src": "1113:22:41", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) returns (bool)" } }, - "id": 2741, + "id": 2789, "isConstant": false, "isLValue": false, "isPure": false, @@ -3183,58 +3183,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1113:50:39", + "src": "1113:50:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2736, - "id": 2742, + "functionReturnParameters": 2784, + "id": 2790, "nodeType": "Return", - "src": "1106:57:39" + "src": "1106:57:41" } ] }, "documentation": null, - "id": 2744, + "id": 2792, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 2733, + "id": 2781, "modifierName": { "argumentTypes": null, - "id": 2732, + "id": 2780, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "1063:13:39", + "referencedDeclaration": 375, + "src": "1063:13:41", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1063:13:39" + "src": "1063:13:41" } ], "name": "decreaseApproval", "nodeType": "FunctionDefinition", "parameters": { - "id": 2731, + "id": 2779, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2728, + "id": 2776, "name": "_spender", "nodeType": "VariableDeclaration", - "scope": 2744, - "src": "1015:16:39", + "scope": 2792, + "src": "1015:16:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3242,10 +3242,10 @@ "typeString": "address" }, "typeName": { - "id": 2727, + "id": 2775, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1015:7:39", + "src": "1015:7:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3256,11 +3256,11 @@ }, { "constant": false, - "id": 2730, + "id": 2778, "name": "_subtractedValue", "nodeType": "VariableDeclaration", - "scope": 2744, - "src": "1033:21:39", + "scope": 2792, + "src": "1033:21:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3268,10 +3268,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2729, + "id": 2777, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1033:4:39", + "src": "1033:4:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3281,20 +3281,20 @@ "visibility": "internal" } ], - "src": "1014:41:39" + "src": "1014:41:41" }, "payable": false, "returnParameters": { - "id": 2736, + "id": 2784, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2735, + "id": 2783, "name": "success", "nodeType": "VariableDeclaration", - "scope": 2744, - "src": "1086:12:39", + "scope": 2792, + "src": "1086:12:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3302,10 +3302,10 @@ "typeString": "bool" }, "typeName": { - "id": 2734, + "id": 2782, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1086:4:39", + "src": "1086:4:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3315,26 +3315,26 @@ "visibility": "internal" } ], - "src": "1085:14:39" + "src": "1085:14:41" }, - "scope": 2745, - "src": "989:179:39", + "scope": 2793, + "src": "989:179:41", "stateMutability": "nonpayable", - "superFunction": 3102, + "superFunction": 3150, "visibility": "public" } ], - "scope": 2746, - "src": "187:983:39" + "scope": 2794, + "src": "187:983:41" } ], - "src": "0:1171:39" + "src": "0:1171:41" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.643Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.214Z" } \ No newline at end of file diff --git a/build/contracts/PausableTokenMock.json b/build/contracts/PausableTokenMock.json index a0afc0133..c82b2690f 100644 --- a/build/contracts/PausableTokenMock.json +++ b/build/contracts/PausableTokenMock.json @@ -379,24 +379,24 @@ "type": "event" } ], - "bytecode": "0x60806040526000600460146101000a81548160ff0219169083151502179055503480156200002c57600080fd5b50604051604080620023dd83398101806040528101908080519060200190929190805190602001909291905050506200007933620000c46401000000000262001c55176401000000009004565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050506200048e565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506200014b82826200039e640100000000026401000000009004565b1515156200015857600080fd5b82600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101562000202578082015181840152602081019050620001e5565b50505050905090810190601f168015620002305780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156200026b5780820151818401526020810190506200024e565b50505050905090810190601f168015620002995780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515620002e45780518252602082019150602081019050602083039250620002bd565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156200034f578051825260208201915060208101905060208303925062000328565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60006002836040518082805190602001908083835b602083101515620003da5780518252602082019150602081019050602083039250620003b3565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156200044557805182526020820191506020810190506020830392506200041e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b611f3f806200049e6000396000f3006080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100e057806318160ddd1461014557806323b872dd146101705780633f4ba83a146101f55780635c975abb1461020c578063661884631461023b57806370a08231146102a05780638456cb59146102f75780638da5cb5b1461030e578063a9059cbb14610365578063c0bac1a8146103ca578063c4d66de814610491578063d73dd623146104d4578063dd62ed3e14610539578063f2fde38b146105b0575b600080fd5b3480156100ec57600080fd5b5061012b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105f3565b604051808215151515815260200191505060405180910390f35b34801561015157600080fd5b5061015a610623565b6040518082815260200191505060405180910390f35b34801561017c57600080fd5b506101db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061062d565b604051808215151515815260200191505060405180910390f35b34801561020157600080fd5b5061020a61065f565b005b34801561021857600080fd5b5061022161071f565b604051808215151515815260200191505060405180910390f35b34801561024757600080fd5b50610286600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610732565b604051808215151515815260200191505060405180910390f35b3480156102ac57600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610762565b6040518082815260200191505060405180910390f35b34801561030357600080fd5b5061030c6107aa565b005b34801561031a57600080fd5b5061032361086b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037157600080fd5b506103b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610891565b604051808215151515815260200191505060405180910390f35b3480156103d657600080fd5b50610477600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108c1565b604051808215151515815260200191505060405180910390f35b34801561049d57600080fd5b506104d2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ad565b005b3480156104e057600080fd5b5061051f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c33565b604051808215151515815260200191505060405180910390f35b34801561054557600080fd5b5061059a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c63565b6040518082815260200191505060405180910390f35b3480156105bc57600080fd5b506105f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cea565b005b6000600460149054906101000a900460ff1615151561061157600080fd5b61061b8383610e42565b905092915050565b6000600154905090565b6000600460149054906101000a900460ff1615151561064b57600080fd5b610656848484610f34565b90509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106bb57600080fd5b600460149054906101000a900460ff1615156106d657600080fd5b6000600460146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600460149054906101000a900460ff1681565b6000600460149054906101000a900460ff1615151561075057600080fd5b61075a83836112ee565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080657600080fd5b600460149054906101000a900460ff1615151561082257600080fd5b6001600460146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460149054906101000a900460ff161515156108af57600080fd5b6108b9838361157f565b905092915050565b60006002836040518082805190602001908083835b6020831015156108fb57805182526020820191506020810190506020830392506108d6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610964578051825260208201915060208101905060208303925061093f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f5061757361626c65546f6b656e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610a2382826108c1565b151515610a2f57600080fd5b610a388361179e565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a9f578082015181840152602081019050610a84565b50505050905090810190601f168015610acc5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b05578082015181840152602081019050610aea565b50505050905090810190601f168015610b325780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515610b7b5780518252602082019150602081019050602083039250610b56565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610be45780518252602082019150602081019050602083039250610bbf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000600460149054906101000a900460ff16151515610c5157600080fd5b610c5b8383611a24565b905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d4657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d8257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f7157600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fbe57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561104957600080fd5b61109a826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061112d826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111fe82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156113ff576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611493565b6114128382611c2090919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156115bc57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561160957600080fd5b61165a826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116ed826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600881526020017f5061757361626c650000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061181482826108c1565b15151561182057600080fd5b61182983611c55565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611890578082015181840152602081019050611875565b50505050905090810190601f1680156118bd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156118f65780820151818401526020810190506118db565b50505050905090810190601f1680156119235780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b60208310151561196c5780518252602082019150602081019050602083039250611947565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156119d557805182526020820191506020810190506020830392506119b0565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000611ab582600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000828211151515611c2e57fe5b818303905092915050565b60008183019050828110151515611c4c57fe5b80905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611ccb82826108c1565b151515611cd757600080fd5b82600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611d7f578082015181840152602081019050611d64565b50505050905090810190601f168015611dac5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611de5578082015181840152602081019050611dca565b50505050905090810190601f168015611e125780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515611e5b5780518252602082019150602081019050602083039250611e36565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ec45780518252602082019150602081019050602083039250611e9f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a723058201bd1d663c7a226d518c453cc32d406c25ba45ca240316ff9ded5d5d5aa40a3a60029", - "deployedBytecode": "0x6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100e057806318160ddd1461014557806323b872dd146101705780633f4ba83a146101f55780635c975abb1461020c578063661884631461023b57806370a08231146102a05780638456cb59146102f75780638da5cb5b1461030e578063a9059cbb14610365578063c0bac1a8146103ca578063c4d66de814610491578063d73dd623146104d4578063dd62ed3e14610539578063f2fde38b146105b0575b600080fd5b3480156100ec57600080fd5b5061012b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105f3565b604051808215151515815260200191505060405180910390f35b34801561015157600080fd5b5061015a610623565b6040518082815260200191505060405180910390f35b34801561017c57600080fd5b506101db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061062d565b604051808215151515815260200191505060405180910390f35b34801561020157600080fd5b5061020a61065f565b005b34801561021857600080fd5b5061022161071f565b604051808215151515815260200191505060405180910390f35b34801561024757600080fd5b50610286600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610732565b604051808215151515815260200191505060405180910390f35b3480156102ac57600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610762565b6040518082815260200191505060405180910390f35b34801561030357600080fd5b5061030c6107aa565b005b34801561031a57600080fd5b5061032361086b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037157600080fd5b506103b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610891565b604051808215151515815260200191505060405180910390f35b3480156103d657600080fd5b50610477600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108c1565b604051808215151515815260200191505060405180910390f35b34801561049d57600080fd5b506104d2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ad565b005b3480156104e057600080fd5b5061051f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c33565b604051808215151515815260200191505060405180910390f35b34801561054557600080fd5b5061059a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c63565b6040518082815260200191505060405180910390f35b3480156105bc57600080fd5b506105f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cea565b005b6000600460149054906101000a900460ff1615151561061157600080fd5b61061b8383610e42565b905092915050565b6000600154905090565b6000600460149054906101000a900460ff1615151561064b57600080fd5b610656848484610f34565b90509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106bb57600080fd5b600460149054906101000a900460ff1615156106d657600080fd5b6000600460146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600460149054906101000a900460ff1681565b6000600460149054906101000a900460ff1615151561075057600080fd5b61075a83836112ee565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080657600080fd5b600460149054906101000a900460ff1615151561082257600080fd5b6001600460146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460149054906101000a900460ff161515156108af57600080fd5b6108b9838361157f565b905092915050565b60006002836040518082805190602001908083835b6020831015156108fb57805182526020820191506020810190506020830392506108d6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610964578051825260208201915060208101905060208303925061093f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f5061757361626c65546f6b656e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610a2382826108c1565b151515610a2f57600080fd5b610a388361179e565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a9f578082015181840152602081019050610a84565b50505050905090810190601f168015610acc5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b05578082015181840152602081019050610aea565b50505050905090810190601f168015610b325780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515610b7b5780518252602082019150602081019050602083039250610b56565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610be45780518252602082019150602081019050602083039250610bbf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000600460149054906101000a900460ff16151515610c5157600080fd5b610c5b8383611a24565b905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d4657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d8257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f7157600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fbe57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561104957600080fd5b61109a826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061112d826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111fe82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156113ff576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611493565b6114128382611c2090919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156115bc57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561160957600080fd5b61165a826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116ed826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600881526020017f5061757361626c650000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061181482826108c1565b15151561182057600080fd5b61182983611c55565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611890578082015181840152602081019050611875565b50505050905090810190601f1680156118bd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156118f65780820151818401526020810190506118db565b50505050905090810190601f1680156119235780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b60208310151561196c5780518252602082019150602081019050602083039250611947565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156119d557805182526020820191506020810190506020830392506119b0565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000611ab582600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000828211151515611c2e57fe5b818303905092915050565b60008183019050828110151515611c4c57fe5b80905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611ccb82826108c1565b151515611cd757600080fd5b82600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611d7f578082015181840152602081019050611d64565b50505050905090810190601f168015611dac5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611de5578082015181840152602081019050611dca565b50505050905090810190601f168015611e125780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515611e5b5780518252602082019150602081019050602083039250611e36565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ec45780518252602082019150602081019050602083039250611e9f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a723058201bd1d663c7a226d518c453cc32d406c25ba45ca240316ff9ded5d5d5aa40a3a60029", - "sourceMap": "105:220:18:-;;;280:5:4;259:26;;;;;;;;;;;;;;;;;;;;154:168:18;8:9:-1;5:2;;;30:1;27;20:12;5:2;154:168:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;239:30;258:10;239:18;;;;;:30;;;:::i;:::-;303:14;276:8;:24;285:14;276:24;;;;;;;;;;;;;;;:41;;;;154:168;;105:220;;537:104:25;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;;;:37;;;:::i;:::-;1082:38;1074:47;;;;;;;;629:7:25;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:25;;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;105:220:18:-;;;;;;;", - "deployedSourceMap": "105:220:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;676:136:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;676:136:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:31;;;;;;;;;;;;;;;;;;;;;;;514:158:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;514:158:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;972:92:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;972:92:4;;;;;;259:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;259:26:4;;;;;;;;;;;;;;;;;;;;;;;;;;;989:179:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;989:179:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;800:90:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;800:90:4;;;;;;307:20:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:25;;;;;;;;;;;;;;;;;;;;;;;;;;;382:128:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;382:128:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;254:124:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;254:124:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;816:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;816:169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;676:136:39;757:4;550:6:4;;;;;;;;;;;549:7;541:16;;;;;;;;776:31:39;790:8;800:6;776:13;:31::i;:::-;769:38;;676:136;;;;:::o;371:83:31:-;415:7;437:12;;430:19;;371:83;:::o;514:158:39:-;610:4;550:6:4;;;;;;;;;;;549:7;541:16;;;;;;;;629:38:39;648:5;655:3;660:6;629:18;:38::i;:::-;622:45;;514:158;;;;;:::o;972:92:4:-;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;702:6:4;;;;;;;;;;;694:15;;;;;;;;1034:5;1025:6;;:14;;;;;;;;;;;;;;;;;;1050:9;;;;;;;;;;972:92::o;259:26::-;;;;;;;;;;;;;:::o;989:179:39:-;1086:12;550:6:4;;;;;;;;;;;549:7;541:16;;;;;;;;1113:50:39;1136:8;1146:16;1113:22;:50::i;:::-;1106:57;;989:179;;;;:::o;1131:99:31:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;800:90:4:-;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;550:6:4;;;;;;;;;;;549:7;541:16;;;;;;;;863:4;854:6;;:13;;;;;;;;;;;;;;;;;;878:7;;;;;;;;;;800:90::o;307:20:25:-;;;;;;;;;;;;;:::o;382:128:39:-;459:4;550:6:4;;;;;;;;;;;549:7;541:16;;;;;;;;478:27:39;493:3;498:6;478:14;:27::i;:::-;471:34;;382:128;;;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;254:124:39:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;345:28:39;365:7;345:19;:28::i;:::-;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;254:124:39;;;:::o;816:169::-;908:12;550:6:4;;;;;;;;;;;549:7;541:16;;;;;;;;935:45:39;958:8;968:11;935:22;:45::i;:::-;928:52;;816:169;;;;:::o;2310:126:42:-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;949:174:25:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;1803:188:42:-;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;736:444::-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;3617:403::-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;608:321:31:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;291:118:4:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;377:27:4;396:7;377:18;:27::i;:::-;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;291:118:4;;;:::o;2893:262:42:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;537:104:25:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:25;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:25;;;:::o", + "bytecode": "0x60806040526000600460146101000a81548160ff0219169083151502179055503480156200002c57600080fd5b50604051604080620023dd83398101806040528101908080519060200190929190805190602001909291905050506200007933620000c46401000000000262001c55176401000000009004565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050506200048e565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506200014b82826200039e640100000000026401000000009004565b1515156200015857600080fd5b82600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101562000202578082015181840152602081019050620001e5565b50505050905090810190601f168015620002305780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156200026b5780820151818401526020810190506200024e565b50505050905090810190601f168015620002995780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515620002e45780518252602082019150602081019050602083039250620002bd565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156200034f578051825260208201915060208101905060208303925062000328565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60006002836040518082805190602001908083835b602083101515620003da5780518252602082019150602081019050602083039250620003b3565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156200044557805182526020820191506020810190506020830392506200041e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b611f3f806200049e6000396000f3006080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100e057806318160ddd1461014557806323b872dd146101705780633f4ba83a146101f55780635c975abb1461020c578063661884631461023b57806370a08231146102a05780638456cb59146102f75780638da5cb5b1461030e578063a9059cbb14610365578063c0bac1a8146103ca578063c4d66de814610491578063d73dd623146104d4578063dd62ed3e14610539578063f2fde38b146105b0575b600080fd5b3480156100ec57600080fd5b5061012b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105f3565b604051808215151515815260200191505060405180910390f35b34801561015157600080fd5b5061015a610623565b6040518082815260200191505060405180910390f35b34801561017c57600080fd5b506101db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061062d565b604051808215151515815260200191505060405180910390f35b34801561020157600080fd5b5061020a61065f565b005b34801561021857600080fd5b5061022161071f565b604051808215151515815260200191505060405180910390f35b34801561024757600080fd5b50610286600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610732565b604051808215151515815260200191505060405180910390f35b3480156102ac57600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610762565b6040518082815260200191505060405180910390f35b34801561030357600080fd5b5061030c6107aa565b005b34801561031a57600080fd5b5061032361086b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037157600080fd5b506103b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610891565b604051808215151515815260200191505060405180910390f35b3480156103d657600080fd5b50610477600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108c1565b604051808215151515815260200191505060405180910390f35b34801561049d57600080fd5b506104d2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ad565b005b3480156104e057600080fd5b5061051f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c33565b604051808215151515815260200191505060405180910390f35b34801561054557600080fd5b5061059a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c63565b6040518082815260200191505060405180910390f35b3480156105bc57600080fd5b506105f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cea565b005b6000600460149054906101000a900460ff1615151561061157600080fd5b61061b8383610e42565b905092915050565b6000600154905090565b6000600460149054906101000a900460ff1615151561064b57600080fd5b610656848484610f34565b90509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106bb57600080fd5b600460149054906101000a900460ff1615156106d657600080fd5b6000600460146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600460149054906101000a900460ff1681565b6000600460149054906101000a900460ff1615151561075057600080fd5b61075a83836112ee565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080657600080fd5b600460149054906101000a900460ff1615151561082257600080fd5b6001600460146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460149054906101000a900460ff161515156108af57600080fd5b6108b9838361157f565b905092915050565b60006002836040518082805190602001908083835b6020831015156108fb57805182526020820191506020810190506020830392506108d6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610964578051825260208201915060208101905060208303925061093f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f5061757361626c65546f6b656e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610a2382826108c1565b151515610a2f57600080fd5b610a388361179e565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a9f578082015181840152602081019050610a84565b50505050905090810190601f168015610acc5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b05578082015181840152602081019050610aea565b50505050905090810190601f168015610b325780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515610b7b5780518252602082019150602081019050602083039250610b56565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610be45780518252602082019150602081019050602083039250610bbf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000600460149054906101000a900460ff16151515610c5157600080fd5b610c5b8383611a24565b905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d4657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d8257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f7157600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fbe57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561104957600080fd5b61109a826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061112d826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111fe82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156113ff576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611493565b6114128382611c2090919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156115bc57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561160957600080fd5b61165a826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116ed826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600881526020017f5061757361626c650000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061181482826108c1565b15151561182057600080fd5b61182983611c55565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611890578082015181840152602081019050611875565b50505050905090810190601f1680156118bd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156118f65780820151818401526020810190506118db565b50505050905090810190601f1680156119235780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b60208310151561196c5780518252602082019150602081019050602083039250611947565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156119d557805182526020820191506020810190506020830392506119b0565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000611ab582600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000828211151515611c2e57fe5b818303905092915050565b60008183019050828110151515611c4c57fe5b80905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611ccb82826108c1565b151515611cd757600080fd5b82600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611d7f578082015181840152602081019050611d64565b50505050905090810190601f168015611dac5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611de5578082015181840152602081019050611dca565b50505050905090810190601f168015611e125780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515611e5b5780518252602082019150602081019050602083039250611e36565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ec45780518252602082019150602081019050602083039250611e9f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a723058209f553177d8fed8729f99fd14053357e1c1a0d453ac325be91bafbd89aee1f6de0029", + "deployedBytecode": "0x6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100e057806318160ddd1461014557806323b872dd146101705780633f4ba83a146101f55780635c975abb1461020c578063661884631461023b57806370a08231146102a05780638456cb59146102f75780638da5cb5b1461030e578063a9059cbb14610365578063c0bac1a8146103ca578063c4d66de814610491578063d73dd623146104d4578063dd62ed3e14610539578063f2fde38b146105b0575b600080fd5b3480156100ec57600080fd5b5061012b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105f3565b604051808215151515815260200191505060405180910390f35b34801561015157600080fd5b5061015a610623565b6040518082815260200191505060405180910390f35b34801561017c57600080fd5b506101db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061062d565b604051808215151515815260200191505060405180910390f35b34801561020157600080fd5b5061020a61065f565b005b34801561021857600080fd5b5061022161071f565b604051808215151515815260200191505060405180910390f35b34801561024757600080fd5b50610286600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610732565b604051808215151515815260200191505060405180910390f35b3480156102ac57600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610762565b6040518082815260200191505060405180910390f35b34801561030357600080fd5b5061030c6107aa565b005b34801561031a57600080fd5b5061032361086b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037157600080fd5b506103b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610891565b604051808215151515815260200191505060405180910390f35b3480156103d657600080fd5b50610477600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108c1565b604051808215151515815260200191505060405180910390f35b34801561049d57600080fd5b506104d2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ad565b005b3480156104e057600080fd5b5061051f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c33565b604051808215151515815260200191505060405180910390f35b34801561054557600080fd5b5061059a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c63565b6040518082815260200191505060405180910390f35b3480156105bc57600080fd5b506105f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cea565b005b6000600460149054906101000a900460ff1615151561061157600080fd5b61061b8383610e42565b905092915050565b6000600154905090565b6000600460149054906101000a900460ff1615151561064b57600080fd5b610656848484610f34565b90509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106bb57600080fd5b600460149054906101000a900460ff1615156106d657600080fd5b6000600460146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600460149054906101000a900460ff1681565b6000600460149054906101000a900460ff1615151561075057600080fd5b61075a83836112ee565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080657600080fd5b600460149054906101000a900460ff1615151561082257600080fd5b6001600460146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460149054906101000a900460ff161515156108af57600080fd5b6108b9838361157f565b905092915050565b60006002836040518082805190602001908083835b6020831015156108fb57805182526020820191506020810190506020830392506108d6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610964578051825260208201915060208101905060208303925061093f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f5061757361626c65546f6b656e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610a2382826108c1565b151515610a2f57600080fd5b610a388361179e565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a9f578082015181840152602081019050610a84565b50505050905090810190601f168015610acc5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b05578082015181840152602081019050610aea565b50505050905090810190601f168015610b325780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515610b7b5780518252602082019150602081019050602083039250610b56565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610be45780518252602082019150602081019050602083039250610bbf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000600460149054906101000a900460ff16151515610c5157600080fd5b610c5b8383611a24565b905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d4657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d8257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f7157600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fbe57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561104957600080fd5b61109a826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061112d826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111fe82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156113ff576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611493565b6114128382611c2090919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156115bc57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561160957600080fd5b61165a826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2090919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116ed826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6040805190810160405280600881526020017f5061757361626c650000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061181482826108c1565b15151561182057600080fd5b61182983611c55565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611890578082015181840152602081019050611875565b50505050905090810190601f1680156118bd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156118f65780820151818401526020810190506118db565b50505050905090810190601f1680156119235780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b60208310151561196c5780518252602082019150602081019050602083039250611947565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156119d557805182526020820191506020810190506020830392506119b0565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6000611ab582600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3990919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000828211151515611c2e57fe5b818303905092915050565b60008183019050828110151515611c4c57fe5b80905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250611ccb82826108c1565b151515611cd757600080fd5b82600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611d7f578082015181840152602081019050611d64565b50505050905090810190601f168015611dac5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611de5578082015181840152602081019050611dca565b50505050905090810190601f168015611e125780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016002836040518082805190602001908083835b602083101515611e5b5780518252602082019150602081019050602083039250611e36565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611ec45780518252602082019150602081019050602083039250611e9f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505600a165627a7a723058209f553177d8fed8729f99fd14053357e1c1a0d453ac325be91bafbd89aee1f6de0029", + "sourceMap": "105:220:20:-;;;280:5:6;259:26;;;;;;;;;;;;;;;;;;;;154:168:20;8:9:-1;5:2;;;30:1;27;20:12;5:2;154:168:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;239:30;258:10;239:18;;;;;:30;;;:::i;:::-;303:14;276:8;:24;285:14;276:24;;;;;;;;;;;;;;;:41;;;;154:168;;105:220;;537:104:27;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;;;:37;;;:::i;:::-;1082:38;1074:47;;;;;;;;629:7:27;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:27;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;105:220:20:-;;;;;;;", + "deployedSourceMap": "105:220:20:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;676:136:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;676:136:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:33;;;;;;;;;;;;;;;;;;;;;;;514:158:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;514:158:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;972:92:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;972:92:6;;;;;;259:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;259:26:6;;;;;;;;;;;;;;;;;;;;;;;;;;;989:179:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;989:179:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;800:90:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;800:90:6;;;;;;307:20:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:27;;;;;;;;;;;;;;;;;;;;;;;;;;;382:128:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;382:128:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;254:124:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;254:124:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;816:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;816:169:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;676:136:41;757:4;550:6:6;;;;;;;;;;;549:7;541:16;;;;;;;;776:31:41;790:8;800:6;776:13;:31::i;:::-;769:38;;676:136;;;;:::o;371:83:33:-;415:7;437:12;;430:19;;371:83;:::o;514:158:41:-;610:4;550:6:6;;;;;;;;;;;549:7;541:16;;;;;;;;629:38:41;648:5;655:3;660:6;629:18;:38::i;:::-;622:45;;514:158;;;;;:::o;972:92:6:-;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;702:6:6;;;;;;;;;;;694:15;;;;;;;;1034:5;1025:6;;:14;;;;;;;;;;;;;;;;;;1050:9;;;;;;;;;;972:92::o;259:26::-;;;;;;;;;;;;;:::o;989:179:41:-;1086:12;550:6:6;;;;;;;;;;;549:7;541:16;;;;;;;;1113:50:41;1136:8;1146:16;1113:22;:50::i;:::-;1106:57;;989:179;;;;:::o;1131:99:33:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;800:90:6:-;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;550:6:6;;;;;;;;;;;549:7;541:16;;;;;;;;863:4;854:6;;:13;;;;;;;;;;;;;;;;;;878:7;;;;;;;;;;800:90::o;307:20:27:-;;;;;;;;;;;;;:::o;382:128:41:-;459:4;550:6:6;;;;;;;;;;;549:7;541:16;;;;;;;;478:27:41;493:3;498:6;478:14;:27::i;:::-;471:34;;382:128;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;254:124:41:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;345:28:41;365:7;345:19;:28::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;254:124:41;;;:::o;816:169::-;908:12;550:6:6;;;;;;;;;;;549:7;541:16;;;;;;;;935:45:41;958:8;968:11;935:22;:45::i;:::-;928:52;;816:169;;;;:::o;2310:126:44:-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;949:174:27:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;1803:188:44:-;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;736:444::-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;3617:403::-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;608:321:33:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;291:118:6:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;377:27:6;396:7;377:18;:27::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;291:118:6;;;:::o;2893:262:44:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;537:104:27:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:27;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:27;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"../token/ERC20/PausableToken.sol\";\n\n\n// mock class using PausableToken\ncontract PausableTokenMock is PausableToken {\n\n function PausableTokenMock(address initialAccount, uint initialBalance) public {\n Ownable.initialize(msg.sender);\n\n balances[initialAccount] = initialBalance;\n }\n\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/PausableTokenMock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/PausableTokenMock.sol", "exportedSymbols": { "PausableTokenMock": [ - 1028 + 1076 ] }, - "id": 1029, + "id": 1077, "nodeType": "SourceUnit", "nodes": [ { - "id": 1003, + "id": 1051, "literals": [ "solidity", "^", @@ -404,16 +404,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:18" + "src": "0:24:20" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/PausableToken.sol", "file": "../token/ERC20/PausableToken.sol", - "id": 1004, + "id": 1052, "nodeType": "ImportDirective", - "scope": 1029, - "sourceUnit": 2746, - "src": "26:42:18", + "scope": 1077, + "sourceUnit": 2794, + "src": "26:42:20", "symbolAliases": [], "unitAlias": "" }, @@ -423,54 +423,54 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1005, + "id": 1053, "name": "PausableToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2745, - "src": "135:13:18", + "referencedDeclaration": 2793, + "src": "135:13:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_PausableToken_$2745", + "typeIdentifier": "t_contract$_PausableToken_$2793", "typeString": "contract PausableToken" } }, - "id": 1006, + "id": 1054, "nodeType": "InheritanceSpecifier", - "src": "135:13:18" + "src": "135:13:20" } ], "contractDependencies": [ - 371, - 1580, - 2215, - 2479, - 2511, - 2745, - 3103, - 4769 + 414, + 1628, + 2263, + 2527, + 2559, + 2793, + 3151, + 4864 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1028, + "id": 1076, "linearizedBaseContracts": [ - 1028, - 2745, - 371, - 1580, - 3103, - 4769, - 2215, - 2479, - 2511 + 1076, + 2793, + 414, + 1628, + 3151, + 4864, + 2263, + 2527, + 2559 ], "name": "PausableTokenMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1026, + "id": 1074, "nodeType": "Block", - "src": "233:89:18", + "src": "233:89:20", "statements": [ { "expression": { @@ -480,18 +480,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1016, + "id": 1064, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "258:3:18", + "referencedDeclaration": 4879, + "src": "258:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1017, + "id": 1065, "isConstant": false, "isLValue": false, "isPure": false, @@ -499,7 +499,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "258:10:18", + "src": "258:10:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -515,32 +515,32 @@ ], "expression": { "argumentTypes": null, - "id": 1013, + "id": 1061, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "239:7:18", + "referencedDeclaration": 1628, + "src": "239:7:20", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Ownable_$1580_$", + "typeIdentifier": "t_type$_t_contract$_Ownable_$1628_$", "typeString": "type(contract Ownable)" } }, - "id": 1015, + "id": 1063, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1543, - "src": "239:18:18", + "referencedDeclaration": 1591, + "src": "239:18:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1018, + "id": 1066, "isConstant": false, "isLValue": false, "isPure": false, @@ -548,20 +548,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "239:30:18", + "src": "239:30:20", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1019, + "id": 1067, "nodeType": "ExpressionStatement", - "src": "239:30:18" + "src": "239:30:20" }, { "expression": { "argumentTypes": null, - "id": 1024, + "id": 1072, "isConstant": false, "isLValue": false, "isPure": false, @@ -570,26 +570,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1020, + "id": 1068, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "276:8:18", + "referencedDeclaration": 2180, + "src": "276:8:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1022, + "id": 1070, "indexExpression": { "argumentTypes": null, - "id": 1021, + "id": 1069, "name": "initialAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1008, - "src": "285:14:18", + "referencedDeclaration": 1056, + "src": "285:14:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -600,7 +600,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "276:24:18", + "src": "276:24:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -610,31 +610,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1023, + "id": 1071, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "303:14:18", + "referencedDeclaration": 1058, + "src": "303:14:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "276:41:18", + "src": "276:41:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1025, + "id": 1073, "nodeType": "ExpressionStatement", - "src": "276:41:18" + "src": "276:41:20" } ] }, "documentation": null, - "id": 1027, + "id": 1075, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -642,16 +642,16 @@ "name": "PausableTokenMock", "nodeType": "FunctionDefinition", "parameters": { - "id": 1011, + "id": 1059, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1008, + "id": 1056, "name": "initialAccount", "nodeType": "VariableDeclaration", - "scope": 1027, - "src": "181:22:18", + "scope": 1075, + "src": "181:22:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -659,10 +659,10 @@ "typeString": "address" }, "typeName": { - "id": 1007, + "id": 1055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "181:7:18", + "src": "181:7:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -673,11 +673,11 @@ }, { "constant": false, - "id": 1010, + "id": 1058, "name": "initialBalance", "nodeType": "VariableDeclaration", - "scope": 1027, - "src": "205:19:18", + "scope": 1075, + "src": "205:19:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -685,10 +685,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1009, + "id": 1057, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "205:4:18", + "src": "205:4:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -698,40 +698,40 @@ "visibility": "internal" } ], - "src": "180:45:18" + "src": "180:45:20" }, "payable": false, "returnParameters": { - "id": 1012, + "id": 1060, "nodeType": "ParameterList", "parameters": [], - "src": "233:0:18" + "src": "233:0:20" }, - "scope": 1028, - "src": "154:168:18", + "scope": 1076, + "src": "154:168:20", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1029, - "src": "105:220:18" + "scope": 1077, + "src": "105:220:20" } ], - "src": "0:326:18" + "src": "0:326:20" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/PausableTokenMock.sol", "exportedSymbols": { "PausableTokenMock": [ - 1028 + 1076 ] }, - "id": 1029, + "id": 1077, "nodeType": "SourceUnit", "nodes": [ { - "id": 1003, + "id": 1051, "literals": [ "solidity", "^", @@ -739,16 +739,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:18" + "src": "0:24:20" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/PausableToken.sol", "file": "../token/ERC20/PausableToken.sol", - "id": 1004, + "id": 1052, "nodeType": "ImportDirective", - "scope": 1029, - "sourceUnit": 2746, - "src": "26:42:18", + "scope": 1077, + "sourceUnit": 2794, + "src": "26:42:20", "symbolAliases": [], "unitAlias": "" }, @@ -758,54 +758,54 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1005, + "id": 1053, "name": "PausableToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2745, - "src": "135:13:18", + "referencedDeclaration": 2793, + "src": "135:13:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_PausableToken_$2745", + "typeIdentifier": "t_contract$_PausableToken_$2793", "typeString": "contract PausableToken" } }, - "id": 1006, + "id": 1054, "nodeType": "InheritanceSpecifier", - "src": "135:13:18" + "src": "135:13:20" } ], "contractDependencies": [ - 371, - 1580, - 2215, - 2479, - 2511, - 2745, - 3103, - 4769 + 414, + 1628, + 2263, + 2527, + 2559, + 2793, + 3151, + 4864 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1028, + "id": 1076, "linearizedBaseContracts": [ - 1028, - 2745, - 371, - 1580, - 3103, - 4769, - 2215, - 2479, - 2511 + 1076, + 2793, + 414, + 1628, + 3151, + 4864, + 2263, + 2527, + 2559 ], "name": "PausableTokenMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1026, + "id": 1074, "nodeType": "Block", - "src": "233:89:18", + "src": "233:89:20", "statements": [ { "expression": { @@ -815,18 +815,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1016, + "id": 1064, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "258:3:18", + "referencedDeclaration": 4879, + "src": "258:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1017, + "id": 1065, "isConstant": false, "isLValue": false, "isPure": false, @@ -834,7 +834,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "258:10:18", + "src": "258:10:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -850,32 +850,32 @@ ], "expression": { "argumentTypes": null, - "id": 1013, + "id": 1061, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "239:7:18", + "referencedDeclaration": 1628, + "src": "239:7:20", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Ownable_$1580_$", + "typeIdentifier": "t_type$_t_contract$_Ownable_$1628_$", "typeString": "type(contract Ownable)" } }, - "id": 1015, + "id": 1063, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1543, - "src": "239:18:18", + "referencedDeclaration": 1591, + "src": "239:18:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1018, + "id": 1066, "isConstant": false, "isLValue": false, "isPure": false, @@ -883,20 +883,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "239:30:18", + "src": "239:30:20", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1019, + "id": 1067, "nodeType": "ExpressionStatement", - "src": "239:30:18" + "src": "239:30:20" }, { "expression": { "argumentTypes": null, - "id": 1024, + "id": 1072, "isConstant": false, "isLValue": false, "isPure": false, @@ -905,26 +905,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1020, + "id": 1068, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "276:8:18", + "referencedDeclaration": 2180, + "src": "276:8:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1022, + "id": 1070, "indexExpression": { "argumentTypes": null, - "id": 1021, + "id": 1069, "name": "initialAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1008, - "src": "285:14:18", + "referencedDeclaration": 1056, + "src": "285:14:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -935,7 +935,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "276:24:18", + "src": "276:24:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -945,31 +945,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1023, + "id": 1071, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "303:14:18", + "referencedDeclaration": 1058, + "src": "303:14:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "276:41:18", + "src": "276:41:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1025, + "id": 1073, "nodeType": "ExpressionStatement", - "src": "276:41:18" + "src": "276:41:20" } ] }, "documentation": null, - "id": 1027, + "id": 1075, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -977,16 +977,16 @@ "name": "PausableTokenMock", "nodeType": "FunctionDefinition", "parameters": { - "id": 1011, + "id": 1059, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1008, + "id": 1056, "name": "initialAccount", "nodeType": "VariableDeclaration", - "scope": 1027, - "src": "181:22:18", + "scope": 1075, + "src": "181:22:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -994,10 +994,10 @@ "typeString": "address" }, "typeName": { - "id": 1007, + "id": 1055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "181:7:18", + "src": "181:7:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1008,11 +1008,11 @@ }, { "constant": false, - "id": 1010, + "id": 1058, "name": "initialBalance", "nodeType": "VariableDeclaration", - "scope": 1027, - "src": "205:19:18", + "scope": 1075, + "src": "205:19:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1020,10 +1020,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1009, + "id": 1057, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "205:4:18", + "src": "205:4:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1033,33 +1033,33 @@ "visibility": "internal" } ], - "src": "180:45:18" + "src": "180:45:20" }, "payable": false, "returnParameters": { - "id": 1012, + "id": 1060, "nodeType": "ParameterList", "parameters": [], - "src": "233:0:18" + "src": "233:0:20" }, - "scope": 1028, - "src": "154:168:18", + "scope": 1076, + "src": "154:168:20", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1029, - "src": "105:220:18" + "scope": 1077, + "src": "105:220:20" } ], - "src": "0:326:18" + "src": "0:326:20" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.622Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.206Z" } \ No newline at end of file diff --git a/build/contracts/PullPayment.json b/build/contracts/PullPayment.json index 317eb748d..3d2cdad36 100644 --- a/build/contracts/PullPayment.json +++ b/build/contracts/PullPayment.json @@ -44,24 +44,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5061027e806100206000396000f300608060405260043610610056576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680625b44871461005b5780636103d70b14610086578063e2982c211461009d575b600080fd5b34801561006757600080fd5b506100706100f4565b6040518082815260200191505060405180910390f35b34801561009257600080fd5b5061009b6100fa565b005b3480156100a957600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610221565b6040518082815260200191505060405180910390f35b60015481565b6000803391506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811415151561015157600080fd5b803073ffffffffffffffffffffffffffffffffffffffff16311015151561017757600080fd5b61018c8160015461023990919063ffffffff16565b60018190555060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561021c573d6000803e3d6000fd5b505050565b60006020528060005260406000206000915090505481565b600082821115151561024757fe5b8183039050929150505600a165627a7a72305820c4847038e2b436c13153e168fee89b06e2c7e6a89182c90c4fd3418dfd4b41ac0029", - "deployedBytecode": "0x608060405260043610610056576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680625b44871461005b5780636103d70b14610086578063e2982c211461009d575b600080fd5b34801561006757600080fd5b506100706100f4565b6040518082815260200191505060405180910390f35b34801561009257600080fd5b5061009b6100fa565b005b3480156100a957600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610221565b6040518082815260200191505060405180910390f35b60015481565b6000803391506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811415151561015157600080fd5b803073ffffffffffffffffffffffffffffffffffffffff16311015151561017757600080fd5b61018c8160015461023990919063ffffffff16565b60018190555060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561021c573d6000803e3d6000fd5b505050565b60006020528060005260406000206000915090505481565b600082821115151561024757fe5b8183039050929150505600a165627a7a72305820c4847038e2b436c13153e168fee89b06e2c7e6a89182c90c4fd3418dfd4b41ac0029", - "sourceMap": "230:843:29:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;230:843:29;;;;;;;", - "deployedSourceMap": "230:843:29:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;333:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;333:28:29;;;;;;;;;;;;;;;;;;;;;;;433:290;;8:9:-1;5:2;;;30:1;27;20:12;5:2;433:290:29;;;;;;286:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;286:43:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;333:28;;;;:::o;433:290::-;474:13;506:15;490:10;474:26;;524:8;:15;533:5;524:15;;;;;;;;;;;;;;;;506:33;;565:1;554:7;:12;;546:21;;;;;;;;606:7;589:4;581:21;;;:32;;573:41;;;;;;;;637:26;655:7;637:13;;:17;;:26;;;;:::i;:::-;621:13;:42;;;;687:1;669:8;:15;678:5;669:15;;;;;;;;;;;;;;;:19;;;;695:5;:14;;:23;710:7;695:23;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;695:23:29;433:290;;:::o;286:43::-;;;;;;;;;;;;;;;;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b5061027e806100206000396000f300608060405260043610610056576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680625b44871461005b5780636103d70b14610086578063e2982c211461009d575b600080fd5b34801561006757600080fd5b506100706100f4565b6040518082815260200191505060405180910390f35b34801561009257600080fd5b5061009b6100fa565b005b3480156100a957600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610221565b6040518082815260200191505060405180910390f35b60015481565b6000803391506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811415151561015157600080fd5b803073ffffffffffffffffffffffffffffffffffffffff16311015151561017757600080fd5b61018c8160015461023990919063ffffffff16565b60018190555060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561021c573d6000803e3d6000fd5b505050565b60006020528060005260406000206000915090505481565b600082821115151561024757fe5b8183039050929150505600a165627a7a72305820bb0da71fad4a7536002d15d7c9de9824e61c5ffbe3b8028ac90f759c428fbc360029", + "deployedBytecode": "0x608060405260043610610056576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680625b44871461005b5780636103d70b14610086578063e2982c211461009d575b600080fd5b34801561006757600080fd5b506100706100f4565b6040518082815260200191505060405180910390f35b34801561009257600080fd5b5061009b6100fa565b005b3480156100a957600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610221565b6040518082815260200191505060405180910390f35b60015481565b6000803391506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811415151561015157600080fd5b803073ffffffffffffffffffffffffffffffffffffffff16311015151561017757600080fd5b61018c8160015461023990919063ffffffff16565b60018190555060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561021c573d6000803e3d6000fd5b505050565b60006020528060005260406000206000915090505481565b600082821115151561024757fe5b8183039050929150505600a165627a7a72305820bb0da71fad4a7536002d15d7c9de9824e61c5ffbe3b8028ac90f759c428fbc360029", + "sourceMap": "230:843:31:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;230:843:31;;;;;;;", + "deployedSourceMap": "230:843:31:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;333:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;333:28:31;;;;;;;;;;;;;;;;;;;;;;;433:290;;8:9:-1;5:2;;;30:1;27;20:12;5:2;433:290:31;;;;;;286:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;286:43:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;333:28;;;;:::o;433:290::-;474:13;506:15;490:10;474:26;;524:8;:15;533:5;524:15;;;;;;;;;;;;;;;;506:33;;565:1;554:7;:12;;546:21;;;;;;;;606:7;589:4;581:21;;;:32;;573:41;;;;;;;;637:26;655:7;637:13;;:17;;:26;;;;:::i;:::-;621:13;:42;;;;687:1;669:8;:15;678:5;669:15;;;;;;;;;;;;;;;:19;;;;695:5;:14;;:23;710:7;695:23;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;695:23:31;433:290;;:::o;286:43::-;;;;;;;;;;;;;;;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o", "source": "pragma solidity ^0.4.21;\n\n\nimport \"../math/SafeMath.sol\";\n\n\n/**\n * @title PullPayment\n * @dev Base contract supporting async send for pull payments. Inherit from this\n * contract and use asyncSend instead of send or transfer.\n */\ncontract PullPayment {\n using SafeMath for uint256;\n\n mapping(address => uint256) public payments;\n uint256 public totalPayments;\n\n /**\n * @dev Withdraw accumulated balance, called by payee.\n */\n function withdrawPayments() public {\n address payee = msg.sender;\n uint256 payment = payments[payee];\n\n require(payment != 0);\n require(address(this).balance >= payment);\n\n totalPayments = totalPayments.sub(payment);\n payments[payee] = 0;\n\n payee.transfer(payment);\n }\n\n /**\n * @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.\n */\n function asyncSend(address dest, uint256 amount) internal {\n payments[dest] = payments[dest].add(amount);\n totalPayments = totalPayments.add(amount);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/payment/PullPayment.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/payment/PullPayment.sol", "exportedSymbols": { "PullPayment": [ - 1912 + 1960 ] }, - "id": 1913, + "id": 1961, "nodeType": "SourceUnit", "nodes": [ { - "id": 1826, + "id": 1874, "literals": [ "solidity", "^", @@ -69,16 +69,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:29" + "src": "0:24:31" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "file": "../math/SafeMath.sol", - "id": 1827, + "id": 1875, "nodeType": "ImportDirective", - "scope": 1913, - "sourceUnit": 537, - "src": "27:30:29", + "scope": 1961, + "sourceUnit": 580, + "src": "27:30:31", "symbolAliases": [], "unitAlias": "" }, @@ -88,34 +88,34 @@ "contractKind": "contract", "documentation": "@title PullPayment\n@dev Base contract supporting async send for pull payments. Inherit from this\ncontract and use asyncSend instead of send or transfer.", "fullyImplemented": true, - "id": 1912, + "id": 1960, "linearizedBaseContracts": [ - 1912 + 1960 ], "name": "PullPayment", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1830, + "id": 1878, "libraryName": { "contractScope": null, - "id": 1828, + "id": 1876, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 536, - "src": "261:8:29", + "referencedDeclaration": 579, + "src": "261:8:31", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$536", + "typeIdentifier": "t_contract$_SafeMath_$579", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "255:27:29", + "src": "255:27:31", "typeName": { - "id": 1829, + "id": 1877, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "274:7:29", + "src": "274:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -124,11 +124,11 @@ }, { "constant": false, - "id": 1834, + "id": 1882, "name": "payments", "nodeType": "VariableDeclaration", - "scope": 1912, - "src": "286:43:29", + "scope": 1960, + "src": "286:43:31", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -136,28 +136,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 1833, + "id": 1881, "keyType": { - "id": 1831, + "id": 1879, "name": "address", "nodeType": "ElementaryTypeName", - "src": "294:7:29", + "src": "294:7:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "286:27:29", + "src": "286:27:31", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 1832, + "id": 1880, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "305:7:29", + "src": "305:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -169,11 +169,11 @@ }, { "constant": false, - "id": 1836, + "id": 1884, "name": "totalPayments", "nodeType": "VariableDeclaration", - "scope": 1912, - "src": "333:28:29", + "scope": 1960, + "src": "333:28:31", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -181,10 +181,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1835, + "id": 1883, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "333:7:29", + "src": "333:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -195,22 +195,22 @@ }, { "body": { - "id": 1884, + "id": 1932, "nodeType": "Block", - "src": "468:255:29", + "src": "468:255:31", "statements": [ { "assignments": [ - 1840 + 1888 ], "declarations": [ { "constant": false, - "id": 1840, + "id": 1888, "name": "payee", "nodeType": "VariableDeclaration", - "scope": 1885, - "src": "474:13:29", + "scope": 1933, + "src": "474:13:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -218,10 +218,10 @@ "typeString": "address" }, "typeName": { - "id": 1839, + "id": 1887, "name": "address", "nodeType": "ElementaryTypeName", - "src": "474:7:29", + "src": "474:7:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -231,23 +231,23 @@ "visibility": "internal" } ], - "id": 1843, + "id": 1891, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1841, + "id": 1889, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "490:3:29", + "referencedDeclaration": 4879, + "src": "490:3:31", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1842, + "id": 1890, "isConstant": false, "isLValue": false, "isPure": false, @@ -255,27 +255,27 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "490:10:29", + "src": "490:10:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "474:26:29" + "src": "474:26:31" }, { "assignments": [ - 1845 + 1893 ], "declarations": [ { "constant": false, - "id": 1845, + "id": 1893, "name": "payment", "nodeType": "VariableDeclaration", - "scope": 1885, - "src": "506:15:29", + "scope": 1933, + "src": "506:15:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -283,10 +283,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1844, + "id": 1892, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "506:7:29", + "src": "506:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -296,31 +296,31 @@ "visibility": "internal" } ], - "id": 1849, + "id": 1897, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1846, + "id": 1894, "name": "payments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1834, - "src": "524:8:29", + "referencedDeclaration": 1882, + "src": "524:8:31", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1848, + "id": 1896, "indexExpression": { "argumentTypes": null, - "id": 1847, + "id": 1895, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1840, - "src": "533:5:29", + "referencedDeclaration": 1888, + "src": "533:5:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -331,14 +331,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "524:15:29", + "src": "524:15:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "506:33:29" + "src": "506:33:31" }, { "expression": { @@ -350,19 +350,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1853, + "id": 1901, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1851, + "id": 1899, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1845, - "src": "554:7:29", + "referencedDeclaration": 1893, + "src": "554:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -373,14 +373,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1852, + "id": 1900, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "565:1:29", + "src": "565:1:31", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -388,7 +388,7 @@ }, "value": "0" }, - "src": "554:12:29", + "src": "554:12:31", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -402,21 +402,21 @@ "typeString": "bool" } ], - "id": 1850, + "id": 1898, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "546:7:29", + "referencedDeclaration": 4882, + "src": "546:7:31", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1854, + "id": 1902, "isConstant": false, "isLValue": false, "isPure": false, @@ -424,15 +424,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "546:21:29", + "src": "546:21:31", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1855, + "id": 1903, "nodeType": "ExpressionStatement", - "src": "546:21:29" + "src": "546:21:31" }, { "expression": { @@ -444,7 +444,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1862, + "id": 1910, "isConstant": false, "isLValue": false, "isPure": false, @@ -456,14 +456,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1858, + "id": 1906, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4871, - "src": "589:4:29", + "referencedDeclaration": 4970, + "src": "589:4:31", "typeDescriptions": { - "typeIdentifier": "t_contract$_PullPayment_$1912", + "typeIdentifier": "t_contract$_PullPayment_$1960", "typeString": "contract PullPayment" } } @@ -471,24 +471,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_PullPayment_$1912", + "typeIdentifier": "t_contract$_PullPayment_$1960", "typeString": "contract PullPayment" } ], - "id": 1857, + "id": 1905, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "581:7:29", + "src": "581:7:31", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1859, + "id": 1907, "isConstant": false, "isLValue": false, "isPure": false, @@ -496,13 +496,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "581:13:29", + "src": "581:13:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1860, + "id": 1908, "isConstant": false, "isLValue": false, "isPure": false, @@ -510,7 +510,7 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "581:21:29", + "src": "581:21:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -520,18 +520,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1861, + "id": 1909, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1845, - "src": "606:7:29", + "referencedDeclaration": 1893, + "src": "606:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "581:32:29", + "src": "581:32:31", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -545,21 +545,21 @@ "typeString": "bool" } ], - "id": 1856, + "id": 1904, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "573:7:29", + "referencedDeclaration": 4882, + "src": "573:7:31", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1863, + "id": 1911, "isConstant": false, "isLValue": false, "isPure": false, @@ -567,32 +567,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "573:41:29", + "src": "573:41:31", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1864, + "id": 1912, "nodeType": "ExpressionStatement", - "src": "573:41:29" + "src": "573:41:31" }, { "expression": { "argumentTypes": null, - "id": 1870, + "id": 1918, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1865, + "id": 1913, "name": "totalPayments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1836, - "src": "621:13:29", + "referencedDeclaration": 1884, + "src": "621:13:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -605,12 +605,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1868, + "id": 1916, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1845, - "src": "655:7:29", + "referencedDeclaration": 1893, + "src": "655:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -626,32 +626,32 @@ ], "expression": { "argumentTypes": null, - "id": 1866, + "id": 1914, "name": "totalPayments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1836, - "src": "637:13:29", + "referencedDeclaration": 1884, + "src": "637:13:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1867, + "id": 1915, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "637:17:29", + "referencedDeclaration": 554, + "src": "637:17:31", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1869, + "id": 1917, "isConstant": false, "isLValue": false, "isPure": false, @@ -659,26 +659,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "637:26:29", + "src": "637:26:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "621:42:29", + "src": "621:42:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1871, + "id": 1919, "nodeType": "ExpressionStatement", - "src": "621:42:29" + "src": "621:42:31" }, { "expression": { "argumentTypes": null, - "id": 1876, + "id": 1924, "isConstant": false, "isLValue": false, "isPure": false, @@ -687,26 +687,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1872, + "id": 1920, "name": "payments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1834, - "src": "669:8:29", + "referencedDeclaration": 1882, + "src": "669:8:31", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1874, + "id": 1922, "indexExpression": { "argumentTypes": null, - "id": 1873, + "id": 1921, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1840, - "src": "678:5:29", + "referencedDeclaration": 1888, + "src": "678:5:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -717,7 +717,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "669:15:29", + "src": "669:15:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -728,14 +728,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 1875, + "id": 1923, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "687:1:29", + "src": "687:1:31", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -743,15 +743,15 @@ }, "value": "0" }, - "src": "669:19:29", + "src": "669:19:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1877, + "id": 1925, "nodeType": "ExpressionStatement", - "src": "669:19:29" + "src": "669:19:31" }, { "expression": { @@ -759,12 +759,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1881, + "id": 1929, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1845, - "src": "710:7:29", + "referencedDeclaration": 1893, + "src": "710:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -780,18 +780,18 @@ ], "expression": { "argumentTypes": null, - "id": 1878, + "id": 1926, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1840, - "src": "695:5:29", + "referencedDeclaration": 1888, + "src": "695:5:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1880, + "id": 1928, "isConstant": false, "isLValue": false, "isPure": false, @@ -799,13 +799,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "695:14:29", + "src": "695:14:31", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 1882, + "id": 1930, "isConstant": false, "isLValue": false, "isPure": false, @@ -813,20 +813,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "695:23:29", + "src": "695:23:31", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1883, + "id": 1931, "nodeType": "ExpressionStatement", - "src": "695:23:29" + "src": "695:23:31" } ] }, "documentation": "@dev Withdraw accumulated balance, called by payee.", - "id": 1885, + "id": 1933, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -834,34 +834,34 @@ "name": "withdrawPayments", "nodeType": "FunctionDefinition", "parameters": { - "id": 1837, + "id": 1885, "nodeType": "ParameterList", "parameters": [], - "src": "458:2:29" + "src": "458:2:31" }, "payable": false, "returnParameters": { - "id": 1838, + "id": 1886, "nodeType": "ParameterList", "parameters": [], - "src": "468:0:29" + "src": "468:0:31" }, - "scope": 1912, - "src": "433:290:29", + "scope": 1960, + "src": "433:290:31", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1910, + "id": 1958, "nodeType": "Block", - "src": "970:101:29", + "src": "970:101:31", "statements": [ { "expression": { "argumentTypes": null, - "id": 1901, + "id": 1949, "isConstant": false, "isLValue": false, "isPure": false, @@ -870,26 +870,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1892, + "id": 1940, "name": "payments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1834, - "src": "976:8:29", + "referencedDeclaration": 1882, + "src": "976:8:31", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1894, + "id": 1942, "indexExpression": { "argumentTypes": null, - "id": 1893, + "id": 1941, "name": "dest", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1887, - "src": "985:4:29", + "referencedDeclaration": 1935, + "src": "985:4:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -900,7 +900,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "976:14:29", + "src": "976:14:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -913,12 +913,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1899, + "id": 1947, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1889, - "src": "1012:6:29", + "referencedDeclaration": 1937, + "src": "1012:6:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -936,26 +936,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1895, + "id": 1943, "name": "payments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1834, - "src": "993:8:29", + "referencedDeclaration": 1882, + "src": "993:8:31", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1897, + "id": 1945, "indexExpression": { "argumentTypes": null, - "id": 1896, + "id": 1944, "name": "dest", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1887, - "src": "1002:4:29", + "referencedDeclaration": 1935, + "src": "1002:4:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -966,27 +966,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "993:14:29", + "src": "993:14:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1898, + "id": 1946, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "993:18:29", + "referencedDeclaration": 578, + "src": "993:18:31", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1900, + "id": 1948, "isConstant": false, "isLValue": false, "isPure": false, @@ -994,38 +994,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "993:26:29", + "src": "993:26:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "976:43:29", + "src": "976:43:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1902, + "id": 1950, "nodeType": "ExpressionStatement", - "src": "976:43:29" + "src": "976:43:31" }, { "expression": { "argumentTypes": null, - "id": 1908, + "id": 1956, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1903, + "id": 1951, "name": "totalPayments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1836, - "src": "1025:13:29", + "referencedDeclaration": 1884, + "src": "1025:13:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1038,12 +1038,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1906, + "id": 1954, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1889, - "src": "1059:6:29", + "referencedDeclaration": 1937, + "src": "1059:6:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1059,32 +1059,32 @@ ], "expression": { "argumentTypes": null, - "id": 1904, + "id": 1952, "name": "totalPayments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1836, - "src": "1041:13:29", + "referencedDeclaration": 1884, + "src": "1041:13:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1905, + "id": 1953, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1041:17:29", + "referencedDeclaration": 578, + "src": "1041:17:31", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1907, + "id": 1955, "isConstant": false, "isLValue": false, "isPure": false, @@ -1092,26 +1092,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1041:25:29", + "src": "1041:25:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1025:41:29", + "src": "1025:41:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1909, + "id": 1957, "nodeType": "ExpressionStatement", - "src": "1025:41:29" + "src": "1025:41:31" } ] }, "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": 1911, + "id": 1959, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1119,16 +1119,16 @@ "name": "asyncSend", "nodeType": "FunctionDefinition", "parameters": { - "id": 1890, + "id": 1938, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1887, + "id": 1935, "name": "dest", "nodeType": "VariableDeclaration", - "scope": 1911, - "src": "931:12:29", + "scope": 1959, + "src": "931:12:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1136,10 +1136,10 @@ "typeString": "address" }, "typeName": { - "id": 1886, + "id": 1934, "name": "address", "nodeType": "ElementaryTypeName", - "src": "931:7:29", + "src": "931:7:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1150,11 +1150,11 @@ }, { "constant": false, - "id": 1889, + "id": 1937, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 1911, - "src": "945:14:29", + "scope": 1959, + "src": "945:14:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1162,10 +1162,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1888, + "id": 1936, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "945:7:29", + "src": "945:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1175,40 +1175,40 @@ "visibility": "internal" } ], - "src": "930:30:29" + "src": "930:30:31" }, "payable": false, "returnParameters": { - "id": 1891, + "id": 1939, "nodeType": "ParameterList", "parameters": [], - "src": "970:0:29" + "src": "970:0:31" }, - "scope": 1912, - "src": "912:159:29", + "scope": 1960, + "src": "912:159:31", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 1913, - "src": "230:843:29" + "scope": 1961, + "src": "230:843:31" } ], - "src": "0:1074:29" + "src": "0:1074:31" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/payment/PullPayment.sol", "exportedSymbols": { "PullPayment": [ - 1912 + 1960 ] }, - "id": 1913, + "id": 1961, "nodeType": "SourceUnit", "nodes": [ { - "id": 1826, + "id": 1874, "literals": [ "solidity", "^", @@ -1216,16 +1216,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:29" + "src": "0:24:31" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "file": "../math/SafeMath.sol", - "id": 1827, + "id": 1875, "nodeType": "ImportDirective", - "scope": 1913, - "sourceUnit": 537, - "src": "27:30:29", + "scope": 1961, + "sourceUnit": 580, + "src": "27:30:31", "symbolAliases": [], "unitAlias": "" }, @@ -1235,34 +1235,34 @@ "contractKind": "contract", "documentation": "@title PullPayment\n@dev Base contract supporting async send for pull payments. Inherit from this\ncontract and use asyncSend instead of send or transfer.", "fullyImplemented": true, - "id": 1912, + "id": 1960, "linearizedBaseContracts": [ - 1912 + 1960 ], "name": "PullPayment", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1830, + "id": 1878, "libraryName": { "contractScope": null, - "id": 1828, + "id": 1876, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 536, - "src": "261:8:29", + "referencedDeclaration": 579, + "src": "261:8:31", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$536", + "typeIdentifier": "t_contract$_SafeMath_$579", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "255:27:29", + "src": "255:27:31", "typeName": { - "id": 1829, + "id": 1877, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "274:7:29", + "src": "274:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1271,11 +1271,11 @@ }, { "constant": false, - "id": 1834, + "id": 1882, "name": "payments", "nodeType": "VariableDeclaration", - "scope": 1912, - "src": "286:43:29", + "scope": 1960, + "src": "286:43:31", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1283,28 +1283,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 1833, + "id": 1881, "keyType": { - "id": 1831, + "id": 1879, "name": "address", "nodeType": "ElementaryTypeName", - "src": "294:7:29", + "src": "294:7:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "286:27:29", + "src": "286:27:31", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 1832, + "id": 1880, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "305:7:29", + "src": "305:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1316,11 +1316,11 @@ }, { "constant": false, - "id": 1836, + "id": 1884, "name": "totalPayments", "nodeType": "VariableDeclaration", - "scope": 1912, - "src": "333:28:29", + "scope": 1960, + "src": "333:28:31", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1328,10 +1328,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1835, + "id": 1883, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "333:7:29", + "src": "333:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1342,22 +1342,22 @@ }, { "body": { - "id": 1884, + "id": 1932, "nodeType": "Block", - "src": "468:255:29", + "src": "468:255:31", "statements": [ { "assignments": [ - 1840 + 1888 ], "declarations": [ { "constant": false, - "id": 1840, + "id": 1888, "name": "payee", "nodeType": "VariableDeclaration", - "scope": 1885, - "src": "474:13:29", + "scope": 1933, + "src": "474:13:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1365,10 +1365,10 @@ "typeString": "address" }, "typeName": { - "id": 1839, + "id": 1887, "name": "address", "nodeType": "ElementaryTypeName", - "src": "474:7:29", + "src": "474:7:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1378,23 +1378,23 @@ "visibility": "internal" } ], - "id": 1843, + "id": 1891, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1841, + "id": 1889, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "490:3:29", + "referencedDeclaration": 4879, + "src": "490:3:31", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1842, + "id": 1890, "isConstant": false, "isLValue": false, "isPure": false, @@ -1402,27 +1402,27 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "490:10:29", + "src": "490:10:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "474:26:29" + "src": "474:26:31" }, { "assignments": [ - 1845 + 1893 ], "declarations": [ { "constant": false, - "id": 1845, + "id": 1893, "name": "payment", "nodeType": "VariableDeclaration", - "scope": 1885, - "src": "506:15:29", + "scope": 1933, + "src": "506:15:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1430,10 +1430,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1844, + "id": 1892, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "506:7:29", + "src": "506:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1443,31 +1443,31 @@ "visibility": "internal" } ], - "id": 1849, + "id": 1897, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1846, + "id": 1894, "name": "payments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1834, - "src": "524:8:29", + "referencedDeclaration": 1882, + "src": "524:8:31", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1848, + "id": 1896, "indexExpression": { "argumentTypes": null, - "id": 1847, + "id": 1895, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1840, - "src": "533:5:29", + "referencedDeclaration": 1888, + "src": "533:5:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1478,14 +1478,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "524:15:29", + "src": "524:15:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "506:33:29" + "src": "506:33:31" }, { "expression": { @@ -1497,19 +1497,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1853, + "id": 1901, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1851, + "id": 1899, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1845, - "src": "554:7:29", + "referencedDeclaration": 1893, + "src": "554:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1520,14 +1520,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1852, + "id": 1900, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "565:1:29", + "src": "565:1:31", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1535,7 +1535,7 @@ }, "value": "0" }, - "src": "554:12:29", + "src": "554:12:31", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1549,21 +1549,21 @@ "typeString": "bool" } ], - "id": 1850, + "id": 1898, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "546:7:29", + "referencedDeclaration": 4882, + "src": "546:7:31", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1854, + "id": 1902, "isConstant": false, "isLValue": false, "isPure": false, @@ -1571,15 +1571,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "546:21:29", + "src": "546:21:31", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1855, + "id": 1903, "nodeType": "ExpressionStatement", - "src": "546:21:29" + "src": "546:21:31" }, { "expression": { @@ -1591,7 +1591,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1862, + "id": 1910, "isConstant": false, "isLValue": false, "isPure": false, @@ -1603,14 +1603,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1858, + "id": 1906, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4871, - "src": "589:4:29", + "referencedDeclaration": 4970, + "src": "589:4:31", "typeDescriptions": { - "typeIdentifier": "t_contract$_PullPayment_$1912", + "typeIdentifier": "t_contract$_PullPayment_$1960", "typeString": "contract PullPayment" } } @@ -1618,24 +1618,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_PullPayment_$1912", + "typeIdentifier": "t_contract$_PullPayment_$1960", "typeString": "contract PullPayment" } ], - "id": 1857, + "id": 1905, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "581:7:29", + "src": "581:7:31", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1859, + "id": 1907, "isConstant": false, "isLValue": false, "isPure": false, @@ -1643,13 +1643,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "581:13:29", + "src": "581:13:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1860, + "id": 1908, "isConstant": false, "isLValue": false, "isPure": false, @@ -1657,7 +1657,7 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "581:21:29", + "src": "581:21:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1667,18 +1667,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1861, + "id": 1909, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1845, - "src": "606:7:29", + "referencedDeclaration": 1893, + "src": "606:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "581:32:29", + "src": "581:32:31", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1692,21 +1692,21 @@ "typeString": "bool" } ], - "id": 1856, + "id": 1904, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "573:7:29", + "referencedDeclaration": 4882, + "src": "573:7:31", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1863, + "id": 1911, "isConstant": false, "isLValue": false, "isPure": false, @@ -1714,32 +1714,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "573:41:29", + "src": "573:41:31", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1864, + "id": 1912, "nodeType": "ExpressionStatement", - "src": "573:41:29" + "src": "573:41:31" }, { "expression": { "argumentTypes": null, - "id": 1870, + "id": 1918, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1865, + "id": 1913, "name": "totalPayments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1836, - "src": "621:13:29", + "referencedDeclaration": 1884, + "src": "621:13:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1752,12 +1752,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1868, + "id": 1916, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1845, - "src": "655:7:29", + "referencedDeclaration": 1893, + "src": "655:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1773,32 +1773,32 @@ ], "expression": { "argumentTypes": null, - "id": 1866, + "id": 1914, "name": "totalPayments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1836, - "src": "637:13:29", + "referencedDeclaration": 1884, + "src": "637:13:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1867, + "id": 1915, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "637:17:29", + "referencedDeclaration": 554, + "src": "637:17:31", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1869, + "id": 1917, "isConstant": false, "isLValue": false, "isPure": false, @@ -1806,26 +1806,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "637:26:29", + "src": "637:26:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "621:42:29", + "src": "621:42:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1871, + "id": 1919, "nodeType": "ExpressionStatement", - "src": "621:42:29" + "src": "621:42:31" }, { "expression": { "argumentTypes": null, - "id": 1876, + "id": 1924, "isConstant": false, "isLValue": false, "isPure": false, @@ -1834,26 +1834,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1872, + "id": 1920, "name": "payments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1834, - "src": "669:8:29", + "referencedDeclaration": 1882, + "src": "669:8:31", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1874, + "id": 1922, "indexExpression": { "argumentTypes": null, - "id": 1873, + "id": 1921, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1840, - "src": "678:5:29", + "referencedDeclaration": 1888, + "src": "678:5:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1864,7 +1864,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "669:15:29", + "src": "669:15:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1875,14 +1875,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 1875, + "id": 1923, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "687:1:29", + "src": "687:1:31", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1890,15 +1890,15 @@ }, "value": "0" }, - "src": "669:19:29", + "src": "669:19:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1877, + "id": 1925, "nodeType": "ExpressionStatement", - "src": "669:19:29" + "src": "669:19:31" }, { "expression": { @@ -1906,12 +1906,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1881, + "id": 1929, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1845, - "src": "710:7:29", + "referencedDeclaration": 1893, + "src": "710:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1927,18 +1927,18 @@ ], "expression": { "argumentTypes": null, - "id": 1878, + "id": 1926, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1840, - "src": "695:5:29", + "referencedDeclaration": 1888, + "src": "695:5:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1880, + "id": 1928, "isConstant": false, "isLValue": false, "isPure": false, @@ -1946,13 +1946,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "695:14:29", + "src": "695:14:31", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 1882, + "id": 1930, "isConstant": false, "isLValue": false, "isPure": false, @@ -1960,20 +1960,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "695:23:29", + "src": "695:23:31", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1883, + "id": 1931, "nodeType": "ExpressionStatement", - "src": "695:23:29" + "src": "695:23:31" } ] }, "documentation": "@dev Withdraw accumulated balance, called by payee.", - "id": 1885, + "id": 1933, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1981,34 +1981,34 @@ "name": "withdrawPayments", "nodeType": "FunctionDefinition", "parameters": { - "id": 1837, + "id": 1885, "nodeType": "ParameterList", "parameters": [], - "src": "458:2:29" + "src": "458:2:31" }, "payable": false, "returnParameters": { - "id": 1838, + "id": 1886, "nodeType": "ParameterList", "parameters": [], - "src": "468:0:29" + "src": "468:0:31" }, - "scope": 1912, - "src": "433:290:29", + "scope": 1960, + "src": "433:290:31", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1910, + "id": 1958, "nodeType": "Block", - "src": "970:101:29", + "src": "970:101:31", "statements": [ { "expression": { "argumentTypes": null, - "id": 1901, + "id": 1949, "isConstant": false, "isLValue": false, "isPure": false, @@ -2017,26 +2017,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1892, + "id": 1940, "name": "payments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1834, - "src": "976:8:29", + "referencedDeclaration": 1882, + "src": "976:8:31", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1894, + "id": 1942, "indexExpression": { "argumentTypes": null, - "id": 1893, + "id": 1941, "name": "dest", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1887, - "src": "985:4:29", + "referencedDeclaration": 1935, + "src": "985:4:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2047,7 +2047,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "976:14:29", + "src": "976:14:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2060,12 +2060,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1899, + "id": 1947, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1889, - "src": "1012:6:29", + "referencedDeclaration": 1937, + "src": "1012:6:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2083,26 +2083,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1895, + "id": 1943, "name": "payments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1834, - "src": "993:8:29", + "referencedDeclaration": 1882, + "src": "993:8:31", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1897, + "id": 1945, "indexExpression": { "argumentTypes": null, - "id": 1896, + "id": 1944, "name": "dest", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1887, - "src": "1002:4:29", + "referencedDeclaration": 1935, + "src": "1002:4:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2113,27 +2113,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "993:14:29", + "src": "993:14:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1898, + "id": 1946, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "993:18:29", + "referencedDeclaration": 578, + "src": "993:18:31", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1900, + "id": 1948, "isConstant": false, "isLValue": false, "isPure": false, @@ -2141,38 +2141,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "993:26:29", + "src": "993:26:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "976:43:29", + "src": "976:43:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1902, + "id": 1950, "nodeType": "ExpressionStatement", - "src": "976:43:29" + "src": "976:43:31" }, { "expression": { "argumentTypes": null, - "id": 1908, + "id": 1956, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1903, + "id": 1951, "name": "totalPayments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1836, - "src": "1025:13:29", + "referencedDeclaration": 1884, + "src": "1025:13:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2185,12 +2185,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1906, + "id": 1954, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1889, - "src": "1059:6:29", + "referencedDeclaration": 1937, + "src": "1059:6:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2206,32 +2206,32 @@ ], "expression": { "argumentTypes": null, - "id": 1904, + "id": 1952, "name": "totalPayments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1836, - "src": "1041:13:29", + "referencedDeclaration": 1884, + "src": "1041:13:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1905, + "id": 1953, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1041:17:29", + "referencedDeclaration": 578, + "src": "1041:17:31", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1907, + "id": 1955, "isConstant": false, "isLValue": false, "isPure": false, @@ -2239,26 +2239,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1041:25:29", + "src": "1041:25:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1025:41:29", + "src": "1025:41:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1909, + "id": 1957, "nodeType": "ExpressionStatement", - "src": "1025:41:29" + "src": "1025:41:31" } ] }, "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": 1911, + "id": 1959, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2266,16 +2266,16 @@ "name": "asyncSend", "nodeType": "FunctionDefinition", "parameters": { - "id": 1890, + "id": 1938, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1887, + "id": 1935, "name": "dest", "nodeType": "VariableDeclaration", - "scope": 1911, - "src": "931:12:29", + "scope": 1959, + "src": "931:12:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2283,10 +2283,10 @@ "typeString": "address" }, "typeName": { - "id": 1886, + "id": 1934, "name": "address", "nodeType": "ElementaryTypeName", - "src": "931:7:29", + "src": "931:7:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2297,11 +2297,11 @@ }, { "constant": false, - "id": 1889, + "id": 1937, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 1911, - "src": "945:14:29", + "scope": 1959, + "src": "945:14:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2309,10 +2309,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1888, + "id": 1936, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "945:7:29", + "src": "945:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2322,33 +2322,33 @@ "visibility": "internal" } ], - "src": "930:30:29" + "src": "930:30:31" }, "payable": false, "returnParameters": { - "id": 1891, + "id": 1939, "nodeType": "ParameterList", "parameters": [], - "src": "970:0:29" + "src": "970:0:31" }, - "scope": 1912, - "src": "912:159:29", + "scope": 1960, + "src": "912:159:31", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 1913, - "src": "230:843:29" + "scope": 1961, + "src": "230:843:31" } ], - "src": "0:1074:29" + "src": "0:1074:31" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.633Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.211Z" } \ No newline at end of file diff --git a/build/contracts/PullPaymentMock.json b/build/contracts/PullPaymentMock.json index 320a3c395..227cb2bc4 100644 --- a/build/contracts/PullPaymentMock.json +++ b/build/contracts/PullPaymentMock.json @@ -68,24 +68,24 @@ "type": "function" } ], - "bytecode": "0x60806040526103b2806100136000396000f300608060405260043610610061576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680625b4487146100665780636103d70b14610091578063752c5628146100a8578063e2982c21146100f5575b600080fd5b34801561007257600080fd5b5061007b61014c565b6040518082815260200191505060405180910390f35b34801561009d57600080fd5b506100a6610152565b005b3480156100b457600080fd5b506100f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610279565b005b34801561010157600080fd5b50610136600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610287565b6040518082815260200191505060405180910390f35b60015481565b6000803391506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081141515156101a957600080fd5b803073ffffffffffffffffffffffffffffffffffffffff1631101515156101cf57600080fd5b6101e48160015461029f90919063ffffffff16565b60018190555060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610274573d6000803e3d6000fd5b505050565b61028382826102b8565b5050565b60006020528060005260406000206000915090505481565b60008282111515156102ad57fe5b818303905092915050565b610309816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461036a90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506103608160015461036a90919063ffffffff16565b6001819055505050565b6000818301905082811015151561037d57fe5b809050929150505600a165627a7a72305820e2a8e36df17b8615bad45df5353183f1b6fd6b883238b52b016d2e2aa83096a50029", - "deployedBytecode": "0x608060405260043610610061576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680625b4487146100665780636103d70b14610091578063752c5628146100a8578063e2982c21146100f5575b600080fd5b34801561007257600080fd5b5061007b61014c565b6040518082815260200191505060405180910390f35b34801561009d57600080fd5b506100a6610152565b005b3480156100b457600080fd5b506100f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610279565b005b34801561010157600080fd5b50610136600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610287565b6040518082815260200191505060405180910390f35b60015481565b6000803391506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081141515156101a957600080fd5b803073ffffffffffffffffffffffffffffffffffffffff1631101515156101cf57600080fd5b6101e48160015461029f90919063ffffffff16565b60018190555060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610274573d6000803e3d6000fd5b505050565b61028382826102b8565b5050565b60006020528060005260406000206000915090505481565b60008282111515156102ad57fe5b818303905092915050565b610309816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461036a90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506103608160015461036a90919063ffffffff16565b6001819055505050565b6000818301905082811015151561037d57fe5b809050929150505600a165627a7a72305820e2a8e36df17b8615bad45df5353183f1b6fd6b883238b52b016d2e2aa83096a50029", - "sourceMap": "98:230:19:-;;;;;;;;;", - "deployedSourceMap": "98:230:19:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;333:28:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;333:28:29;;;;;;;;;;;;;;;;;;;;;;;433:290;;8:9:-1;5:2;;;30:1;27;20:12;5:2;433:290:29;;;;;;236:89:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;236:89:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;286:43:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;286:43:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;333:28;;;;:::o;433:290::-;474:13;506:15;490:10;474:26;;524:8;:15;533:5;524:15;;;;;;;;;;;;;;;;506:33;;565:1;554:7;:12;;546:21;;;;;;;;606:7;589:4;581:21;;;:32;;573:41;;;;;;;;637:26;655:7;637:13;;:17;;:26;;;;:::i;:::-;621:13;:42;;;;687:1;669:8;:15;678:5;669:15;;;;;;;;;;;;;;;:19;;;;695:5;:14;;:23;710:7;695:23;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;695:23:29;433:290;;:::o;236:89:19:-;297:23;307:4;313:6;297:9;:23::i;:::-;236:89;;:::o;286:43:29:-;;;;;;;;;;;;;;;;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;912:159:29:-;993:26;1012:6;993:8;:14;1002:4;993:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;976:8;:14;985:4;976:14;;;;;;;;;;;;;;;:43;;;;1041:25;1059:6;1041:13;;:17;;:25;;;;:::i;:::-;1025:13;:41;;;;912:159;;:::o;1008:123:6:-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", + "bytecode": "0x60806040526103b2806100136000396000f300608060405260043610610061576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680625b4487146100665780636103d70b14610091578063752c5628146100a8578063e2982c21146100f5575b600080fd5b34801561007257600080fd5b5061007b61014c565b6040518082815260200191505060405180910390f35b34801561009d57600080fd5b506100a6610152565b005b3480156100b457600080fd5b506100f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610279565b005b34801561010157600080fd5b50610136600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610287565b6040518082815260200191505060405180910390f35b60015481565b6000803391506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081141515156101a957600080fd5b803073ffffffffffffffffffffffffffffffffffffffff1631101515156101cf57600080fd5b6101e48160015461029f90919063ffffffff16565b60018190555060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610274573d6000803e3d6000fd5b505050565b61028382826102b8565b5050565b60006020528060005260406000206000915090505481565b60008282111515156102ad57fe5b818303905092915050565b610309816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461036a90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506103608160015461036a90919063ffffffff16565b6001819055505050565b6000818301905082811015151561037d57fe5b809050929150505600a165627a7a723058205548f18e3415c93bffb97c428f4a05cf020f0a1bbca537d73edeb6f6e802d8b70029", + "deployedBytecode": "0x608060405260043610610061576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680625b4487146100665780636103d70b14610091578063752c5628146100a8578063e2982c21146100f5575b600080fd5b34801561007257600080fd5b5061007b61014c565b6040518082815260200191505060405180910390f35b34801561009d57600080fd5b506100a6610152565b005b3480156100b457600080fd5b506100f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610279565b005b34801561010157600080fd5b50610136600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610287565b6040518082815260200191505060405180910390f35b60015481565b6000803391506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081141515156101a957600080fd5b803073ffffffffffffffffffffffffffffffffffffffff1631101515156101cf57600080fd5b6101e48160015461029f90919063ffffffff16565b60018190555060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610274573d6000803e3d6000fd5b505050565b61028382826102b8565b5050565b60006020528060005260406000206000915090505481565b60008282111515156102ad57fe5b818303905092915050565b610309816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461036a90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506103608160015461036a90919063ffffffff16565b6001819055505050565b6000818301905082811015151561037d57fe5b809050929150505600a165627a7a723058205548f18e3415c93bffb97c428f4a05cf020f0a1bbca537d73edeb6f6e802d8b70029", + "sourceMap": "98:230:21:-;;;;;;;;;", + "deployedSourceMap": "98:230:21:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;333:28:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;333:28:31;;;;;;;;;;;;;;;;;;;;;;;433:290;;8:9:-1;5:2;;;30:1;27;20:12;5:2;433:290:31;;;;;;236:89:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;236:89:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;286:43:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;286:43:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;333:28;;;;:::o;433:290::-;474:13;506:15;490:10;474:26;;524:8;:15;533:5;524:15;;;;;;;;;;;;;;;;506:33;;565:1;554:7;:12;;546:21;;;;;;;;606:7;589:4;581:21;;;:32;;573:41;;;;;;;;637:26;655:7;637:13;;:17;;:26;;;;:::i;:::-;621:13;:42;;;;687:1;669:8;:15;678:5;669:15;;;;;;;;;;;;;;;:19;;;;695:5;:14;;:23;710:7;695:23;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;695:23:31;433:290;;:::o;236:89:21:-;297:23;307:4;313:6;297:9;:23::i;:::-;236:89;;:::o;286:43:31:-;;;;;;;;;;;;;;;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;912:159:31:-;993:26;1012:6;993:8;:14;1002:4;993:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;976:8;:14;985:4;976:14;;;;;;;;;;;;;;;:43;;;;1041:25;1059:6;1041:13;;:17;;:25;;;;:::i;:::-;1025:13;:41;;;;912:159;;:::o;1008:123:8:-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", "source": "pragma solidity ^0.4.21;\n\n\nimport \"../payment/PullPayment.sol\";\n\n\n// mock class using PullPayment\ncontract PullPaymentMock is PullPayment {\n\n function PullPaymentMock() public payable { }\n\n // test helper function to call asyncSend\n function callSend(address dest, uint256 amount) public {\n asyncSend(dest, amount);\n }\n\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/PullPaymentMock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/PullPaymentMock.sol", "exportedSymbols": { "PullPaymentMock": [ - 1051 + 1099 ] }, - "id": 1052, + "id": 1100, "nodeType": "SourceUnit", "nodes": [ { - "id": 1030, + "id": 1078, "literals": [ "solidity", "^", @@ -93,16 +93,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:19" + "src": "0:24:21" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/payment/PullPayment.sol", "file": "../payment/PullPayment.sol", - "id": 1031, + "id": 1079, "nodeType": "ImportDirective", - "scope": 1052, - "sourceUnit": 1913, - "src": "27:36:19", + "scope": 1100, + "sourceUnit": 1961, + "src": "27:36:21", "symbolAliases": [], "unitAlias": "" }, @@ -112,44 +112,44 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1032, + "id": 1080, "name": "PullPayment", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1912, - "src": "126:11:19", + "referencedDeclaration": 1960, + "src": "126:11:21", "typeDescriptions": { - "typeIdentifier": "t_contract$_PullPayment_$1912", + "typeIdentifier": "t_contract$_PullPayment_$1960", "typeString": "contract PullPayment" } }, - "id": 1033, + "id": 1081, "nodeType": "InheritanceSpecifier", - "src": "126:11:19" + "src": "126:11:21" } ], "contractDependencies": [ - 1912 + 1960 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1051, + "id": 1099, "linearizedBaseContracts": [ - 1051, - 1912 + 1099, + 1960 ], "name": "PullPaymentMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1036, + "id": 1084, "nodeType": "Block", - "src": "185:3:19", + "src": "185:3:21", "statements": [] }, "documentation": null, - "id": 1037, + "id": 1085, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -157,29 +157,29 @@ "name": "PullPaymentMock", "nodeType": "FunctionDefinition", "parameters": { - "id": 1034, + "id": 1082, "nodeType": "ParameterList", "parameters": [], - "src": "167:2:19" + "src": "167:2:21" }, "payable": true, "returnParameters": { - "id": 1035, + "id": 1083, "nodeType": "ParameterList", "parameters": [], - "src": "185:0:19" + "src": "185:0:21" }, - "scope": 1051, - "src": "143:45:19", + "scope": 1099, + "src": "143:45:21", "stateMutability": "payable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1049, + "id": 1097, "nodeType": "Block", - "src": "291:34:19", + "src": "291:34:21", "statements": [ { "expression": { @@ -187,12 +187,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1045, + "id": 1093, "name": "dest", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1039, - "src": "307:4:19", + "referencedDeclaration": 1087, + "src": "307:4:21", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -200,12 +200,12 @@ }, { "argumentTypes": null, - "id": 1046, + "id": 1094, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1041, - "src": "313:6:19", + "referencedDeclaration": 1089, + "src": "313:6:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -223,18 +223,18 @@ "typeString": "uint256" } ], - "id": 1044, + "id": 1092, "name": "asyncSend", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1911, - "src": "297:9:19", + "referencedDeclaration": 1959, + "src": "297:9:21", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1047, + "id": 1095, "isConstant": false, "isLValue": false, "isPure": false, @@ -242,20 +242,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "297:23:19", + "src": "297:23:21", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1048, + "id": 1096, "nodeType": "ExpressionStatement", - "src": "297:23:19" + "src": "297:23:21" } ] }, "documentation": null, - "id": 1050, + "id": 1098, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -263,16 +263,16 @@ "name": "callSend", "nodeType": "FunctionDefinition", "parameters": { - "id": 1042, + "id": 1090, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1039, + "id": 1087, "name": "dest", "nodeType": "VariableDeclaration", - "scope": 1050, - "src": "254:12:19", + "scope": 1098, + "src": "254:12:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -280,10 +280,10 @@ "typeString": "address" }, "typeName": { - "id": 1038, + "id": 1086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "254:7:19", + "src": "254:7:21", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -294,11 +294,11 @@ }, { "constant": false, - "id": 1041, + "id": 1089, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 1050, - "src": "268:14:19", + "scope": 1098, + "src": "268:14:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -306,10 +306,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1040, + "id": 1088, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "268:7:19", + "src": "268:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -319,40 +319,40 @@ "visibility": "internal" } ], - "src": "253:30:19" + "src": "253:30:21" }, "payable": false, "returnParameters": { - "id": 1043, + "id": 1091, "nodeType": "ParameterList", "parameters": [], - "src": "291:0:19" + "src": "291:0:21" }, - "scope": 1051, - "src": "236:89:19", + "scope": 1099, + "src": "236:89:21", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1052, - "src": "98:230:19" + "scope": 1100, + "src": "98:230:21" } ], - "src": "0:329:19" + "src": "0:329:21" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/PullPaymentMock.sol", "exportedSymbols": { "PullPaymentMock": [ - 1051 + 1099 ] }, - "id": 1052, + "id": 1100, "nodeType": "SourceUnit", "nodes": [ { - "id": 1030, + "id": 1078, "literals": [ "solidity", "^", @@ -360,16 +360,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:19" + "src": "0:24:21" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/payment/PullPayment.sol", "file": "../payment/PullPayment.sol", - "id": 1031, + "id": 1079, "nodeType": "ImportDirective", - "scope": 1052, - "sourceUnit": 1913, - "src": "27:36:19", + "scope": 1100, + "sourceUnit": 1961, + "src": "27:36:21", "symbolAliases": [], "unitAlias": "" }, @@ -379,44 +379,44 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1032, + "id": 1080, "name": "PullPayment", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1912, - "src": "126:11:19", + "referencedDeclaration": 1960, + "src": "126:11:21", "typeDescriptions": { - "typeIdentifier": "t_contract$_PullPayment_$1912", + "typeIdentifier": "t_contract$_PullPayment_$1960", "typeString": "contract PullPayment" } }, - "id": 1033, + "id": 1081, "nodeType": "InheritanceSpecifier", - "src": "126:11:19" + "src": "126:11:21" } ], "contractDependencies": [ - 1912 + 1960 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1051, + "id": 1099, "linearizedBaseContracts": [ - 1051, - 1912 + 1099, + 1960 ], "name": "PullPaymentMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1036, + "id": 1084, "nodeType": "Block", - "src": "185:3:19", + "src": "185:3:21", "statements": [] }, "documentation": null, - "id": 1037, + "id": 1085, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -424,29 +424,29 @@ "name": "PullPaymentMock", "nodeType": "FunctionDefinition", "parameters": { - "id": 1034, + "id": 1082, "nodeType": "ParameterList", "parameters": [], - "src": "167:2:19" + "src": "167:2:21" }, "payable": true, "returnParameters": { - "id": 1035, + "id": 1083, "nodeType": "ParameterList", "parameters": [], - "src": "185:0:19" + "src": "185:0:21" }, - "scope": 1051, - "src": "143:45:19", + "scope": 1099, + "src": "143:45:21", "stateMutability": "payable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1049, + "id": 1097, "nodeType": "Block", - "src": "291:34:19", + "src": "291:34:21", "statements": [ { "expression": { @@ -454,12 +454,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1045, + "id": 1093, "name": "dest", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1039, - "src": "307:4:19", + "referencedDeclaration": 1087, + "src": "307:4:21", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -467,12 +467,12 @@ }, { "argumentTypes": null, - "id": 1046, + "id": 1094, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1041, - "src": "313:6:19", + "referencedDeclaration": 1089, + "src": "313:6:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -490,18 +490,18 @@ "typeString": "uint256" } ], - "id": 1044, + "id": 1092, "name": "asyncSend", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1911, - "src": "297:9:19", + "referencedDeclaration": 1959, + "src": "297:9:21", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1047, + "id": 1095, "isConstant": false, "isLValue": false, "isPure": false, @@ -509,20 +509,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "297:23:19", + "src": "297:23:21", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1048, + "id": 1096, "nodeType": "ExpressionStatement", - "src": "297:23:19" + "src": "297:23:21" } ] }, "documentation": null, - "id": 1050, + "id": 1098, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -530,16 +530,16 @@ "name": "callSend", "nodeType": "FunctionDefinition", "parameters": { - "id": 1042, + "id": 1090, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1039, + "id": 1087, "name": "dest", "nodeType": "VariableDeclaration", - "scope": 1050, - "src": "254:12:19", + "scope": 1098, + "src": "254:12:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -547,10 +547,10 @@ "typeString": "address" }, "typeName": { - "id": 1038, + "id": 1086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "254:7:19", + "src": "254:7:21", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -561,11 +561,11 @@ }, { "constant": false, - "id": 1041, + "id": 1089, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 1050, - "src": "268:14:19", + "scope": 1098, + "src": "268:14:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -573,10 +573,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1040, + "id": 1088, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "268:7:19", + "src": "268:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -586,33 +586,33 @@ "visibility": "internal" } ], - "src": "253:30:19" + "src": "253:30:21" }, "payable": false, "returnParameters": { - "id": 1043, + "id": 1091, "nodeType": "ParameterList", "parameters": [], - "src": "291:0:19" + "src": "291:0:21" }, - "scope": 1051, - "src": "236:89:19", + "scope": 1099, + "src": "236:89:21", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1052, - "src": "98:230:19" + "scope": 1100, + "src": "98:230:21" } ], - "src": "0:329:19" + "src": "0:329:21" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.622Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.206Z" } \ No newline at end of file diff --git a/build/contracts/RBAC.json b/build/contracts/RBAC.json index 418eacb7f..7bf3b75a9 100644 --- a/build/contracts/RBAC.json +++ b/build/contracts/RBAC.json @@ -77,24 +77,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50610321806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c14610051578063217fe6c6146100da575b600080fd5b34801561005d57600080fd5b506100d8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061017b565b005b3480156100e657600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506101fc565b604051808215151515815260200191505060405180910390f35b6101f8826000836040518082805190602001908083835b6020831015156101b75780518252602082019150602081019050602083039250610192565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061028390919063ffffffff16565b5050565b600061027b836000846040518082805190602001908083835b60208310151561023a5780518252602082019150602081019050602083039250610215565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061029c90919063ffffffff16565b905092915050565b61028d828261029c565b151561029857600080fd5b5050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050929150505600a165627a7a72305820dcb30cdb6200f124a4b0d91e3a8f8f8efa36df91917a18805ae38ab15f85ce940029", - "deployedBytecode": "0x60806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c14610051578063217fe6c6146100da575b600080fd5b34801561005d57600080fd5b506100d8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061017b565b005b3480156100e657600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506101fc565b604051808215151515815260200191505060405180910390f35b6101f8826000836040518082805190602001908083835b6020831015156101b75780518252602082019150602081019050602083039250610192565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061028390919063ffffffff16565b5050565b600061027b836000846040518082805190602001908083835b60208310151561023a5780518252602082019150602081019050602083039250610215565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061029c90919063ffffffff16565b905092915050565b61028d828261029c565b151561029857600080fd5b5050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050929150505600a165627a7a72305820dcb30cdb6200f124a4b0d91e3a8f8f8efa36df91917a18805ae38ab15f85ce940029", - "sourceMap": "600:2135:26:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;600:2135:26;;;;;;;", - "deployedSourceMap": "600:2135:26:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;941:110:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1189:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1189:132:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110;1019:27;1041:4;1019:5;1025:8;1019:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1019:15:26;;;;;;;;;;;;;;;;;;;;;:21;;:27;;;;:::i;:::-;941:110;;:::o;1189:132::-;1270:4;1291:25;1311:4;1291:5;1297:8;1291:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1291:15:26;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1284:32;;1189:132;;;;:::o;663:107:28:-;749:15;753:4;759;749:3;:15::i;:::-;741:24;;;;;;;;663:107;;:::o;848:124::-;929:4;950;:11;;:17;962:4;950:17;;;;;;;;;;;;;;;;;;;;;;;;;943:24;;848:124;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b50610321806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c14610051578063217fe6c6146100da575b600080fd5b34801561005d57600080fd5b506100d8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061017b565b005b3480156100e657600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506101fc565b604051808215151515815260200191505060405180910390f35b6101f8826000836040518082805190602001908083835b6020831015156101b75780518252602082019150602081019050602083039250610192565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061028390919063ffffffff16565b5050565b600061027b836000846040518082805190602001908083835b60208310151561023a5780518252602082019150602081019050602083039250610215565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061029c90919063ffffffff16565b905092915050565b61028d828261029c565b151561029857600080fd5b5050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050929150505600a165627a7a723058209537543ef61be58f1620296c8e6321d199129a22106d49cfd01a069b5f2dd55b0029", + "deployedBytecode": "0x60806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c14610051578063217fe6c6146100da575b600080fd5b34801561005d57600080fd5b506100d8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061017b565b005b3480156100e657600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506101fc565b604051808215151515815260200191505060405180910390f35b6101f8826000836040518082805190602001908083835b6020831015156101b75780518252602082019150602081019050602083039250610192565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061028390919063ffffffff16565b5050565b600061027b836000846040518082805190602001908083835b60208310151561023a5780518252602082019150602081019050602083039250610215565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061029c90919063ffffffff16565b905092915050565b61028d828261029c565b151561029857600080fd5b5050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050929150505600a165627a7a723058209537543ef61be58f1620296c8e6321d199129a22106d49cfd01a069b5f2dd55b0029", + "sourceMap": "600:2135:28:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;600:2135:28;;;;;;;", + "deployedSourceMap": "600:2135:28:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;941:110:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1189:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1189:132:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110;1019:27;1041:4;1019:5;1025:8;1019:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1019:15:28;;;;;;;;;;;;;;;;;;;;;:21;;:27;;;;:::i;:::-;941:110;;:::o;1189:132::-;1270:4;1291:25;1311:4;1291:5;1297:8;1291:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1291:15:28;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1284:32;;1189:132;;;;:::o;663:107:30:-;749:15;753:4;759;749:3;:15::i;:::-;741:24;;;;;;;;663:107;;:::o;848:124::-;929:4;950;:11;;:17;962:4;950:17;;;;;;;;;;;;;;;;;;;;;;;;;943:24;;848:124;;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"./Roles.sol\";\n\n\n/**\n * @title RBAC (Role-Based Access Control)\n * @author Matt Condon (@Shrugs)\n * @dev Stores and provides setters and getters for roles and addresses.\n * @dev Supports unlimited numbers of roles and addresses.\n * @dev See //contracts/mocks/RBACMock.sol for an example of usage.\n * This RBAC method uses strings to key roles. It may be beneficial\n * for you to write your own implementation of this interface using Enums or similar.\n * It's also recommended that you define constants in the contract, like ROLE_ADMIN below,\n * to avoid typos.\n */\ncontract RBAC {\n using Roles for Roles.Role;\n\n mapping (string => Roles.Role) private roles;\n\n event RoleAdded(address addr, string roleName);\n event RoleRemoved(address addr, string roleName);\n\n /**\n * @dev reverts if addr does not have role\n * @param addr address\n * @param roleName the name of the role\n * // reverts\n */\n function checkRole(address addr, string roleName)\n view\n public\n {\n roles[roleName].check(addr);\n }\n\n /**\n * @dev determine if addr has role\n * @param addr address\n * @param roleName the name of the role\n * @return bool\n */\n function hasRole(address addr, string roleName)\n view\n public\n returns (bool)\n {\n return roles[roleName].has(addr);\n }\n\n /**\n * @dev add a role to an address\n * @param addr address\n * @param roleName the name of the role\n */\n function addRole(address addr, string roleName)\n internal\n {\n roles[roleName].add(addr);\n emit RoleAdded(addr, roleName);\n }\n\n /**\n * @dev remove a role from an address\n * @param addr address\n * @param roleName the name of the role\n */\n function removeRole(address addr, string roleName)\n internal\n {\n roles[roleName].remove(addr);\n emit RoleRemoved(addr, roleName);\n }\n\n /**\n * @dev modifier to scope access to a single role (uses msg.sender as addr)\n * @param roleName the name of the role\n * // reverts\n */\n modifier onlyRole(string roleName)\n {\n checkRole(msg.sender, roleName);\n _;\n }\n\n /**\n * @dev modifier to scope access to a set of roles (uses msg.sender as addr)\n * @param roleNames the names of the roles to scope access to\n * // reverts\n *\n * @TODO - when solidity supports dynamic arrays as arguments to modifiers, provide this\n * see: https://github.com/ethereum/solidity/issues/2467\n */\n // modifier onlyRoles(string[] roleNames) {\n // bool hasAnyRole = false;\n // for (uint8 i = 0; i < roleNames.length; i++) {\n // if (hasRole(msg.sender, roleNames[i])) {\n // hasAnyRole = true;\n // break;\n // }\n // }\n\n // require(hasAnyRole);\n\n // _;\n // }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/rbac/RBAC.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/rbac/RBAC.sol", "exportedSymbols": { "RBAC": [ - 1687 + 1735 ] }, - "id": 1688, + "id": 1736, "nodeType": "SourceUnit", "nodes": [ { - "id": 1582, + "id": 1630, "literals": [ "solidity", "^", @@ -102,16 +102,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:26" + "src": "0:24:28" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/rbac/Roles.sol", "file": "./Roles.sol", - "id": 1583, + "id": 1631, "nodeType": "ImportDirective", - "scope": 1688, - "sourceUnit": 1825, - "src": "26:21:26", + "scope": 1736, + "sourceUnit": 1873, + "src": "26:21:28", "symbolAliases": [], "unitAlias": "" }, @@ -121,82 +121,82 @@ "contractKind": "contract", "documentation": "@title RBAC (Role-Based Access Control)\n@author Matt Condon (@Shrugs)\n@dev Stores and provides setters and getters for roles and addresses.\n@dev Supports unlimited numbers of roles and addresses.\n@dev See //contracts/mocks/RBACMock.sol for an example of usage.\nThis RBAC method uses strings to key roles. It may be beneficial\n for you to write your own implementation of this interface using Enums or similar.\nIt's also recommended that you define constants in the contract, like ROLE_ADMIN below,\n to avoid typos.", "fullyImplemented": true, - "id": 1687, + "id": 1735, "linearizedBaseContracts": [ - 1687 + 1735 ], "name": "RBAC", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1586, + "id": 1634, "libraryName": { "contractScope": null, - "id": 1584, + "id": 1632, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1824, - "src": "624:5:26", + "referencedDeclaration": 1872, + "src": "624:5:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$1824", + "typeIdentifier": "t_contract$_Roles_$1872", "typeString": "library Roles" } }, "nodeType": "UsingForDirective", - "src": "618:27:26", + "src": "618:27:28", "typeName": { "contractScope": null, - "id": 1585, + "id": 1633, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1761, - "src": "634:10:26", + "referencedDeclaration": 1809, + "src": "634:10:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" } } }, { "constant": false, - "id": 1590, + "id": 1638, "name": "roles", "nodeType": "VariableDeclaration", - "scope": 1687, - "src": "649:44:26", + "scope": 1735, + "src": "649:44:28", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1761_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1809_storage_$", "typeString": "mapping(string => struct Roles.Role)" }, "typeName": { - "id": 1589, + "id": 1637, "keyType": { - "id": 1587, + "id": 1635, "name": "string", "nodeType": "ElementaryTypeName", - "src": "658:6:26", + "src": "658:6:28", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "nodeType": "Mapping", - "src": "649:30:26", + "src": "649:30:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1761_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1809_storage_$", "typeString": "mapping(string => struct Roles.Role)" }, "valueType": { "contractScope": null, - "id": 1588, + "id": 1636, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1761, - "src": "668:10:26", + "referencedDeclaration": 1809, + "src": "668:10:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" } } @@ -207,21 +207,21 @@ { "anonymous": false, "documentation": null, - "id": 1596, + "id": 1644, "name": "RoleAdded", "nodeType": "EventDefinition", "parameters": { - "id": 1595, + "id": 1643, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1592, + "id": 1640, "indexed": false, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1596, - "src": "714:12:26", + "scope": 1644, + "src": "714:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -229,10 +229,10 @@ "typeString": "address" }, "typeName": { - "id": 1591, + "id": 1639, "name": "address", "nodeType": "ElementaryTypeName", - "src": "714:7:26", + "src": "714:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -243,12 +243,12 @@ }, { "constant": false, - "id": 1594, + "id": 1642, "indexed": false, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1596, - "src": "728:15:26", + "scope": 1644, + "src": "728:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -256,10 +256,10 @@ "typeString": "string" }, "typeName": { - "id": 1593, + "id": 1641, "name": "string", "nodeType": "ElementaryTypeName", - "src": "728:6:26", + "src": "728:6:28", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -269,28 +269,28 @@ "visibility": "internal" } ], - "src": "713:31:26" + "src": "713:31:28" }, - "src": "698:47:26" + "src": "698:47:28" }, { "anonymous": false, "documentation": null, - "id": 1602, + "id": 1650, "name": "RoleRemoved", "nodeType": "EventDefinition", "parameters": { - "id": 1601, + "id": 1649, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1598, + "id": 1646, "indexed": false, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "766:12:26", + "scope": 1650, + "src": "766:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -298,10 +298,10 @@ "typeString": "address" }, "typeName": { - "id": 1597, + "id": 1645, "name": "address", "nodeType": "ElementaryTypeName", - "src": "766:7:26", + "src": "766:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -312,12 +312,12 @@ }, { "constant": false, - "id": 1600, + "id": 1648, "indexed": false, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "780:15:26", + "scope": 1650, + "src": "780:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -325,10 +325,10 @@ "typeString": "string" }, "typeName": { - "id": 1599, + "id": 1647, "name": "string", "nodeType": "ElementaryTypeName", - "src": "780:6:26", + "src": "780:6:28", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -338,15 +338,15 @@ "visibility": "internal" } ], - "src": "765:31:26" + "src": "765:31:28" }, - "src": "748:49:26" + "src": "748:49:28" }, { "body": { - "id": 1616, + "id": 1664, "nodeType": "Block", - "src": "1013:38:26", + "src": "1013:38:28", "statements": [ { "expression": { @@ -354,12 +354,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1613, + "id": 1661, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1604, - "src": "1041:4:26", + "referencedDeclaration": 1652, + "src": "1041:4:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -377,26 +377,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1609, + "id": 1657, "name": "roles", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "1019:5:26", + "referencedDeclaration": 1638, + "src": "1019:5:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1761_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1809_storage_$", "typeString": "mapping(string memory => struct Roles.Role storage ref)" } }, - "id": 1611, + "id": 1659, "indexExpression": { "argumentTypes": null, - "id": 1610, + "id": 1658, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1606, - "src": "1025:8:26", + "referencedDeclaration": 1654, + "src": "1025:8:28", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -407,27 +407,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1019:15:26", + "src": "1019:15:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage", + "typeIdentifier": "t_struct$_Role_$1809_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 1612, + "id": 1660, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "check", "nodeType": "MemberAccess", - "referencedDeclaration": 1808, - "src": "1019:21:26", + "referencedDeclaration": 1856, + "src": "1019:21:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1761_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1761_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1809_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1809_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view" } }, - "id": 1614, + "id": 1662, "isConstant": false, "isLValue": false, "isPure": false, @@ -435,20 +435,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1019:27:26", + "src": "1019:27:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1615, + "id": 1663, "nodeType": "ExpressionStatement", - "src": "1019:27:26" + "src": "1019:27:28" } ] }, "documentation": "@dev reverts if addr does not have role\n@param addr address\n@param roleName the name of the role\n// reverts", - "id": 1617, + "id": 1665, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -456,16 +456,16 @@ "name": "checkRole", "nodeType": "FunctionDefinition", "parameters": { - "id": 1607, + "id": 1655, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1604, + "id": 1652, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1617, - "src": "960:12:26", + "scope": 1665, + "src": "960:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -473,10 +473,10 @@ "typeString": "address" }, "typeName": { - "id": 1603, + "id": 1651, "name": "address", "nodeType": "ElementaryTypeName", - "src": "960:7:26", + "src": "960:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -487,11 +487,11 @@ }, { "constant": false, - "id": 1606, + "id": 1654, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1617, - "src": "974:15:26", + "scope": 1665, + "src": "974:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -499,10 +499,10 @@ "typeString": "string" }, "typeName": { - "id": 1605, + "id": 1653, "name": "string", "nodeType": "ElementaryTypeName", - "src": "974:6:26", + "src": "974:6:28", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -512,26 +512,26 @@ "visibility": "internal" } ], - "src": "959:31:26" + "src": "959:31:28" }, "payable": false, "returnParameters": { - "id": 1608, + "id": 1656, "nodeType": "ParameterList", "parameters": [], - "src": "1013:0:26" + "src": "1013:0:28" }, - "scope": 1687, - "src": "941:110:26", + "scope": 1735, + "src": "941:110:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1633, + "id": 1681, "nodeType": "Block", - "src": "1278:43:26", + "src": "1278:43:28", "statements": [ { "expression": { @@ -539,12 +539,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1630, + "id": 1678, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1619, - "src": "1311:4:26", + "referencedDeclaration": 1667, + "src": "1311:4:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -562,26 +562,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1626, + "id": 1674, "name": "roles", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "1291:5:26", + "referencedDeclaration": 1638, + "src": "1291:5:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1761_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1809_storage_$", "typeString": "mapping(string memory => struct Roles.Role storage ref)" } }, - "id": 1628, + "id": 1676, "indexExpression": { "argumentTypes": null, - "id": 1627, + "id": 1675, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1621, - "src": "1297:8:26", + "referencedDeclaration": 1669, + "src": "1297:8:28", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -592,27 +592,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1291:15:26", + "src": "1291:15:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage", + "typeIdentifier": "t_struct$_Role_$1809_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 1629, + "id": 1677, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 1823, - "src": "1291:19:26", + "referencedDeclaration": 1871, + "src": "1291:19:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1761_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1761_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1809_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1809_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 1631, + "id": 1679, "isConstant": false, "isLValue": false, "isPure": false, @@ -620,21 +620,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1291:25:26", + "src": "1291:25:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1625, - "id": 1632, + "functionReturnParameters": 1673, + "id": 1680, "nodeType": "Return", - "src": "1284:32:26" + "src": "1284:32:28" } ] }, "documentation": "@dev determine if addr has role\n@param addr address\n@param roleName the name of the role\n@return bool", - "id": 1634, + "id": 1682, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -642,16 +642,16 @@ "name": "hasRole", "nodeType": "FunctionDefinition", "parameters": { - "id": 1622, + "id": 1670, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1619, + "id": 1667, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1634, - "src": "1206:12:26", + "scope": 1682, + "src": "1206:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -659,10 +659,10 @@ "typeString": "address" }, "typeName": { - "id": 1618, + "id": 1666, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1206:7:26", + "src": "1206:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -673,11 +673,11 @@ }, { "constant": false, - "id": 1621, + "id": 1669, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1634, - "src": "1220:15:26", + "scope": 1682, + "src": "1220:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -685,10 +685,10 @@ "typeString": "string" }, "typeName": { - "id": 1620, + "id": 1668, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1220:6:26", + "src": "1220:6:28", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -698,20 +698,20 @@ "visibility": "internal" } ], - "src": "1205:31:26" + "src": "1205:31:28" }, "payable": false, "returnParameters": { - "id": 1625, + "id": 1673, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1624, + "id": 1672, "name": "", "nodeType": "VariableDeclaration", - "scope": 1634, - "src": "1270:4:26", + "scope": 1682, + "src": "1270:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -719,10 +719,10 @@ "typeString": "bool" }, "typeName": { - "id": 1623, + "id": 1671, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1270:4:26", + "src": "1270:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -732,19 +732,19 @@ "visibility": "internal" } ], - "src": "1269:6:26" + "src": "1269:6:28" }, - "scope": 1687, - "src": "1189:132:26", + "scope": 1735, + "src": "1189:132:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1653, + "id": 1701, "nodeType": "Block", - "src": "1502:72:26", + "src": "1502:72:28", "statements": [ { "expression": { @@ -752,12 +752,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1645, + "id": 1693, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1636, - "src": "1528:4:26", + "referencedDeclaration": 1684, + "src": "1528:4:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -775,26 +775,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1641, + "id": 1689, "name": "roles", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "1508:5:26", + "referencedDeclaration": 1638, + "src": "1508:5:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1761_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1809_storage_$", "typeString": "mapping(string memory => struct Roles.Role storage ref)" } }, - "id": 1643, + "id": 1691, "indexExpression": { "argumentTypes": null, - "id": 1642, + "id": 1690, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1638, - "src": "1514:8:26", + "referencedDeclaration": 1686, + "src": "1514:8:28", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -805,27 +805,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1508:15:26", + "src": "1508:15:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage", + "typeIdentifier": "t_struct$_Role_$1809_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 1644, + "id": 1692, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1777, - "src": "1508:19:26", + "referencedDeclaration": 1825, + "src": "1508:19:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1761_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1761_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1809_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1809_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, - "id": 1646, + "id": 1694, "isConstant": false, "isLValue": false, "isPure": false, @@ -833,15 +833,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1508:25:26", + "src": "1508:25:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1647, + "id": 1695, "nodeType": "ExpressionStatement", - "src": "1508:25:26" + "src": "1508:25:28" }, { "eventCall": { @@ -849,12 +849,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1649, + "id": 1697, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1636, - "src": "1554:4:26", + "referencedDeclaration": 1684, + "src": "1554:4:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -862,12 +862,12 @@ }, { "argumentTypes": null, - "id": 1650, + "id": 1698, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1638, - "src": "1560:8:26", + "referencedDeclaration": 1686, + "src": "1560:8:28", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -885,18 +885,18 @@ "typeString": "string memory" } ], - "id": 1648, + "id": 1696, "name": "RoleAdded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1596, - "src": "1544:9:26", + "referencedDeclaration": 1644, + "src": "1544:9:28", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory)" } }, - "id": 1651, + "id": 1699, "isConstant": false, "isLValue": false, "isPure": false, @@ -904,20 +904,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1544:25:26", + "src": "1544:25:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1652, + "id": 1700, "nodeType": "EmitStatement", - "src": "1539:30:26" + "src": "1539:30:28" } ] }, "documentation": "@dev add a role to an address\n@param addr address\n@param roleName the name of the role", - "id": 1654, + "id": 1702, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -925,16 +925,16 @@ "name": "addRole", "nodeType": "FunctionDefinition", "parameters": { - "id": 1639, + "id": 1687, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1636, + "id": 1684, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1654, - "src": "1456:12:26", + "scope": 1702, + "src": "1456:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -942,10 +942,10 @@ "typeString": "address" }, "typeName": { - "id": 1635, + "id": 1683, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1456:7:26", + "src": "1456:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -956,11 +956,11 @@ }, { "constant": false, - "id": 1638, + "id": 1686, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1654, - "src": "1470:15:26", + "scope": 1702, + "src": "1470:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -968,10 +968,10 @@ "typeString": "string" }, "typeName": { - "id": 1637, + "id": 1685, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1470:6:26", + "src": "1470:6:28", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -981,26 +981,26 @@ "visibility": "internal" } ], - "src": "1455:31:26" + "src": "1455:31:28" }, "payable": false, "returnParameters": { - "id": 1640, + "id": 1688, "nodeType": "ParameterList", "parameters": [], - "src": "1502:0:26" + "src": "1502:0:28" }, - "scope": 1687, - "src": "1439:135:26", + "scope": 1735, + "src": "1439:135:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1673, + "id": 1721, "nodeType": "Block", - "src": "1763:77:26", + "src": "1763:77:28", "statements": [ { "expression": { @@ -1008,12 +1008,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1665, + "id": 1713, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1656, - "src": "1792:4:26", + "referencedDeclaration": 1704, + "src": "1792:4:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1031,26 +1031,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1661, + "id": 1709, "name": "roles", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "1769:5:26", + "referencedDeclaration": 1638, + "src": "1769:5:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1761_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1809_storage_$", "typeString": "mapping(string memory => struct Roles.Role storage ref)" } }, - "id": 1663, + "id": 1711, "indexExpression": { "argumentTypes": null, - "id": 1662, + "id": 1710, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "1775:8:26", + "referencedDeclaration": 1706, + "src": "1775:8:28", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1061,27 +1061,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1769:15:26", + "src": "1769:15:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage", + "typeIdentifier": "t_struct$_Role_$1809_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 1664, + "id": 1712, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 1793, - "src": "1769:22:26", + "referencedDeclaration": 1841, + "src": "1769:22:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1761_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1761_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1809_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1809_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, - "id": 1666, + "id": 1714, "isConstant": false, "isLValue": false, "isPure": false, @@ -1089,15 +1089,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1769:28:26", + "src": "1769:28:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1667, + "id": 1715, "nodeType": "ExpressionStatement", - "src": "1769:28:26" + "src": "1769:28:28" }, { "eventCall": { @@ -1105,12 +1105,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1669, + "id": 1717, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1656, - "src": "1820:4:26", + "referencedDeclaration": 1704, + "src": "1820:4:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1118,12 +1118,12 @@ }, { "argumentTypes": null, - "id": 1670, + "id": 1718, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "1826:8:26", + "referencedDeclaration": 1706, + "src": "1826:8:28", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1141,18 +1141,18 @@ "typeString": "string memory" } ], - "id": 1668, + "id": 1716, "name": "RoleRemoved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1602, - "src": "1808:11:26", + "referencedDeclaration": 1650, + "src": "1808:11:28", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory)" } }, - "id": 1671, + "id": 1719, "isConstant": false, "isLValue": false, "isPure": false, @@ -1160,20 +1160,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1808:27:26", + "src": "1808:27:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1672, + "id": 1720, "nodeType": "EmitStatement", - "src": "1803:32:26" + "src": "1803:32:28" } ] }, "documentation": "@dev remove a role from an address\n@param addr address\n@param roleName the name of the role", - "id": 1674, + "id": 1722, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1181,16 +1181,16 @@ "name": "removeRole", "nodeType": "FunctionDefinition", "parameters": { - "id": 1659, + "id": 1707, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1656, + "id": 1704, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1674, - "src": "1717:12:26", + "scope": 1722, + "src": "1717:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1198,10 +1198,10 @@ "typeString": "address" }, "typeName": { - "id": 1655, + "id": 1703, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1717:7:26", + "src": "1717:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1212,11 +1212,11 @@ }, { "constant": false, - "id": 1658, + "id": 1706, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1674, - "src": "1731:15:26", + "scope": 1722, + "src": "1731:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1224,10 +1224,10 @@ "typeString": "string" }, "typeName": { - "id": 1657, + "id": 1705, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1731:6:26", + "src": "1731:6:28", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1237,26 +1237,26 @@ "visibility": "internal" } ], - "src": "1716:31:26" + "src": "1716:31:28" }, "payable": false, "returnParameters": { - "id": 1660, + "id": 1708, "nodeType": "ParameterList", "parameters": [], - "src": "1763:0:26" + "src": "1763:0:28" }, - "scope": 1687, - "src": "1697:143:26", + "scope": 1735, + "src": "1697:143:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1685, + "id": 1733, "nodeType": "Block", - "src": "2029:49:26", + "src": "2029:49:28", "statements": [ { "expression": { @@ -1266,18 +1266,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1679, + "id": 1727, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "2045:3:26", + "referencedDeclaration": 4879, + "src": "2045:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1680, + "id": 1728, "isConstant": false, "isLValue": false, "isPure": false, @@ -1285,7 +1285,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2045:10:26", + "src": "2045:10:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1293,12 +1293,12 @@ }, { "argumentTypes": null, - "id": 1681, + "id": 1729, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1676, - "src": "2057:8:26", + "referencedDeclaration": 1724, + "src": "2057:8:28", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1316,18 +1316,18 @@ "typeString": "string memory" } ], - "id": 1678, + "id": 1726, "name": "checkRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1617, - "src": "2035:9:26", + "referencedDeclaration": 1665, + "src": "2035:9:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory) view" } }, - "id": 1682, + "id": 1730, "isConstant": false, "isLValue": false, "isPure": false, @@ -1335,38 +1335,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2035:31:26", + "src": "2035:31:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1683, + "id": 1731, "nodeType": "ExpressionStatement", - "src": "2035:31:26" + "src": "2035:31:28" }, { - "id": 1684, + "id": 1732, "nodeType": "PlaceholderStatement", - "src": "2072:1:26" + "src": "2072:1:28" } ] }, "documentation": "@dev modifier to scope access to a single role (uses msg.sender as addr)\n@param roleName the name of the role\n// reverts", - "id": 1686, + "id": 1734, "name": "onlyRole", "nodeType": "ModifierDefinition", "parameters": { - "id": 1677, + "id": 1725, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1676, + "id": 1724, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1686, - "src": "2010:15:26", + "scope": 1734, + "src": "2010:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1374,10 +1374,10 @@ "typeString": "string" }, "typeName": { - "id": 1675, + "id": 1723, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2010:6:26", + "src": "2010:6:28", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1387,30 +1387,30 @@ "visibility": "internal" } ], - "src": "2009:17:26" + "src": "2009:17:28" }, - "src": "1992:86:26", + "src": "1992:86:28", "visibility": "internal" } ], - "scope": 1688, - "src": "600:2135:26" + "scope": 1736, + "src": "600:2135:28" } ], - "src": "0:2736:26" + "src": "0:2736:28" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/rbac/RBAC.sol", "exportedSymbols": { "RBAC": [ - 1687 + 1735 ] }, - "id": 1688, + "id": 1736, "nodeType": "SourceUnit", "nodes": [ { - "id": 1582, + "id": 1630, "literals": [ "solidity", "^", @@ -1418,16 +1418,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:26" + "src": "0:24:28" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/rbac/Roles.sol", "file": "./Roles.sol", - "id": 1583, + "id": 1631, "nodeType": "ImportDirective", - "scope": 1688, - "sourceUnit": 1825, - "src": "26:21:26", + "scope": 1736, + "sourceUnit": 1873, + "src": "26:21:28", "symbolAliases": [], "unitAlias": "" }, @@ -1437,82 +1437,82 @@ "contractKind": "contract", "documentation": "@title RBAC (Role-Based Access Control)\n@author Matt Condon (@Shrugs)\n@dev Stores and provides setters and getters for roles and addresses.\n@dev Supports unlimited numbers of roles and addresses.\n@dev See //contracts/mocks/RBACMock.sol for an example of usage.\nThis RBAC method uses strings to key roles. It may be beneficial\n for you to write your own implementation of this interface using Enums or similar.\nIt's also recommended that you define constants in the contract, like ROLE_ADMIN below,\n to avoid typos.", "fullyImplemented": true, - "id": 1687, + "id": 1735, "linearizedBaseContracts": [ - 1687 + 1735 ], "name": "RBAC", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1586, + "id": 1634, "libraryName": { "contractScope": null, - "id": 1584, + "id": 1632, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1824, - "src": "624:5:26", + "referencedDeclaration": 1872, + "src": "624:5:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$1824", + "typeIdentifier": "t_contract$_Roles_$1872", "typeString": "library Roles" } }, "nodeType": "UsingForDirective", - "src": "618:27:26", + "src": "618:27:28", "typeName": { "contractScope": null, - "id": 1585, + "id": 1633, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1761, - "src": "634:10:26", + "referencedDeclaration": 1809, + "src": "634:10:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" } } }, { "constant": false, - "id": 1590, + "id": 1638, "name": "roles", "nodeType": "VariableDeclaration", - "scope": 1687, - "src": "649:44:26", + "scope": 1735, + "src": "649:44:28", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1761_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1809_storage_$", "typeString": "mapping(string => struct Roles.Role)" }, "typeName": { - "id": 1589, + "id": 1637, "keyType": { - "id": 1587, + "id": 1635, "name": "string", "nodeType": "ElementaryTypeName", - "src": "658:6:26", + "src": "658:6:28", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "nodeType": "Mapping", - "src": "649:30:26", + "src": "649:30:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1761_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1809_storage_$", "typeString": "mapping(string => struct Roles.Role)" }, "valueType": { "contractScope": null, - "id": 1588, + "id": 1636, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1761, - "src": "668:10:26", + "referencedDeclaration": 1809, + "src": "668:10:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" } } @@ -1523,21 +1523,21 @@ { "anonymous": false, "documentation": null, - "id": 1596, + "id": 1644, "name": "RoleAdded", "nodeType": "EventDefinition", "parameters": { - "id": 1595, + "id": 1643, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1592, + "id": 1640, "indexed": false, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1596, - "src": "714:12:26", + "scope": 1644, + "src": "714:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1545,10 +1545,10 @@ "typeString": "address" }, "typeName": { - "id": 1591, + "id": 1639, "name": "address", "nodeType": "ElementaryTypeName", - "src": "714:7:26", + "src": "714:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1559,12 +1559,12 @@ }, { "constant": false, - "id": 1594, + "id": 1642, "indexed": false, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1596, - "src": "728:15:26", + "scope": 1644, + "src": "728:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1572,10 +1572,10 @@ "typeString": "string" }, "typeName": { - "id": 1593, + "id": 1641, "name": "string", "nodeType": "ElementaryTypeName", - "src": "728:6:26", + "src": "728:6:28", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1585,28 +1585,28 @@ "visibility": "internal" } ], - "src": "713:31:26" + "src": "713:31:28" }, - "src": "698:47:26" + "src": "698:47:28" }, { "anonymous": false, "documentation": null, - "id": 1602, + "id": 1650, "name": "RoleRemoved", "nodeType": "EventDefinition", "parameters": { - "id": 1601, + "id": 1649, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1598, + "id": 1646, "indexed": false, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "766:12:26", + "scope": 1650, + "src": "766:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1614,10 +1614,10 @@ "typeString": "address" }, "typeName": { - "id": 1597, + "id": 1645, "name": "address", "nodeType": "ElementaryTypeName", - "src": "766:7:26", + "src": "766:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1628,12 +1628,12 @@ }, { "constant": false, - "id": 1600, + "id": 1648, "indexed": false, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "780:15:26", + "scope": 1650, + "src": "780:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1641,10 +1641,10 @@ "typeString": "string" }, "typeName": { - "id": 1599, + "id": 1647, "name": "string", "nodeType": "ElementaryTypeName", - "src": "780:6:26", + "src": "780:6:28", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1654,15 +1654,15 @@ "visibility": "internal" } ], - "src": "765:31:26" + "src": "765:31:28" }, - "src": "748:49:26" + "src": "748:49:28" }, { "body": { - "id": 1616, + "id": 1664, "nodeType": "Block", - "src": "1013:38:26", + "src": "1013:38:28", "statements": [ { "expression": { @@ -1670,12 +1670,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1613, + "id": 1661, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1604, - "src": "1041:4:26", + "referencedDeclaration": 1652, + "src": "1041:4:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1693,26 +1693,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1609, + "id": 1657, "name": "roles", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "1019:5:26", + "referencedDeclaration": 1638, + "src": "1019:5:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1761_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1809_storage_$", "typeString": "mapping(string memory => struct Roles.Role storage ref)" } }, - "id": 1611, + "id": 1659, "indexExpression": { "argumentTypes": null, - "id": 1610, + "id": 1658, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1606, - "src": "1025:8:26", + "referencedDeclaration": 1654, + "src": "1025:8:28", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1723,27 +1723,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1019:15:26", + "src": "1019:15:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage", + "typeIdentifier": "t_struct$_Role_$1809_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 1612, + "id": 1660, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "check", "nodeType": "MemberAccess", - "referencedDeclaration": 1808, - "src": "1019:21:26", + "referencedDeclaration": 1856, + "src": "1019:21:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1761_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1761_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1809_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1809_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view" } }, - "id": 1614, + "id": 1662, "isConstant": false, "isLValue": false, "isPure": false, @@ -1751,20 +1751,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1019:27:26", + "src": "1019:27:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1615, + "id": 1663, "nodeType": "ExpressionStatement", - "src": "1019:27:26" + "src": "1019:27:28" } ] }, "documentation": "@dev reverts if addr does not have role\n@param addr address\n@param roleName the name of the role\n// reverts", - "id": 1617, + "id": 1665, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1772,16 +1772,16 @@ "name": "checkRole", "nodeType": "FunctionDefinition", "parameters": { - "id": 1607, + "id": 1655, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1604, + "id": 1652, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1617, - "src": "960:12:26", + "scope": 1665, + "src": "960:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1789,10 +1789,10 @@ "typeString": "address" }, "typeName": { - "id": 1603, + "id": 1651, "name": "address", "nodeType": "ElementaryTypeName", - "src": "960:7:26", + "src": "960:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1803,11 +1803,11 @@ }, { "constant": false, - "id": 1606, + "id": 1654, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1617, - "src": "974:15:26", + "scope": 1665, + "src": "974:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1815,10 +1815,10 @@ "typeString": "string" }, "typeName": { - "id": 1605, + "id": 1653, "name": "string", "nodeType": "ElementaryTypeName", - "src": "974:6:26", + "src": "974:6:28", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1828,26 +1828,26 @@ "visibility": "internal" } ], - "src": "959:31:26" + "src": "959:31:28" }, "payable": false, "returnParameters": { - "id": 1608, + "id": 1656, "nodeType": "ParameterList", "parameters": [], - "src": "1013:0:26" + "src": "1013:0:28" }, - "scope": 1687, - "src": "941:110:26", + "scope": 1735, + "src": "941:110:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1633, + "id": 1681, "nodeType": "Block", - "src": "1278:43:26", + "src": "1278:43:28", "statements": [ { "expression": { @@ -1855,12 +1855,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1630, + "id": 1678, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1619, - "src": "1311:4:26", + "referencedDeclaration": 1667, + "src": "1311:4:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1878,26 +1878,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1626, + "id": 1674, "name": "roles", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "1291:5:26", + "referencedDeclaration": 1638, + "src": "1291:5:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1761_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1809_storage_$", "typeString": "mapping(string memory => struct Roles.Role storage ref)" } }, - "id": 1628, + "id": 1676, "indexExpression": { "argumentTypes": null, - "id": 1627, + "id": 1675, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1621, - "src": "1297:8:26", + "referencedDeclaration": 1669, + "src": "1297:8:28", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1908,27 +1908,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1291:15:26", + "src": "1291:15:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage", + "typeIdentifier": "t_struct$_Role_$1809_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 1629, + "id": 1677, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 1823, - "src": "1291:19:26", + "referencedDeclaration": 1871, + "src": "1291:19:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1761_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1761_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1809_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1809_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 1631, + "id": 1679, "isConstant": false, "isLValue": false, "isPure": false, @@ -1936,21 +1936,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1291:25:26", + "src": "1291:25:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1625, - "id": 1632, + "functionReturnParameters": 1673, + "id": 1680, "nodeType": "Return", - "src": "1284:32:26" + "src": "1284:32:28" } ] }, "documentation": "@dev determine if addr has role\n@param addr address\n@param roleName the name of the role\n@return bool", - "id": 1634, + "id": 1682, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1958,16 +1958,16 @@ "name": "hasRole", "nodeType": "FunctionDefinition", "parameters": { - "id": 1622, + "id": 1670, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1619, + "id": 1667, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1634, - "src": "1206:12:26", + "scope": 1682, + "src": "1206:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1975,10 +1975,10 @@ "typeString": "address" }, "typeName": { - "id": 1618, + "id": 1666, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1206:7:26", + "src": "1206:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1989,11 +1989,11 @@ }, { "constant": false, - "id": 1621, + "id": 1669, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1634, - "src": "1220:15:26", + "scope": 1682, + "src": "1220:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2001,10 +2001,10 @@ "typeString": "string" }, "typeName": { - "id": 1620, + "id": 1668, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1220:6:26", + "src": "1220:6:28", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2014,20 +2014,20 @@ "visibility": "internal" } ], - "src": "1205:31:26" + "src": "1205:31:28" }, "payable": false, "returnParameters": { - "id": 1625, + "id": 1673, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1624, + "id": 1672, "name": "", "nodeType": "VariableDeclaration", - "scope": 1634, - "src": "1270:4:26", + "scope": 1682, + "src": "1270:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2035,10 +2035,10 @@ "typeString": "bool" }, "typeName": { - "id": 1623, + "id": 1671, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1270:4:26", + "src": "1270:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2048,19 +2048,19 @@ "visibility": "internal" } ], - "src": "1269:6:26" + "src": "1269:6:28" }, - "scope": 1687, - "src": "1189:132:26", + "scope": 1735, + "src": "1189:132:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1653, + "id": 1701, "nodeType": "Block", - "src": "1502:72:26", + "src": "1502:72:28", "statements": [ { "expression": { @@ -2068,12 +2068,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1645, + "id": 1693, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1636, - "src": "1528:4:26", + "referencedDeclaration": 1684, + "src": "1528:4:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2091,26 +2091,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1641, + "id": 1689, "name": "roles", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "1508:5:26", + "referencedDeclaration": 1638, + "src": "1508:5:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1761_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1809_storage_$", "typeString": "mapping(string memory => struct Roles.Role storage ref)" } }, - "id": 1643, + "id": 1691, "indexExpression": { "argumentTypes": null, - "id": 1642, + "id": 1690, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1638, - "src": "1514:8:26", + "referencedDeclaration": 1686, + "src": "1514:8:28", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2121,27 +2121,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1508:15:26", + "src": "1508:15:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage", + "typeIdentifier": "t_struct$_Role_$1809_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 1644, + "id": 1692, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1777, - "src": "1508:19:26", + "referencedDeclaration": 1825, + "src": "1508:19:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1761_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1761_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1809_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1809_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, - "id": 1646, + "id": 1694, "isConstant": false, "isLValue": false, "isPure": false, @@ -2149,15 +2149,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1508:25:26", + "src": "1508:25:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1647, + "id": 1695, "nodeType": "ExpressionStatement", - "src": "1508:25:26" + "src": "1508:25:28" }, { "eventCall": { @@ -2165,12 +2165,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1649, + "id": 1697, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1636, - "src": "1554:4:26", + "referencedDeclaration": 1684, + "src": "1554:4:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2178,12 +2178,12 @@ }, { "argumentTypes": null, - "id": 1650, + "id": 1698, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1638, - "src": "1560:8:26", + "referencedDeclaration": 1686, + "src": "1560:8:28", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2201,18 +2201,18 @@ "typeString": "string memory" } ], - "id": 1648, + "id": 1696, "name": "RoleAdded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1596, - "src": "1544:9:26", + "referencedDeclaration": 1644, + "src": "1544:9:28", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory)" } }, - "id": 1651, + "id": 1699, "isConstant": false, "isLValue": false, "isPure": false, @@ -2220,20 +2220,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1544:25:26", + "src": "1544:25:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1652, + "id": 1700, "nodeType": "EmitStatement", - "src": "1539:30:26" + "src": "1539:30:28" } ] }, "documentation": "@dev add a role to an address\n@param addr address\n@param roleName the name of the role", - "id": 1654, + "id": 1702, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2241,16 +2241,16 @@ "name": "addRole", "nodeType": "FunctionDefinition", "parameters": { - "id": 1639, + "id": 1687, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1636, + "id": 1684, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1654, - "src": "1456:12:26", + "scope": 1702, + "src": "1456:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2258,10 +2258,10 @@ "typeString": "address" }, "typeName": { - "id": 1635, + "id": 1683, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1456:7:26", + "src": "1456:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2272,11 +2272,11 @@ }, { "constant": false, - "id": 1638, + "id": 1686, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1654, - "src": "1470:15:26", + "scope": 1702, + "src": "1470:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2284,10 +2284,10 @@ "typeString": "string" }, "typeName": { - "id": 1637, + "id": 1685, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1470:6:26", + "src": "1470:6:28", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2297,26 +2297,26 @@ "visibility": "internal" } ], - "src": "1455:31:26" + "src": "1455:31:28" }, "payable": false, "returnParameters": { - "id": 1640, + "id": 1688, "nodeType": "ParameterList", "parameters": [], - "src": "1502:0:26" + "src": "1502:0:28" }, - "scope": 1687, - "src": "1439:135:26", + "scope": 1735, + "src": "1439:135:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1673, + "id": 1721, "nodeType": "Block", - "src": "1763:77:26", + "src": "1763:77:28", "statements": [ { "expression": { @@ -2324,12 +2324,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1665, + "id": 1713, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1656, - "src": "1792:4:26", + "referencedDeclaration": 1704, + "src": "1792:4:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2347,26 +2347,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1661, + "id": 1709, "name": "roles", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "1769:5:26", + "referencedDeclaration": 1638, + "src": "1769:5:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1761_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_Role_$1809_storage_$", "typeString": "mapping(string memory => struct Roles.Role storage ref)" } }, - "id": 1663, + "id": 1711, "indexExpression": { "argumentTypes": null, - "id": 1662, + "id": 1710, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "1775:8:26", + "referencedDeclaration": 1706, + "src": "1775:8:28", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2377,27 +2377,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1769:15:26", + "src": "1769:15:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage", + "typeIdentifier": "t_struct$_Role_$1809_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 1664, + "id": 1712, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 1793, - "src": "1769:22:26", + "referencedDeclaration": 1841, + "src": "1769:22:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1761_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1761_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1809_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1809_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, - "id": 1666, + "id": 1714, "isConstant": false, "isLValue": false, "isPure": false, @@ -2405,15 +2405,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1769:28:26", + "src": "1769:28:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1667, + "id": 1715, "nodeType": "ExpressionStatement", - "src": "1769:28:26" + "src": "1769:28:28" }, { "eventCall": { @@ -2421,12 +2421,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1669, + "id": 1717, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1656, - "src": "1820:4:26", + "referencedDeclaration": 1704, + "src": "1820:4:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2434,12 +2434,12 @@ }, { "argumentTypes": null, - "id": 1670, + "id": 1718, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "1826:8:26", + "referencedDeclaration": 1706, + "src": "1826:8:28", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2457,18 +2457,18 @@ "typeString": "string memory" } ], - "id": 1668, + "id": 1716, "name": "RoleRemoved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1602, - "src": "1808:11:26", + "referencedDeclaration": 1650, + "src": "1808:11:28", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory)" } }, - "id": 1671, + "id": 1719, "isConstant": false, "isLValue": false, "isPure": false, @@ -2476,20 +2476,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1808:27:26", + "src": "1808:27:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1672, + "id": 1720, "nodeType": "EmitStatement", - "src": "1803:32:26" + "src": "1803:32:28" } ] }, "documentation": "@dev remove a role from an address\n@param addr address\n@param roleName the name of the role", - "id": 1674, + "id": 1722, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2497,16 +2497,16 @@ "name": "removeRole", "nodeType": "FunctionDefinition", "parameters": { - "id": 1659, + "id": 1707, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1656, + "id": 1704, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1674, - "src": "1717:12:26", + "scope": 1722, + "src": "1717:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2514,10 +2514,10 @@ "typeString": "address" }, "typeName": { - "id": 1655, + "id": 1703, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1717:7:26", + "src": "1717:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2528,11 +2528,11 @@ }, { "constant": false, - "id": 1658, + "id": 1706, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1674, - "src": "1731:15:26", + "scope": 1722, + "src": "1731:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2540,10 +2540,10 @@ "typeString": "string" }, "typeName": { - "id": 1657, + "id": 1705, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1731:6:26", + "src": "1731:6:28", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2553,26 +2553,26 @@ "visibility": "internal" } ], - "src": "1716:31:26" + "src": "1716:31:28" }, "payable": false, "returnParameters": { - "id": 1660, + "id": 1708, "nodeType": "ParameterList", "parameters": [], - "src": "1763:0:26" + "src": "1763:0:28" }, - "scope": 1687, - "src": "1697:143:26", + "scope": 1735, + "src": "1697:143:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1685, + "id": 1733, "nodeType": "Block", - "src": "2029:49:26", + "src": "2029:49:28", "statements": [ { "expression": { @@ -2582,18 +2582,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1679, + "id": 1727, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "2045:3:26", + "referencedDeclaration": 4879, + "src": "2045:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1680, + "id": 1728, "isConstant": false, "isLValue": false, "isPure": false, @@ -2601,7 +2601,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2045:10:26", + "src": "2045:10:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2609,12 +2609,12 @@ }, { "argumentTypes": null, - "id": 1681, + "id": 1729, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1676, - "src": "2057:8:26", + "referencedDeclaration": 1724, + "src": "2057:8:28", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2632,18 +2632,18 @@ "typeString": "string memory" } ], - "id": 1678, + "id": 1726, "name": "checkRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1617, - "src": "2035:9:26", + "referencedDeclaration": 1665, + "src": "2035:9:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory) view" } }, - "id": 1682, + "id": 1730, "isConstant": false, "isLValue": false, "isPure": false, @@ -2651,38 +2651,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2035:31:26", + "src": "2035:31:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1683, + "id": 1731, "nodeType": "ExpressionStatement", - "src": "2035:31:26" + "src": "2035:31:28" }, { - "id": 1684, + "id": 1732, "nodeType": "PlaceholderStatement", - "src": "2072:1:26" + "src": "2072:1:28" } ] }, "documentation": "@dev modifier to scope access to a single role (uses msg.sender as addr)\n@param roleName the name of the role\n// reverts", - "id": 1686, + "id": 1734, "name": "onlyRole", "nodeType": "ModifierDefinition", "parameters": { - "id": 1677, + "id": 1725, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1676, + "id": 1724, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1686, - "src": "2010:15:26", + "scope": 1734, + "src": "2010:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2690,10 +2690,10 @@ "typeString": "string" }, "typeName": { - "id": 1675, + "id": 1723, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2010:6:26", + "src": "2010:6:28", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2703,23 +2703,23 @@ "visibility": "internal" } ], - "src": "2009:17:26" + "src": "2009:17:28" }, - "src": "1992:86:26", + "src": "1992:86:28", "visibility": "internal" } ], - "scope": 1688, - "src": "600:2135:26" + "scope": 1736, + "src": "600:2135:28" } ], - "src": "0:2736:26" + "src": "0:2736:28" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.631Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.210Z" } \ No newline at end of file diff --git a/build/contracts/RBACMock.json b/build/contracts/RBACMock.json index cd8328aba..9e08a6198 100644 --- a/build/contracts/RBACMock.json +++ b/build/contracts/RBACMock.json @@ -242,24 +242,24 @@ "type": "function" } ], - "bytecode": "0x60806040523480156200001157600080fd5b50604051620017ab380380620017ab83398101806040528101908080518201929190505050600062000057336200013464010000000002620009db176401000000009004565b620000a7336040805190810160405280600781526020017f61647669736f72000000000000000000000000000000000000000000000000008152506200041c640100000000026401000000009004565b600090505b81518110156200012c576200011e8282815181101515620000c957fe5b906020019060200201516040805190810160405280600781526020017f61647669736f72000000000000000000000000000000000000000000000000008152506200041c640100000000026401000000009004565b8080600101915050620000ac565b5050620006d0565b6040805190810160405280600d81526020017f524241435769746841646d696e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250620001bb828262000582640100000000026401000000009004565b151515620001c857600080fd5b62000218836040805190810160405280600581526020017f61646d696e0000000000000000000000000000000000000000000000000000008152506200041c640100000000026401000000009004565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156200028157808201518184015260208101905062000264565b50505050905090810190601f168015620002af5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015620002ea578082015181840152602081019050620002cd565b50505050905090810190601f168015620003185780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1600180836040518082805190602001908083835b6020831015156200036257805182526020820191506020810190506020830392506200033b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515620003cd5780518252602082019150602081019050602083039250620003a6565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b620004ab826000836040518082805190602001908083835b6020831015156200045b578051825260208201915060208101905060208303925062000434565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020620006726401000000000262001041179091906401000000009004565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156200054257808201518184015260208101905062000525565b50505050905090810190601f168015620005705780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60006001836040518082805190602001908083835b602083101515620005be578051825260208201915060208101905060208303925062000597565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151562000629578051825260208201915060208101905060208303925062000602565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6110cb80620006e06000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c146100bf5780630eeccb841461014857806316aabcbd1461018b578063217fe6c6146101a2578063420d0ba4146102435780634fd3d1251461025a57806363a5bc711461027157806388cee87e14610288578063b25fa92c14610311578063c0bac1a81461039a578063c4d66de814610461578063d391014b146104a4575b600080fd5b3480156100cb57600080fd5b50610146600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610534565b005b34801561015457600080fd5b50610189600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105b5565b005b34801561019757600080fd5b506101a0610675565b005b3480156101ae57600080fd5b50610229600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506106b8565b604051808215151515815260200191505060405180910390f35b34801561024f57600080fd5b5061025861073f565b005b34801561026657600080fd5b5061026f610782565b005b34801561027d57600080fd5b506102866107c3565b005b34801561029457600080fd5b5061030f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610855565b005b34801561031d57600080fd5b50610398600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108a2565b005b3480156103a657600080fd5b50610447600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108ef565b604051808215151515815260200191505060405180910390f35b34801561046d57600080fd5b506104a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109db565b005b3480156104b057600080fd5b506104b9610c96565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104f95780820151818401526020810190506104de565b50505050905090810190601f1680156105265780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105b1826000836040518082805190602001908083835b602083101515610570578051825260208201915060208101905060208303925061054b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610ccf90919063ffffffff16565b5050565b6105f4336040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610534565b610633816040805190810160405280600781526020017f61647669736f7200000000000000000000000000000000000000000000000000815250610534565b610672816040805190810160405280600781526020017f61647669736f7200000000000000000000000000000000000000000000000000815250610ce8565b50565b6040805190810160405280600781526020017f61647669736f72000000000000000000000000000000000000000000000000008152506106b53382610534565b50565b6000610737836000846040518082805190602001908083835b6020831015156106f657805182526020820191506020810190506020830392506106d1565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610e3990919063ffffffff16565b905092915050565b6040805190810160405280600781526020017f756e6b6e6f776e0000000000000000000000000000000000000000000000000081525061077f3382610534565b50565b6107c1336040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610534565b565b610802336040805190810160405280600581526020017f61646d696e0000000000000000000000000000000000000000000000000000008152506106b8565b806108485750610847336040805190810160405280600781526020017f61647669736f72000000000000000000000000000000000000000000000000008152506106b8565b5b151561085357600080fd5b565b610894336040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610534565b61089e8282610ce8565b5050565b6108e1336040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610534565b6108eb8282610e92565b5050565b60006001836040518082805190602001908083835b6020831015156109295780518252602082019150602081019050602083039250610904565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610992578051825260208201915060208101905060208303925061096d565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f524241435769746841646d696e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610a5182826108ef565b151515610a5d57600080fd5b610a9c836040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610e92565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610b03578082015181840152602081019050610ae8565b50505050905090810190601f168015610b305780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b69578082015181840152602081019050610b4e565b50505050905090810190601f168015610b965780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1600180836040518082805190602001908083835b602083101515610bde5780518252602082019150602081019050602083039250610bb9565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610c475780518252602082019150602081019050602083039250610c22565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6040805190810160405280600581526020017f61646d696e00000000000000000000000000000000000000000000000000000081525081565b610cd98282610e39565b1515610ce457600080fd5b5050565b610d65826000836040518082805190602001908083835b602083101515610d245780518252602082019150602081019050602083039250610cff565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610fe390919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610dfa578082015181840152602081019050610ddf565b50505050905090810190601f168015610e275780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610f0f826000836040518082805190602001908083835b602083101515610ece5780518252602082019150602081019050602083039250610ea9565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061104190919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610fa4578082015181840152602081019050610f89565b50505050905090810190601f168015610fd15780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505600a165627a7a72305820a6660616c75c1c3c51b09fc49eaab3cca7c55ebd2ef467853e5338fef525ad390029", - "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c146100bf5780630eeccb841461014857806316aabcbd1461018b578063217fe6c6146101a2578063420d0ba4146102435780634fd3d1251461025a57806363a5bc711461027157806388cee87e14610288578063b25fa92c14610311578063c0bac1a81461039a578063c4d66de814610461578063d391014b146104a4575b600080fd5b3480156100cb57600080fd5b50610146600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610534565b005b34801561015457600080fd5b50610189600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105b5565b005b34801561019757600080fd5b506101a0610675565b005b3480156101ae57600080fd5b50610229600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506106b8565b604051808215151515815260200191505060405180910390f35b34801561024f57600080fd5b5061025861073f565b005b34801561026657600080fd5b5061026f610782565b005b34801561027d57600080fd5b506102866107c3565b005b34801561029457600080fd5b5061030f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610855565b005b34801561031d57600080fd5b50610398600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108a2565b005b3480156103a657600080fd5b50610447600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108ef565b604051808215151515815260200191505060405180910390f35b34801561046d57600080fd5b506104a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109db565b005b3480156104b057600080fd5b506104b9610c96565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104f95780820151818401526020810190506104de565b50505050905090810190601f1680156105265780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105b1826000836040518082805190602001908083835b602083101515610570578051825260208201915060208101905060208303925061054b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610ccf90919063ffffffff16565b5050565b6105f4336040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610534565b610633816040805190810160405280600781526020017f61647669736f7200000000000000000000000000000000000000000000000000815250610534565b610672816040805190810160405280600781526020017f61647669736f7200000000000000000000000000000000000000000000000000815250610ce8565b50565b6040805190810160405280600781526020017f61647669736f72000000000000000000000000000000000000000000000000008152506106b53382610534565b50565b6000610737836000846040518082805190602001908083835b6020831015156106f657805182526020820191506020810190506020830392506106d1565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610e3990919063ffffffff16565b905092915050565b6040805190810160405280600781526020017f756e6b6e6f776e0000000000000000000000000000000000000000000000000081525061077f3382610534565b50565b6107c1336040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610534565b565b610802336040805190810160405280600581526020017f61646d696e0000000000000000000000000000000000000000000000000000008152506106b8565b806108485750610847336040805190810160405280600781526020017f61647669736f72000000000000000000000000000000000000000000000000008152506106b8565b5b151561085357600080fd5b565b610894336040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610534565b61089e8282610ce8565b5050565b6108e1336040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610534565b6108eb8282610e92565b5050565b60006001836040518082805190602001908083835b6020831015156109295780518252602082019150602081019050602083039250610904565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610992578051825260208201915060208101905060208303925061096d565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f524241435769746841646d696e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610a5182826108ef565b151515610a5d57600080fd5b610a9c836040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610e92565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610b03578082015181840152602081019050610ae8565b50505050905090810190601f168015610b305780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b69578082015181840152602081019050610b4e565b50505050905090810190601f168015610b965780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1600180836040518082805190602001908083835b602083101515610bde5780518252602082019150602081019050602083039250610bb9565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610c475780518252602082019150602081019050602083039250610c22565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6040805190810160405280600581526020017f61646d696e00000000000000000000000000000000000000000000000000000081525081565b610cd98282610e39565b1515610ce457600080fd5b5050565b610d65826000836040518082805190602001908083835b602083101515610d245780518252602082019150602081019050602083039250610cff565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610fe390919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610dfa578082015181840152602081019050610ddf565b50505050905090810190601f168015610e275780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610f0f826000836040518082805190602001908083835b602083101515610ece5780518252602082019150602081019050602083039250610ea9565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061104190919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610fa4578082015181840152602081019050610f89565b50505050905090810190601f168015610fd15780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505600a165627a7a72305820a6660616c75c1c3c51b09fc49eaab3cca7c55ebd2ef467853e5338fef525ad390029", - "sourceMap": "74:1146:20:-;;;308:242;8:9:-1;5:2;;;30:1;27;20:12;5:2;308:242:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;454:9;366:36;391:10;366:24;;;;;:36;;;:::i;:::-;409:33;417:10;429:12;;;;;;;;;;;;;;;;;;409:7;;;:33;;;:::i;:::-;466:1;454:13;;449:97;473:9;:16;469:1;:20;449:97;;;504:35;512:9;522:1;512:12;;;;;;;;;;;;;;;;;;526;;;;;;;;;;;;;;;;;;504:7;;;:35;;;:::i;:::-;491:3;;;;;;;449:97;;;308:242;;74:1146;;653:143:27;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;;;:37;;;:::i;:::-;1082:38;1074:47;;;;;;;;758:33:27;766:12;780:10;;;;;;;;;;;;;;;;;;758:7;;;:33;;;:::i;:::-;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;653:143:27;;;:::o;1439:135:26:-;1508:25;1528:4;1508:5;1514:8;1508:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1508:15:26;;;;;;;;;;;;;;;;;;;;;:19;;;;;;:25;;;;;:::i;:::-;1544;1554:4;1560:8;1544:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1544:25:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1439:135;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;326:96:28:-;413:4;393;:11;;:17;405:4;393:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;326:96;;:::o;74:1146:20:-;;;;;;;", - "deployedSourceMap": "74:1146:20:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;941:110:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;944:274:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;944:274:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;632:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;632:89:20;;;;;;1189:132:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1189:132:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;822:80:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;822:80:20;;;;;;554:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;554:74:20;;;;;;725:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;725:93:20;;;;;;1151:120:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1151:120:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;914:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;914:114:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;653:143:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;653:143:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;391:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;391:43:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;391:43:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110:26;1019:27;1041:4;1019:5;1025:8;1019:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1019:15:26;;;;;;;;;;;;;;;;;;;;;:21;;:27;;;;:::i;:::-;941:110;;:::o;944:274:20:-;541:33:27;551:10;563;;;;;;;;;;;;;;;;;;541:9;:33::i;:::-;1112:30:20;1122:5;1129:12;;;;;;;;;;;;;;;;;;1112:9;:30::i;:::-;1182:31;1193:5;1200:12;;;;;;;;;;;;;;;;;;1182:10;:31::i;:::-;944:274;:::o;632:89::-;678:12;;;;;;;;;;;;;;;;;;2035:31:26;2045:10;2057:8;2035:9;:31::i;:::-;632:89:20;:::o;1189:132:26:-;1270:4;1291:25;1311:4;1291:5;1297:8;1291:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1291:15:26;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1284:32;;1189:132;;;;:::o;822:80:20:-;1992:86:26;;;;;;;;;;;;;;;;;;2035:31;2045:10;2057:8;2035:9;:31::i;:::-;822:80:20;:::o;554:74::-;541:33:27;551:10;563;;;;;;;;;;;;;;;;;;541:9;:33::i;:::-;554:74:20:o;725:93::-;212:31;220:10;232;;;;;;;;;;;;;;;;;;212:7;:31::i;:::-;:74;;;;253:33;261:10;273:12;;;;;;;;;;;;;;;;;;253:7;:33::i;:::-;212:74;197:95;;;;;;;;725:93::o;1151:120:27:-;541:33;551:10;563;;;;;;;;;;;;;;;;;;541:9;:33::i;:::-;1240:26;1251:4;1257:8;1240:10;:26::i;:::-;1151:120;;:::o;914:114::-;541:33;551:10;563;;;;;;;;;;;;;;;;;;541:9;:33::i;:::-;1000:23;1008:4;1014:8;1000:7;:23::i;:::-;914:114;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;653:143:27:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;758:33:27;766:12;780:10;;;;;;;;;;;;;;;;;;758:7;:33::i;:::-;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;653:143:27;;;:::o;391:43::-;;;;;;;;;;;;;;;;;;;;:::o;663:107:28:-;749:15;753:4;759;749:3;:15::i;:::-;741:24;;;;;;;;663:107;;:::o;1697:143:26:-;1769:28;1792:4;1769:5;1775:8;1769:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1769:15:26;;;;;;;;;;;;;;;;;;;;;:22;;:28;;;;:::i;:::-;1808:27;1820:4;1826:8;1808:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1808:27:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1697:143;;:::o;848:124:28:-;929:4;950;:11;;:17;962:4;950:17;;;;;;;;;;;;;;;;;;;;;;;;;943:24;;848:124;;;;:::o;1439:135:26:-;1508:25;1528:4;1508:5;1514:8;1508:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1508:15:26;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1544;1554:4;1560:8;1544:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1544:25:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1439:135;;:::o;487:100:28:-;577:5;557:4;:11;;:17;569:4;557:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;487:100;;:::o;326:96::-;413:4;393;:11;;:17;405:4;393:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;326:96;;:::o", + "bytecode": "0x60806040523480156200001157600080fd5b50604051620017ab380380620017ab83398101806040528101908080518201929190505050600062000057336200013464010000000002620009db176401000000009004565b620000a7336040805190810160405280600781526020017f61647669736f72000000000000000000000000000000000000000000000000008152506200041c640100000000026401000000009004565b600090505b81518110156200012c576200011e8282815181101515620000c957fe5b906020019060200201516040805190810160405280600781526020017f61647669736f72000000000000000000000000000000000000000000000000008152506200041c640100000000026401000000009004565b8080600101915050620000ac565b5050620006d0565b6040805190810160405280600d81526020017f524241435769746841646d696e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250620001bb828262000582640100000000026401000000009004565b151515620001c857600080fd5b62000218836040805190810160405280600581526020017f61646d696e0000000000000000000000000000000000000000000000000000008152506200041c640100000000026401000000009004565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156200028157808201518184015260208101905062000264565b50505050905090810190601f168015620002af5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015620002ea578082015181840152602081019050620002cd565b50505050905090810190601f168015620003185780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1600180836040518082805190602001908083835b6020831015156200036257805182526020820191506020810190506020830392506200033b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515620003cd5780518252602082019150602081019050602083039250620003a6565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b620004ab826000836040518082805190602001908083835b6020831015156200045b578051825260208201915060208101905060208303925062000434565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020620006726401000000000262001041179091906401000000009004565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156200054257808201518184015260208101905062000525565b50505050905090810190601f168015620005705780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60006001836040518082805190602001908083835b602083101515620005be578051825260208201915060208101905060208303925062000597565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151562000629578051825260208201915060208101905060208303925062000602565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6110cb80620006e06000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c146100bf5780630eeccb841461014857806316aabcbd1461018b578063217fe6c6146101a2578063420d0ba4146102435780634fd3d1251461025a57806363a5bc711461027157806388cee87e14610288578063b25fa92c14610311578063c0bac1a81461039a578063c4d66de814610461578063d391014b146104a4575b600080fd5b3480156100cb57600080fd5b50610146600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610534565b005b34801561015457600080fd5b50610189600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105b5565b005b34801561019757600080fd5b506101a0610675565b005b3480156101ae57600080fd5b50610229600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506106b8565b604051808215151515815260200191505060405180910390f35b34801561024f57600080fd5b5061025861073f565b005b34801561026657600080fd5b5061026f610782565b005b34801561027d57600080fd5b506102866107c3565b005b34801561029457600080fd5b5061030f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610855565b005b34801561031d57600080fd5b50610398600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108a2565b005b3480156103a657600080fd5b50610447600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108ef565b604051808215151515815260200191505060405180910390f35b34801561046d57600080fd5b506104a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109db565b005b3480156104b057600080fd5b506104b9610c96565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104f95780820151818401526020810190506104de565b50505050905090810190601f1680156105265780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105b1826000836040518082805190602001908083835b602083101515610570578051825260208201915060208101905060208303925061054b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610ccf90919063ffffffff16565b5050565b6105f4336040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610534565b610633816040805190810160405280600781526020017f61647669736f7200000000000000000000000000000000000000000000000000815250610534565b610672816040805190810160405280600781526020017f61647669736f7200000000000000000000000000000000000000000000000000815250610ce8565b50565b6040805190810160405280600781526020017f61647669736f72000000000000000000000000000000000000000000000000008152506106b53382610534565b50565b6000610737836000846040518082805190602001908083835b6020831015156106f657805182526020820191506020810190506020830392506106d1565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610e3990919063ffffffff16565b905092915050565b6040805190810160405280600781526020017f756e6b6e6f776e0000000000000000000000000000000000000000000000000081525061077f3382610534565b50565b6107c1336040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610534565b565b610802336040805190810160405280600581526020017f61646d696e0000000000000000000000000000000000000000000000000000008152506106b8565b806108485750610847336040805190810160405280600781526020017f61647669736f72000000000000000000000000000000000000000000000000008152506106b8565b5b151561085357600080fd5b565b610894336040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610534565b61089e8282610ce8565b5050565b6108e1336040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610534565b6108eb8282610e92565b5050565b60006001836040518082805190602001908083835b6020831015156109295780518252602082019150602081019050602083039250610904565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610992578051825260208201915060208101905060208303925061096d565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f524241435769746841646d696e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610a5182826108ef565b151515610a5d57600080fd5b610a9c836040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610e92565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610b03578082015181840152602081019050610ae8565b50505050905090810190601f168015610b305780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b69578082015181840152602081019050610b4e565b50505050905090810190601f168015610b965780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1600180836040518082805190602001908083835b602083101515610bde5780518252602082019150602081019050602083039250610bb9565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610c475780518252602082019150602081019050602083039250610c22565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6040805190810160405280600581526020017f61646d696e00000000000000000000000000000000000000000000000000000081525081565b610cd98282610e39565b1515610ce457600080fd5b5050565b610d65826000836040518082805190602001908083835b602083101515610d245780518252602082019150602081019050602083039250610cff565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610fe390919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610dfa578082015181840152602081019050610ddf565b50505050905090810190601f168015610e275780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610f0f826000836040518082805190602001908083835b602083101515610ece5780518252602082019150602081019050602083039250610ea9565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061104190919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610fa4578082015181840152602081019050610f89565b50505050905090810190601f168015610fd15780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505600a165627a7a72305820855e8e0794f7de69d16379d146ebcb778e38acec511066275159a9672353be190029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c146100bf5780630eeccb841461014857806316aabcbd1461018b578063217fe6c6146101a2578063420d0ba4146102435780634fd3d1251461025a57806363a5bc711461027157806388cee87e14610288578063b25fa92c14610311578063c0bac1a81461039a578063c4d66de814610461578063d391014b146104a4575b600080fd5b3480156100cb57600080fd5b50610146600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610534565b005b34801561015457600080fd5b50610189600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105b5565b005b34801561019757600080fd5b506101a0610675565b005b3480156101ae57600080fd5b50610229600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506106b8565b604051808215151515815260200191505060405180910390f35b34801561024f57600080fd5b5061025861073f565b005b34801561026657600080fd5b5061026f610782565b005b34801561027d57600080fd5b506102866107c3565b005b34801561029457600080fd5b5061030f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610855565b005b34801561031d57600080fd5b50610398600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108a2565b005b3480156103a657600080fd5b50610447600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108ef565b604051808215151515815260200191505060405180910390f35b34801561046d57600080fd5b506104a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109db565b005b3480156104b057600080fd5b506104b9610c96565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104f95780820151818401526020810190506104de565b50505050905090810190601f1680156105265780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105b1826000836040518082805190602001908083835b602083101515610570578051825260208201915060208101905060208303925061054b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610ccf90919063ffffffff16565b5050565b6105f4336040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610534565b610633816040805190810160405280600781526020017f61647669736f7200000000000000000000000000000000000000000000000000815250610534565b610672816040805190810160405280600781526020017f61647669736f7200000000000000000000000000000000000000000000000000815250610ce8565b50565b6040805190810160405280600781526020017f61647669736f72000000000000000000000000000000000000000000000000008152506106b53382610534565b50565b6000610737836000846040518082805190602001908083835b6020831015156106f657805182526020820191506020810190506020830392506106d1565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610e3990919063ffffffff16565b905092915050565b6040805190810160405280600781526020017f756e6b6e6f776e0000000000000000000000000000000000000000000000000081525061077f3382610534565b50565b6107c1336040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610534565b565b610802336040805190810160405280600581526020017f61646d696e0000000000000000000000000000000000000000000000000000008152506106b8565b806108485750610847336040805190810160405280600781526020017f61647669736f72000000000000000000000000000000000000000000000000008152506106b8565b5b151561085357600080fd5b565b610894336040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610534565b61089e8282610ce8565b5050565b6108e1336040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610534565b6108eb8282610e92565b5050565b60006001836040518082805190602001908083835b6020831015156109295780518252602082019150602081019050602083039250610904565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610992578051825260208201915060208101905060208303925061096d565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f524241435769746841646d696e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610a5182826108ef565b151515610a5d57600080fd5b610a9c836040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610e92565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610b03578082015181840152602081019050610ae8565b50505050905090810190601f168015610b305780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b69578082015181840152602081019050610b4e565b50505050905090810190601f168015610b965780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1600180836040518082805190602001908083835b602083101515610bde5780518252602082019150602081019050602083039250610bb9565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610c475780518252602082019150602081019050602083039250610c22565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6040805190810160405280600581526020017f61646d696e00000000000000000000000000000000000000000000000000000081525081565b610cd98282610e39565b1515610ce457600080fd5b5050565b610d65826000836040518082805190602001908083835b602083101515610d245780518252602082019150602081019050602083039250610cff565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610fe390919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610dfa578082015181840152602081019050610ddf565b50505050905090810190601f168015610e275780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610f0f826000836040518082805190602001908083835b602083101515610ece5780518252602082019150602081019050602083039250610ea9565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061104190919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610fa4578082015181840152602081019050610f89565b50505050905090810190601f168015610fd15780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505600a165627a7a72305820855e8e0794f7de69d16379d146ebcb778e38acec511066275159a9672353be190029", + "sourceMap": "74:1146:22:-;;;308:242;8:9:-1;5:2;;;30:1;27;20:12;5:2;308:242:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;454:9;366:36;391:10;366:24;;;;;:36;;;:::i;:::-;409:33;417:10;429:12;;;;;;;;;;;;;;;;;;409:7;;;:33;;;:::i;:::-;466:1;454:13;;449:97;473:9;:16;469:1;:20;449:97;;;504:35;512:9;522:1;512:12;;;;;;;;;;;;;;;;;;526;;;;;;;;;;;;;;;;;;504:7;;;:35;;;:::i;:::-;491:3;;;;;;;449:97;;;308:242;;74:1146;;653:143:29;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;;;:37;;;:::i;:::-;1082:38;1074:47;;;;;;;;758:33:29;766:12;780:10;;;;;;;;;;;;;;;;;;758:7;;;:33;;;:::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;653:143:29;;;:::o;1439:135:28:-;1508:25;1528:4;1508:5;1514:8;1508:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1508:15:28;;;;;;;;;;;;;;;;;;;;;:19;;;;;;:25;;;;;:::i;:::-;1544;1554:4;1560:8;1544:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1544:25:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1439:135;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;326:96:30:-;413:4;393;:11;;:17;405:4;393:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;326:96;;:::o;74:1146:22:-;;;;;;;", + "deployedSourceMap": "74:1146:22:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;941:110:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;944:274:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;944:274:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;632:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;632:89:22;;;;;;1189:132:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1189:132:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;822:80:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;822:80:22;;;;;;554:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;554:74:22;;;;;;725:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;725:93:22;;;;;;1151:120:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1151:120:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;914:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;914:114:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;653:143:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;653:143:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;391:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;391:43: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;391:43:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110:28;1019:27;1041:4;1019:5;1025:8;1019:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1019:15:28;;;;;;;;;;;;;;;;;;;;;:21;;:27;;;;:::i;:::-;941:110;;:::o;944:274:22:-;541:33:29;551:10;563;;;;;;;;;;;;;;;;;;541:9;:33::i;:::-;1112:30:22;1122:5;1129:12;;;;;;;;;;;;;;;;;;1112:9;:30::i;:::-;1182:31;1193:5;1200:12;;;;;;;;;;;;;;;;;;1182:10;:31::i;:::-;944:274;:::o;632:89::-;678:12;;;;;;;;;;;;;;;;;;2035:31:28;2045:10;2057:8;2035:9;:31::i;:::-;632:89:22;:::o;1189:132:28:-;1270:4;1291:25;1311:4;1291:5;1297:8;1291:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1291:15:28;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1284:32;;1189:132;;;;:::o;822:80:22:-;1992:86:28;;;;;;;;;;;;;;;;;;2035:31;2045:10;2057:8;2035:9;:31::i;:::-;822:80:22;:::o;554:74::-;541:33:29;551:10;563;;;;;;;;;;;;;;;;;;541:9;:33::i;:::-;554:74:22:o;725:93::-;212:31;220:10;232;;;;;;;;;;;;;;;;;;212:7;:31::i;:::-;:74;;;;253:33;261:10;273:12;;;;;;;;;;;;;;;;;;253:7;:33::i;:::-;212:74;197:95;;;;;;;;725:93::o;1151:120:29:-;541:33;551:10;563;;;;;;;;;;;;;;;;;;541:9;:33::i;:::-;1240:26;1251:4;1257:8;1240:10;:26::i;:::-;1151:120;;:::o;914:114::-;541:33;551:10;563;;;;;;;;;;;;;;;;;;541:9;:33::i;:::-;1000:23;1008:4;1014:8;1000:7;:23::i;:::-;914:114;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;653:143:29:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;758:33:29;766:12;780:10;;;;;;;;;;;;;;;;;;758:7;:33::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;653:143:29;;;:::o;391:43::-;;;;;;;;;;;;;;;;;;;;:::o;663:107:30:-;749:15;753:4;759;749:3;:15::i;:::-;741:24;;;;;;;;663:107;;:::o;1697:143:28:-;1769:28;1792:4;1769:5;1775:8;1769:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1769:15:28;;;;;;;;;;;;;;;;;;;;;:22;;:28;;;;:::i;:::-;1808:27;1820:4;1826:8;1808:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1808:27:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1697:143;;:::o;848:124:30:-;929:4;950;:11;;:17;962:4;950:17;;;;;;;;;;;;;;;;;;;;;;;;;943:24;;848:124;;;;:::o;1439:135:28:-;1508:25;1528:4;1508:5;1514:8;1508:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1508:15:28;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1544;1554:4;1560:8;1544:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1544:25:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1439:135;;:::o;487:100:30:-;577:5;557:4;:11;;:17;569:4;557:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;487:100;;:::o;326:96::-;413:4;393;:11;;:17;405:4;393:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;326:96;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"../ownership/rbac/RBACWithAdmin.sol\";\n\n\ncontract RBACMock is RBACWithAdmin {\n\n string constant ROLE_ADVISOR = \"advisor\";\n\n modifier onlyAdminOrAdvisor()\n {\n require(\n hasRole(msg.sender, ROLE_ADMIN) ||\n hasRole(msg.sender, ROLE_ADVISOR)\n );\n _;\n }\n\n function RBACMock(address[] _advisors)\n public\n {\n RBACWithAdmin.initialize(msg.sender);\n\n addRole(msg.sender, ROLE_ADVISOR);\n\n for (uint256 i = 0; i < _advisors.length; i++) {\n addRole(_advisors[i], ROLE_ADVISOR);\n }\n }\n\n function onlyAdminsCanDoThis()\n onlyAdmin\n view\n external\n {\n }\n\n function onlyAdvisorsCanDoThis()\n onlyRole(ROLE_ADVISOR)\n view\n external\n {\n }\n\n function eitherAdminOrAdvisorCanDoThis()\n onlyAdminOrAdvisor\n view\n external\n {\n }\n\n function nobodyCanDoThis()\n onlyRole(\"unknown\")\n view\n external\n {\n }\n\n // admins can remove advisor's role\n function removeAdvisor(address _addr)\n onlyAdmin\n public\n {\n // revert if the user isn't an advisor\n // (perhaps you want to soft-fail here instead?)\n checkRole(_addr, ROLE_ADVISOR);\n\n // remove the advisor's role\n removeRole(_addr, ROLE_ADVISOR);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/RBACMock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/RBACMock.sol", "exportedSymbols": { "RBACMock": [ - 1162 + 1210 ] }, - "id": 1163, + "id": 1211, "nodeType": "SourceUnit", "nodes": [ { - "id": 1053, + "id": 1101, "literals": [ "solidity", "^", @@ -267,16 +267,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:20" + "src": "0:24:22" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/rbac/RBACWithAdmin.sol", "file": "../ownership/rbac/RBACWithAdmin.sol", - "id": 1054, + "id": 1102, "nodeType": "ImportDirective", - "scope": 1163, - "sourceUnit": 1755, - "src": "26:45:20", + "scope": 1211, + "sourceUnit": 1803, + "src": "26:45:22", "symbolAliases": [], "unitAlias": "" }, @@ -286,46 +286,46 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1055, + "id": 1103, "name": "RBACWithAdmin", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1754, - "src": "95:13:20", + "referencedDeclaration": 1802, + "src": "95:13:22", "typeDescriptions": { - "typeIdentifier": "t_contract$_RBACWithAdmin_$1754", + "typeIdentifier": "t_contract$_RBACWithAdmin_$1802", "typeString": "contract RBACWithAdmin" } }, - "id": 1056, + "id": 1104, "nodeType": "InheritanceSpecifier", - "src": "95:13:20" + "src": "95:13:22" } ], "contractDependencies": [ - 1687, - 1754, - 4769 + 1735, + 1802, + 4864 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1162, + "id": 1210, "linearizedBaseContracts": [ - 1162, - 1754, - 4769, - 1687 + 1210, + 1802, + 4864, + 1735 ], "name": "RBACMock", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, - "id": 1059, + "id": 1107, "name": "ROLE_ADVISOR", "nodeType": "VariableDeclaration", - "scope": 1162, - "src": "114:40:20", + "scope": 1210, + "src": "114:40:22", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -333,10 +333,10 @@ "typeString": "string" }, "typeName": { - "id": 1057, + "id": 1105, "name": "string", "nodeType": "ElementaryTypeName", - "src": "114:6:20", + "src": "114:6:22", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -345,14 +345,14 @@ "value": { "argumentTypes": null, "hexValue": "61647669736f72", - "id": 1058, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "145:9:20", + "src": "145:9:22", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_bd088c99b1e7efe40c6cc6be0a2e3be210440eae7c30ad96be78208250e94186", @@ -364,9 +364,9 @@ }, { "body": { - "id": 1076, + "id": 1124, "nodeType": "Block", - "src": "191:113:20", + "src": "191:113:22", "statements": [ { "expression": { @@ -378,7 +378,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1072, + "id": 1120, "isConstant": false, "isLValue": false, "isPure": false, @@ -390,18 +390,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1063, + "id": 1111, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "220:3:20", + "referencedDeclaration": 4879, + "src": "220:3:22", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1064, + "id": 1112, "isConstant": false, "isLValue": false, "isPure": false, @@ -409,7 +409,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "220:10:20", + "src": "220:10:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -417,12 +417,12 @@ }, { "argumentTypes": null, - "id": 1065, + "id": 1113, "name": "ROLE_ADMIN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "232:10:20", + "referencedDeclaration": 1746, + "src": "232:10:22", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" @@ -440,18 +440,18 @@ "typeString": "string memory" } ], - "id": 1062, + "id": 1110, "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1634, - "src": "212:7:20", + "referencedDeclaration": 1682, + "src": "212:7:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,string memory) view returns (bool)" } }, - "id": 1066, + "id": 1114, "isConstant": false, "isLValue": false, "isPure": false, @@ -459,7 +459,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "212:31:20", + "src": "212:31:22", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -474,18 +474,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1068, + "id": 1116, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "261:3:20", + "referencedDeclaration": 4879, + "src": "261:3:22", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1069, + "id": 1117, "isConstant": false, "isLValue": false, "isPure": false, @@ -493,7 +493,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "261:10:20", + "src": "261:10:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -501,12 +501,12 @@ }, { "argumentTypes": null, - "id": 1070, + "id": 1118, "name": "ROLE_ADVISOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "273:12:20", + "referencedDeclaration": 1107, + "src": "273:12:22", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" @@ -524,18 +524,18 @@ "typeString": "string memory" } ], - "id": 1067, + "id": 1115, "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1634, - "src": "253:7:20", + "referencedDeclaration": 1682, + "src": "253:7:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,string memory) view returns (bool)" } }, - "id": 1071, + "id": 1119, "isConstant": false, "isLValue": false, "isPure": false, @@ -543,13 +543,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "253:33:20", + "src": "253:33:22", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "212:74:20", + "src": "212:74:22", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -563,21 +563,21 @@ "typeString": "bool" } ], - "id": 1061, + "id": 1109, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "197:7:20", + "referencedDeclaration": 4882, + "src": "197:7:22", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1073, + "id": 1121, "isConstant": false, "isLValue": false, "isPure": false, @@ -585,41 +585,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "197:95:20", + "src": "197:95:22", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1074, + "id": 1122, "nodeType": "ExpressionStatement", - "src": "197:95:20" + "src": "197:95:22" }, { - "id": 1075, + "id": 1123, "nodeType": "PlaceholderStatement", - "src": "298:1:20" + "src": "298:1:22" } ] }, "documentation": null, - "id": 1077, + "id": 1125, "name": "onlyAdminOrAdvisor", "nodeType": "ModifierDefinition", "parameters": { - "id": 1060, + "id": 1108, "nodeType": "ParameterList", "parameters": [], - "src": "186:2:20" + "src": "186:2:22" }, - "src": "159:145:20", + "src": "159:145:22", "visibility": "internal" }, { "body": { - "id": 1116, + "id": 1164, "nodeType": "Block", - "src": "360:190:20", + "src": "360:190:22", "statements": [ { "expression": { @@ -629,18 +629,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1086, + "id": 1134, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "391:3:20", + "referencedDeclaration": 4879, + "src": "391:3:22", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1087, + "id": 1135, "isConstant": false, "isLValue": false, "isPure": false, @@ -648,7 +648,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "391:10:20", + "src": "391:10:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -664,32 +664,32 @@ ], "expression": { "argumentTypes": null, - "id": 1083, + "id": 1131, "name": "RBACWithAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1754, - "src": "366:13:20", + "referencedDeclaration": 1802, + "src": "366:13:22", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RBACWithAdmin_$1754_$", + "typeIdentifier": "t_type$_t_contract$_RBACWithAdmin_$1802_$", "typeString": "type(contract RBACWithAdmin)" } }, - "id": 1085, + "id": 1133, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1723, - "src": "366:24:20", + "referencedDeclaration": 1771, + "src": "366:24:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1088, + "id": 1136, "isConstant": false, "isLValue": false, "isPure": false, @@ -697,15 +697,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "366:36:20", + "src": "366:36:22", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1089, + "id": 1137, "nodeType": "ExpressionStatement", - "src": "366:36:20" + "src": "366:36:22" }, { "expression": { @@ -715,18 +715,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1091, + "id": 1139, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "417:3:20", + "referencedDeclaration": 4879, + "src": "417:3:22", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1092, + "id": 1140, "isConstant": false, "isLValue": false, "isPure": false, @@ -734,7 +734,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "417:10:20", + "src": "417:10:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -742,12 +742,12 @@ }, { "argumentTypes": null, - "id": 1093, + "id": 1141, "name": "ROLE_ADVISOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "429:12:20", + "referencedDeclaration": 1107, + "src": "429:12:22", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" @@ -765,18 +765,18 @@ "typeString": "string memory" } ], - "id": 1090, + "id": 1138, "name": "addRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1654, - "src": "409:7:20", + "referencedDeclaration": 1702, + "src": "409:7:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory)" } }, - "id": 1094, + "id": 1142, "isConstant": false, "isLValue": false, "isPure": false, @@ -784,21 +784,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "409:33:20", + "src": "409:33:22", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1095, + "id": 1143, "nodeType": "ExpressionStatement", - "src": "409:33:20" + "src": "409:33:22" }, { "body": { - "id": 1114, + "id": 1162, "nodeType": "Block", - "src": "496:50:20", + "src": "496:50:22", "statements": [ { "expression": { @@ -808,26 +808,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1108, + "id": 1156, "name": "_advisors", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "512:9:20", + "referencedDeclaration": 1128, + "src": "512:9:22", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 1110, + "id": 1158, "indexExpression": { "argumentTypes": null, - "id": 1109, + "id": 1157, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1097, - "src": "522:1:20", + "referencedDeclaration": 1145, + "src": "522:1:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -838,7 +838,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "512:12:20", + "src": "512:12:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -846,12 +846,12 @@ }, { "argumentTypes": null, - "id": 1111, + "id": 1159, "name": "ROLE_ADVISOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "526:12:20", + "referencedDeclaration": 1107, + "src": "526:12:22", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" @@ -869,18 +869,18 @@ "typeString": "string memory" } ], - "id": 1107, + "id": 1155, "name": "addRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1654, - "src": "504:7:20", + "referencedDeclaration": 1702, + "src": "504:7:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory)" } }, - "id": 1112, + "id": 1160, "isConstant": false, "isLValue": false, "isPure": false, @@ -888,15 +888,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "504:35:20", + "src": "504:35:22", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1113, + "id": 1161, "nodeType": "ExpressionStatement", - "src": "504:35:20" + "src": "504:35:22" } ] }, @@ -906,19 +906,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1103, + "id": 1151, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1100, + "id": 1148, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1097, - "src": "469:1:20", + "referencedDeclaration": 1145, + "src": "469:1:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -930,18 +930,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1101, + "id": 1149, "name": "_advisors", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "473:9:20", + "referencedDeclaration": 1128, + "src": "473:9:22", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 1102, + "id": 1150, "isConstant": false, "isLValue": false, "isPure": false, @@ -949,31 +949,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "473:16:20", + "src": "473:16:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "469:20:20", + "src": "469:20:22", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1115, + "id": 1163, "initializationExpression": { "assignments": [ - 1097 + 1145 ], "declarations": [ { "constant": false, - "id": 1097, + "id": 1145, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "454:9:20", + "scope": 1165, + "src": "454:9:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -981,10 +981,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1096, + "id": 1144, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "454:7:20", + "src": "454:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -994,18 +994,18 @@ "visibility": "internal" } ], - "id": 1099, + "id": 1147, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 1098, + "id": 1146, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "466:1:20", + "src": "466:1:22", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1014,12 +1014,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "454:13:20" + "src": "454:13:22" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 1105, + "id": 1153, "isConstant": false, "isLValue": false, "isPure": false, @@ -1027,15 +1027,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "491:3:20", + "src": "491:3:22", "subExpression": { "argumentTypes": null, - "id": 1104, + "id": 1152, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1097, - "src": "491:1:20", + "referencedDeclaration": 1145, + "src": "491:1:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1046,17 +1046,17 @@ "typeString": "uint256" } }, - "id": 1106, + "id": 1154, "nodeType": "ExpressionStatement", - "src": "491:3:20" + "src": "491:3:22" }, "nodeType": "ForStatement", - "src": "449:97:20" + "src": "449:97:22" } ] }, "documentation": null, - "id": 1117, + "id": 1165, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -1064,16 +1064,16 @@ "name": "RBACMock", "nodeType": "FunctionDefinition", "parameters": { - "id": 1081, + "id": 1129, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1080, + "id": 1128, "name": "_advisors", "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "326:19:20", + "scope": 1165, + "src": "326:19:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1082,19 +1082,19 @@ }, "typeName": { "baseType": { - "id": 1078, + "id": 1126, "name": "address", "nodeType": "ElementaryTypeName", - "src": "326:7:20", + "src": "326:7:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1079, + "id": 1127, "length": null, "nodeType": "ArrayTypeName", - "src": "326:9:20", + "src": "326:9:22", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -1104,84 +1104,84 @@ "visibility": "internal" } ], - "src": "325:21:20" + "src": "325:21:22" }, "payable": false, "returnParameters": { - "id": 1082, + "id": 1130, "nodeType": "ParameterList", "parameters": [], - "src": "360:0:20" + "src": "360:0:22" }, - "scope": 1162, - "src": "308:242:20", + "scope": 1210, + "src": "308:242:22", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1122, + "id": 1170, "nodeType": "Block", - "src": "623:5:20", + "src": "623:5:22", "statements": [] }, "documentation": null, - "id": 1123, + "id": 1171, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": null, - "id": 1120, + "id": 1168, "modifierName": { "argumentTypes": null, - "id": 1119, + "id": 1167, "name": "onlyAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1708, - "src": "589:9:20", + "referencedDeclaration": 1756, + "src": "589:9:22", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "589:9:20" + "src": "589:9:22" } ], "name": "onlyAdminsCanDoThis", "nodeType": "FunctionDefinition", "parameters": { - "id": 1118, + "id": 1166, "nodeType": "ParameterList", "parameters": [], - "src": "582:2:20" + "src": "582:2:22" }, "payable": false, "returnParameters": { - "id": 1121, + "id": 1169, "nodeType": "ParameterList", "parameters": [], - "src": "623:0:20" + "src": "623:0:22" }, - "scope": 1162, - "src": "554:74:20", + "scope": 1210, + "src": "554:74:22", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 1129, + "id": 1177, "nodeType": "Block", - "src": "716:5:20", + "src": "716:5:22", "statements": [] }, "documentation": null, - "id": 1130, + "id": 1178, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1190,120 +1190,120 @@ "arguments": [ { "argumentTypes": null, - "id": 1126, + "id": 1174, "name": "ROLE_ADVISOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "678:12:20", + "referencedDeclaration": 1107, + "src": "678:12:22", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" } } ], - "id": 1127, + "id": 1175, "modifierName": { "argumentTypes": null, - "id": 1125, + "id": 1173, "name": "onlyRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1686, - "src": "669:8:20", + "referencedDeclaration": 1734, + "src": "669:8:22", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", - "src": "669:22:20" + "src": "669:22:22" } ], "name": "onlyAdvisorsCanDoThis", "nodeType": "FunctionDefinition", "parameters": { - "id": 1124, + "id": 1172, "nodeType": "ParameterList", "parameters": [], - "src": "662:2:20" + "src": "662:2:22" }, "payable": false, "returnParameters": { - "id": 1128, + "id": 1176, "nodeType": "ParameterList", "parameters": [], - "src": "716:0:20" + "src": "716:0:22" }, - "scope": 1162, - "src": "632:89:20", + "scope": 1210, + "src": "632:89:22", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 1135, + "id": 1183, "nodeType": "Block", - "src": "813:5:20", + "src": "813:5:22", "statements": [] }, "documentation": null, - "id": 1136, + "id": 1184, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": null, - "id": 1133, + "id": 1181, "modifierName": { "argumentTypes": null, - "id": 1132, + "id": 1180, "name": "onlyAdminOrAdvisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1077, - "src": "770:18:20", + "referencedDeclaration": 1125, + "src": "770:18:22", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "770:18:20" + "src": "770:18:22" } ], "name": "eitherAdminOrAdvisorCanDoThis", "nodeType": "FunctionDefinition", "parameters": { - "id": 1131, + "id": 1179, "nodeType": "ParameterList", "parameters": [], - "src": "763:2:20" + "src": "763:2:22" }, "payable": false, "returnParameters": { - "id": 1134, + "id": 1182, "nodeType": "ParameterList", "parameters": [], - "src": "813:0:20" + "src": "813:0:22" }, - "scope": 1162, - "src": "725:93:20", + "scope": 1210, + "src": "725:93:22", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 1142, + "id": 1190, "nodeType": "Block", - "src": "897:5:20", + "src": "897:5:22", "statements": [] }, "documentation": null, - "id": 1143, + "id": 1191, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1313,14 +1313,14 @@ { "argumentTypes": null, "hexValue": "756e6b6e6f776e", - "id": 1139, + "id": 1187, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "862:9:20", + "src": "862:9:22", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_24695ee963d29f0f52edfdea1e830d2fcfc9052d5ba70b194bddd0afbbc89765", @@ -1329,50 +1329,50 @@ "value": "unknown" } ], - "id": 1140, + "id": 1188, "modifierName": { "argumentTypes": null, - "id": 1138, + "id": 1186, "name": "onlyRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1686, - "src": "853:8:20", + "referencedDeclaration": 1734, + "src": "853:8:22", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", - "src": "853:19:20" + "src": "853:19:22" } ], "name": "nobodyCanDoThis", "nodeType": "FunctionDefinition", "parameters": { - "id": 1137, + "id": 1185, "nodeType": "ParameterList", "parameters": [], - "src": "846:2:20" + "src": "846:2:22" }, "payable": false, "returnParameters": { - "id": 1141, + "id": 1189, "nodeType": "ParameterList", "parameters": [], - "src": "897:0:20" + "src": "897:0:22" }, - "scope": 1162, - "src": "822:80:20", + "scope": 1210, + "src": "822:80:22", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 1160, + "id": 1208, "nodeType": "Block", - "src": "1009:209:20", + "src": "1009:209:22", "statements": [ { "expression": { @@ -1380,12 +1380,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1151, + "id": 1199, "name": "_addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1145, - "src": "1122:5:20", + "referencedDeclaration": 1193, + "src": "1122:5:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1393,12 +1393,12 @@ }, { "argumentTypes": null, - "id": 1152, + "id": 1200, "name": "ROLE_ADVISOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "1129:12:20", + "referencedDeclaration": 1107, + "src": "1129:12:22", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" @@ -1416,18 +1416,18 @@ "typeString": "string memory" } ], - "id": 1150, + "id": 1198, "name": "checkRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1617, - "src": "1112:9:20", + "referencedDeclaration": 1665, + "src": "1112:9:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory) view" } }, - "id": 1153, + "id": 1201, "isConstant": false, "isLValue": false, "isPure": false, @@ -1435,15 +1435,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1112:30:20", + "src": "1112:30:22", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1154, + "id": 1202, "nodeType": "ExpressionStatement", - "src": "1112:30:20" + "src": "1112:30:22" }, { "expression": { @@ -1451,12 +1451,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1156, + "id": 1204, "name": "_addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1145, - "src": "1193:5:20", + "referencedDeclaration": 1193, + "src": "1193:5:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1464,12 +1464,12 @@ }, { "argumentTypes": null, - "id": 1157, + "id": 1205, "name": "ROLE_ADVISOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "1200:12:20", + "referencedDeclaration": 1107, + "src": "1200:12:22", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" @@ -1487,18 +1487,18 @@ "typeString": "string memory" } ], - "id": 1155, + "id": 1203, "name": "removeRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1674, - "src": "1182:10:20", + "referencedDeclaration": 1722, + "src": "1182:10:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory)" } }, - "id": 1158, + "id": 1206, "isConstant": false, "isLValue": false, "isPure": false, @@ -1506,57 +1506,57 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1182:31:20", + "src": "1182:31:22", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1159, + "id": 1207, "nodeType": "ExpressionStatement", - "src": "1182:31:20" + "src": "1182:31:22" } ] }, "documentation": null, - "id": 1161, + "id": 1209, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 1148, + "id": 1196, "modifierName": { "argumentTypes": null, - "id": 1147, + "id": 1195, "name": "onlyAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1708, - "src": "986:9:20", + "referencedDeclaration": 1756, + "src": "986:9:22", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "986:9:20" + "src": "986:9:22" } ], "name": "removeAdvisor", "nodeType": "FunctionDefinition", "parameters": { - "id": 1146, + "id": 1194, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1145, + "id": 1193, "name": "_addr", "nodeType": "VariableDeclaration", - "scope": 1161, - "src": "967:13:20", + "scope": 1209, + "src": "967:13:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1564,10 +1564,10 @@ "typeString": "address" }, "typeName": { - "id": 1144, + "id": 1192, "name": "address", "nodeType": "ElementaryTypeName", - "src": "967:7:20", + "src": "967:7:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1577,40 +1577,40 @@ "visibility": "internal" } ], - "src": "966:15:20" + "src": "966:15:22" }, "payable": false, "returnParameters": { - "id": 1149, + "id": 1197, "nodeType": "ParameterList", "parameters": [], - "src": "1009:0:20" + "src": "1009:0:22" }, - "scope": 1162, - "src": "944:274:20", + "scope": 1210, + "src": "944:274:22", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1163, - "src": "74:1146:20" + "scope": 1211, + "src": "74:1146:22" } ], - "src": "0:1221:20" + "src": "0:1221:22" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/RBACMock.sol", "exportedSymbols": { "RBACMock": [ - 1162 + 1210 ] }, - "id": 1163, + "id": 1211, "nodeType": "SourceUnit", "nodes": [ { - "id": 1053, + "id": 1101, "literals": [ "solidity", "^", @@ -1618,16 +1618,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:20" + "src": "0:24:22" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/rbac/RBACWithAdmin.sol", "file": "../ownership/rbac/RBACWithAdmin.sol", - "id": 1054, + "id": 1102, "nodeType": "ImportDirective", - "scope": 1163, - "sourceUnit": 1755, - "src": "26:45:20", + "scope": 1211, + "sourceUnit": 1803, + "src": "26:45:22", "symbolAliases": [], "unitAlias": "" }, @@ -1637,46 +1637,46 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1055, + "id": 1103, "name": "RBACWithAdmin", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1754, - "src": "95:13:20", + "referencedDeclaration": 1802, + "src": "95:13:22", "typeDescriptions": { - "typeIdentifier": "t_contract$_RBACWithAdmin_$1754", + "typeIdentifier": "t_contract$_RBACWithAdmin_$1802", "typeString": "contract RBACWithAdmin" } }, - "id": 1056, + "id": 1104, "nodeType": "InheritanceSpecifier", - "src": "95:13:20" + "src": "95:13:22" } ], "contractDependencies": [ - 1687, - 1754, - 4769 + 1735, + 1802, + 4864 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1162, + "id": 1210, "linearizedBaseContracts": [ - 1162, - 1754, - 4769, - 1687 + 1210, + 1802, + 4864, + 1735 ], "name": "RBACMock", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, - "id": 1059, + "id": 1107, "name": "ROLE_ADVISOR", "nodeType": "VariableDeclaration", - "scope": 1162, - "src": "114:40:20", + "scope": 1210, + "src": "114:40:22", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1684,10 +1684,10 @@ "typeString": "string" }, "typeName": { - "id": 1057, + "id": 1105, "name": "string", "nodeType": "ElementaryTypeName", - "src": "114:6:20", + "src": "114:6:22", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1696,14 +1696,14 @@ "value": { "argumentTypes": null, "hexValue": "61647669736f72", - "id": 1058, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "145:9:20", + "src": "145:9:22", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_bd088c99b1e7efe40c6cc6be0a2e3be210440eae7c30ad96be78208250e94186", @@ -1715,9 +1715,9 @@ }, { "body": { - "id": 1076, + "id": 1124, "nodeType": "Block", - "src": "191:113:20", + "src": "191:113:22", "statements": [ { "expression": { @@ -1729,7 +1729,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1072, + "id": 1120, "isConstant": false, "isLValue": false, "isPure": false, @@ -1741,18 +1741,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1063, + "id": 1111, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "220:3:20", + "referencedDeclaration": 4879, + "src": "220:3:22", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1064, + "id": 1112, "isConstant": false, "isLValue": false, "isPure": false, @@ -1760,7 +1760,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "220:10:20", + "src": "220:10:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1768,12 +1768,12 @@ }, { "argumentTypes": null, - "id": 1065, + "id": 1113, "name": "ROLE_ADMIN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "232:10:20", + "referencedDeclaration": 1746, + "src": "232:10:22", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" @@ -1791,18 +1791,18 @@ "typeString": "string memory" } ], - "id": 1062, + "id": 1110, "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1634, - "src": "212:7:20", + "referencedDeclaration": 1682, + "src": "212:7:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,string memory) view returns (bool)" } }, - "id": 1066, + "id": 1114, "isConstant": false, "isLValue": false, "isPure": false, @@ -1810,7 +1810,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "212:31:20", + "src": "212:31:22", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1825,18 +1825,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1068, + "id": 1116, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "261:3:20", + "referencedDeclaration": 4879, + "src": "261:3:22", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1069, + "id": 1117, "isConstant": false, "isLValue": false, "isPure": false, @@ -1844,7 +1844,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "261:10:20", + "src": "261:10:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1852,12 +1852,12 @@ }, { "argumentTypes": null, - "id": 1070, + "id": 1118, "name": "ROLE_ADVISOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "273:12:20", + "referencedDeclaration": 1107, + "src": "273:12:22", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" @@ -1875,18 +1875,18 @@ "typeString": "string memory" } ], - "id": 1067, + "id": 1115, "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1634, - "src": "253:7:20", + "referencedDeclaration": 1682, + "src": "253:7:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,string memory) view returns (bool)" } }, - "id": 1071, + "id": 1119, "isConstant": false, "isLValue": false, "isPure": false, @@ -1894,13 +1894,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "253:33:20", + "src": "253:33:22", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "212:74:20", + "src": "212:74:22", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1914,21 +1914,21 @@ "typeString": "bool" } ], - "id": 1061, + "id": 1109, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "197:7:20", + "referencedDeclaration": 4882, + "src": "197:7:22", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1073, + "id": 1121, "isConstant": false, "isLValue": false, "isPure": false, @@ -1936,41 +1936,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "197:95:20", + "src": "197:95:22", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1074, + "id": 1122, "nodeType": "ExpressionStatement", - "src": "197:95:20" + "src": "197:95:22" }, { - "id": 1075, + "id": 1123, "nodeType": "PlaceholderStatement", - "src": "298:1:20" + "src": "298:1:22" } ] }, "documentation": null, - "id": 1077, + "id": 1125, "name": "onlyAdminOrAdvisor", "nodeType": "ModifierDefinition", "parameters": { - "id": 1060, + "id": 1108, "nodeType": "ParameterList", "parameters": [], - "src": "186:2:20" + "src": "186:2:22" }, - "src": "159:145:20", + "src": "159:145:22", "visibility": "internal" }, { "body": { - "id": 1116, + "id": 1164, "nodeType": "Block", - "src": "360:190:20", + "src": "360:190:22", "statements": [ { "expression": { @@ -1980,18 +1980,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1086, + "id": 1134, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "391:3:20", + "referencedDeclaration": 4879, + "src": "391:3:22", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1087, + "id": 1135, "isConstant": false, "isLValue": false, "isPure": false, @@ -1999,7 +1999,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "391:10:20", + "src": "391:10:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2015,32 +2015,32 @@ ], "expression": { "argumentTypes": null, - "id": 1083, + "id": 1131, "name": "RBACWithAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1754, - "src": "366:13:20", + "referencedDeclaration": 1802, + "src": "366:13:22", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RBACWithAdmin_$1754_$", + "typeIdentifier": "t_type$_t_contract$_RBACWithAdmin_$1802_$", "typeString": "type(contract RBACWithAdmin)" } }, - "id": 1085, + "id": 1133, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1723, - "src": "366:24:20", + "referencedDeclaration": 1771, + "src": "366:24:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1088, + "id": 1136, "isConstant": false, "isLValue": false, "isPure": false, @@ -2048,15 +2048,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "366:36:20", + "src": "366:36:22", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1089, + "id": 1137, "nodeType": "ExpressionStatement", - "src": "366:36:20" + "src": "366:36:22" }, { "expression": { @@ -2066,18 +2066,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1091, + "id": 1139, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "417:3:20", + "referencedDeclaration": 4879, + "src": "417:3:22", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1092, + "id": 1140, "isConstant": false, "isLValue": false, "isPure": false, @@ -2085,7 +2085,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "417:10:20", + "src": "417:10:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2093,12 +2093,12 @@ }, { "argumentTypes": null, - "id": 1093, + "id": 1141, "name": "ROLE_ADVISOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "429:12:20", + "referencedDeclaration": 1107, + "src": "429:12:22", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" @@ -2116,18 +2116,18 @@ "typeString": "string memory" } ], - "id": 1090, + "id": 1138, "name": "addRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1654, - "src": "409:7:20", + "referencedDeclaration": 1702, + "src": "409:7:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory)" } }, - "id": 1094, + "id": 1142, "isConstant": false, "isLValue": false, "isPure": false, @@ -2135,21 +2135,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "409:33:20", + "src": "409:33:22", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1095, + "id": 1143, "nodeType": "ExpressionStatement", - "src": "409:33:20" + "src": "409:33:22" }, { "body": { - "id": 1114, + "id": 1162, "nodeType": "Block", - "src": "496:50:20", + "src": "496:50:22", "statements": [ { "expression": { @@ -2159,26 +2159,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1108, + "id": 1156, "name": "_advisors", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "512:9:20", + "referencedDeclaration": 1128, + "src": "512:9:22", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 1110, + "id": 1158, "indexExpression": { "argumentTypes": null, - "id": 1109, + "id": 1157, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1097, - "src": "522:1:20", + "referencedDeclaration": 1145, + "src": "522:1:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2189,7 +2189,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "512:12:20", + "src": "512:12:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2197,12 +2197,12 @@ }, { "argumentTypes": null, - "id": 1111, + "id": 1159, "name": "ROLE_ADVISOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "526:12:20", + "referencedDeclaration": 1107, + "src": "526:12:22", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" @@ -2220,18 +2220,18 @@ "typeString": "string memory" } ], - "id": 1107, + "id": 1155, "name": "addRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1654, - "src": "504:7:20", + "referencedDeclaration": 1702, + "src": "504:7:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory)" } }, - "id": 1112, + "id": 1160, "isConstant": false, "isLValue": false, "isPure": false, @@ -2239,15 +2239,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "504:35:20", + "src": "504:35:22", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1113, + "id": 1161, "nodeType": "ExpressionStatement", - "src": "504:35:20" + "src": "504:35:22" } ] }, @@ -2257,19 +2257,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1103, + "id": 1151, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1100, + "id": 1148, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1097, - "src": "469:1:20", + "referencedDeclaration": 1145, + "src": "469:1:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2281,18 +2281,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1101, + "id": 1149, "name": "_advisors", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "473:9:20", + "referencedDeclaration": 1128, + "src": "473:9:22", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 1102, + "id": 1150, "isConstant": false, "isLValue": false, "isPure": false, @@ -2300,31 +2300,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "473:16:20", + "src": "473:16:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "469:20:20", + "src": "469:20:22", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1115, + "id": 1163, "initializationExpression": { "assignments": [ - 1097 + 1145 ], "declarations": [ { "constant": false, - "id": 1097, + "id": 1145, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "454:9:20", + "scope": 1165, + "src": "454:9:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2332,10 +2332,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1096, + "id": 1144, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "454:7:20", + "src": "454:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2345,18 +2345,18 @@ "visibility": "internal" } ], - "id": 1099, + "id": 1147, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 1098, + "id": 1146, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "466:1:20", + "src": "466:1:22", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2365,12 +2365,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "454:13:20" + "src": "454:13:22" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 1105, + "id": 1153, "isConstant": false, "isLValue": false, "isPure": false, @@ -2378,15 +2378,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "491:3:20", + "src": "491:3:22", "subExpression": { "argumentTypes": null, - "id": 1104, + "id": 1152, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1097, - "src": "491:1:20", + "referencedDeclaration": 1145, + "src": "491:1:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2397,17 +2397,17 @@ "typeString": "uint256" } }, - "id": 1106, + "id": 1154, "nodeType": "ExpressionStatement", - "src": "491:3:20" + "src": "491:3:22" }, "nodeType": "ForStatement", - "src": "449:97:20" + "src": "449:97:22" } ] }, "documentation": null, - "id": 1117, + "id": 1165, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -2415,16 +2415,16 @@ "name": "RBACMock", "nodeType": "FunctionDefinition", "parameters": { - "id": 1081, + "id": 1129, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1080, + "id": 1128, "name": "_advisors", "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "326:19:20", + "scope": 1165, + "src": "326:19:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2433,19 +2433,19 @@ }, "typeName": { "baseType": { - "id": 1078, + "id": 1126, "name": "address", "nodeType": "ElementaryTypeName", - "src": "326:7:20", + "src": "326:7:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1079, + "id": 1127, "length": null, "nodeType": "ArrayTypeName", - "src": "326:9:20", + "src": "326:9:22", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -2455,84 +2455,84 @@ "visibility": "internal" } ], - "src": "325:21:20" + "src": "325:21:22" }, "payable": false, "returnParameters": { - "id": 1082, + "id": 1130, "nodeType": "ParameterList", "parameters": [], - "src": "360:0:20" + "src": "360:0:22" }, - "scope": 1162, - "src": "308:242:20", + "scope": 1210, + "src": "308:242:22", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1122, + "id": 1170, "nodeType": "Block", - "src": "623:5:20", + "src": "623:5:22", "statements": [] }, "documentation": null, - "id": 1123, + "id": 1171, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": null, - "id": 1120, + "id": 1168, "modifierName": { "argumentTypes": null, - "id": 1119, + "id": 1167, "name": "onlyAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1708, - "src": "589:9:20", + "referencedDeclaration": 1756, + "src": "589:9:22", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "589:9:20" + "src": "589:9:22" } ], "name": "onlyAdminsCanDoThis", "nodeType": "FunctionDefinition", "parameters": { - "id": 1118, + "id": 1166, "nodeType": "ParameterList", "parameters": [], - "src": "582:2:20" + "src": "582:2:22" }, "payable": false, "returnParameters": { - "id": 1121, + "id": 1169, "nodeType": "ParameterList", "parameters": [], - "src": "623:0:20" + "src": "623:0:22" }, - "scope": 1162, - "src": "554:74:20", + "scope": 1210, + "src": "554:74:22", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 1129, + "id": 1177, "nodeType": "Block", - "src": "716:5:20", + "src": "716:5:22", "statements": [] }, "documentation": null, - "id": 1130, + "id": 1178, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2541,120 +2541,120 @@ "arguments": [ { "argumentTypes": null, - "id": 1126, + "id": 1174, "name": "ROLE_ADVISOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "678:12:20", + "referencedDeclaration": 1107, + "src": "678:12:22", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" } } ], - "id": 1127, + "id": 1175, "modifierName": { "argumentTypes": null, - "id": 1125, + "id": 1173, "name": "onlyRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1686, - "src": "669:8:20", + "referencedDeclaration": 1734, + "src": "669:8:22", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", - "src": "669:22:20" + "src": "669:22:22" } ], "name": "onlyAdvisorsCanDoThis", "nodeType": "FunctionDefinition", "parameters": { - "id": 1124, + "id": 1172, "nodeType": "ParameterList", "parameters": [], - "src": "662:2:20" + "src": "662:2:22" }, "payable": false, "returnParameters": { - "id": 1128, + "id": 1176, "nodeType": "ParameterList", "parameters": [], - "src": "716:0:20" + "src": "716:0:22" }, - "scope": 1162, - "src": "632:89:20", + "scope": 1210, + "src": "632:89:22", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 1135, + "id": 1183, "nodeType": "Block", - "src": "813:5:20", + "src": "813:5:22", "statements": [] }, "documentation": null, - "id": 1136, + "id": 1184, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": null, - "id": 1133, + "id": 1181, "modifierName": { "argumentTypes": null, - "id": 1132, + "id": 1180, "name": "onlyAdminOrAdvisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1077, - "src": "770:18:20", + "referencedDeclaration": 1125, + "src": "770:18:22", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "770:18:20" + "src": "770:18:22" } ], "name": "eitherAdminOrAdvisorCanDoThis", "nodeType": "FunctionDefinition", "parameters": { - "id": 1131, + "id": 1179, "nodeType": "ParameterList", "parameters": [], - "src": "763:2:20" + "src": "763:2:22" }, "payable": false, "returnParameters": { - "id": 1134, + "id": 1182, "nodeType": "ParameterList", "parameters": [], - "src": "813:0:20" + "src": "813:0:22" }, - "scope": 1162, - "src": "725:93:20", + "scope": 1210, + "src": "725:93:22", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 1142, + "id": 1190, "nodeType": "Block", - "src": "897:5:20", + "src": "897:5:22", "statements": [] }, "documentation": null, - "id": 1143, + "id": 1191, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2664,14 +2664,14 @@ { "argumentTypes": null, "hexValue": "756e6b6e6f776e", - "id": 1139, + "id": 1187, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "862:9:20", + "src": "862:9:22", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_24695ee963d29f0f52edfdea1e830d2fcfc9052d5ba70b194bddd0afbbc89765", @@ -2680,50 +2680,50 @@ "value": "unknown" } ], - "id": 1140, + "id": 1188, "modifierName": { "argumentTypes": null, - "id": 1138, + "id": 1186, "name": "onlyRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1686, - "src": "853:8:20", + "referencedDeclaration": 1734, + "src": "853:8:22", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", - "src": "853:19:20" + "src": "853:19:22" } ], "name": "nobodyCanDoThis", "nodeType": "FunctionDefinition", "parameters": { - "id": 1137, + "id": 1185, "nodeType": "ParameterList", "parameters": [], - "src": "846:2:20" + "src": "846:2:22" }, "payable": false, "returnParameters": { - "id": 1141, + "id": 1189, "nodeType": "ParameterList", "parameters": [], - "src": "897:0:20" + "src": "897:0:22" }, - "scope": 1162, - "src": "822:80:20", + "scope": 1210, + "src": "822:80:22", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 1160, + "id": 1208, "nodeType": "Block", - "src": "1009:209:20", + "src": "1009:209:22", "statements": [ { "expression": { @@ -2731,12 +2731,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1151, + "id": 1199, "name": "_addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1145, - "src": "1122:5:20", + "referencedDeclaration": 1193, + "src": "1122:5:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2744,12 +2744,12 @@ }, { "argumentTypes": null, - "id": 1152, + "id": 1200, "name": "ROLE_ADVISOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "1129:12:20", + "referencedDeclaration": 1107, + "src": "1129:12:22", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" @@ -2767,18 +2767,18 @@ "typeString": "string memory" } ], - "id": 1150, + "id": 1198, "name": "checkRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1617, - "src": "1112:9:20", + "referencedDeclaration": 1665, + "src": "1112:9:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory) view" } }, - "id": 1153, + "id": 1201, "isConstant": false, "isLValue": false, "isPure": false, @@ -2786,15 +2786,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1112:30:20", + "src": "1112:30:22", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1154, + "id": 1202, "nodeType": "ExpressionStatement", - "src": "1112:30:20" + "src": "1112:30:22" }, { "expression": { @@ -2802,12 +2802,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1156, + "id": 1204, "name": "_addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1145, - "src": "1193:5:20", + "referencedDeclaration": 1193, + "src": "1193:5:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2815,12 +2815,12 @@ }, { "argumentTypes": null, - "id": 1157, + "id": 1205, "name": "ROLE_ADVISOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "1200:12:20", + "referencedDeclaration": 1107, + "src": "1200:12:22", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" @@ -2838,18 +2838,18 @@ "typeString": "string memory" } ], - "id": 1155, + "id": 1203, "name": "removeRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1674, - "src": "1182:10:20", + "referencedDeclaration": 1722, + "src": "1182:10:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory)" } }, - "id": 1158, + "id": 1206, "isConstant": false, "isLValue": false, "isPure": false, @@ -2857,57 +2857,57 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1182:31:20", + "src": "1182:31:22", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1159, + "id": 1207, "nodeType": "ExpressionStatement", - "src": "1182:31:20" + "src": "1182:31:22" } ] }, "documentation": null, - "id": 1161, + "id": 1209, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 1148, + "id": 1196, "modifierName": { "argumentTypes": null, - "id": 1147, + "id": 1195, "name": "onlyAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1708, - "src": "986:9:20", + "referencedDeclaration": 1756, + "src": "986:9:22", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "986:9:20" + "src": "986:9:22" } ], "name": "removeAdvisor", "nodeType": "FunctionDefinition", "parameters": { - "id": 1146, + "id": 1194, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1145, + "id": 1193, "name": "_addr", "nodeType": "VariableDeclaration", - "scope": 1161, - "src": "967:13:20", + "scope": 1209, + "src": "967:13:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2915,10 +2915,10 @@ "typeString": "address" }, "typeName": { - "id": 1144, + "id": 1192, "name": "address", "nodeType": "ElementaryTypeName", - "src": "967:7:20", + "src": "967:7:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2928,33 +2928,33 @@ "visibility": "internal" } ], - "src": "966:15:20" + "src": "966:15:22" }, "payable": false, "returnParameters": { - "id": 1149, + "id": 1197, "nodeType": "ParameterList", "parameters": [], - "src": "1009:0:20" + "src": "1009:0:22" }, - "scope": 1162, - "src": "944:274:20", + "scope": 1210, + "src": "944:274:22", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1163, - "src": "74:1146:20" + "scope": 1211, + "src": "74:1146:22" } ], - "src": "0:1221:20" + "src": "0:1221:22" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.623Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.206Z" } \ No newline at end of file diff --git a/build/contracts/RBACWithAdmin.json b/build/contracts/RBACWithAdmin.json index 59eb804a8..dce3c46d2 100644 --- a/build/contracts/RBACWithAdmin.json +++ b/build/contracts/RBACWithAdmin.json @@ -181,24 +181,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50610ddc806100206000396000f300608060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c14610088578063217fe6c61461011157806388cee87e146101b2578063b25fa92c1461023b578063c0bac1a8146102c4578063c4d66de81461038b578063d391014b146103ce575b600080fd5b34801561009457600080fd5b5061010f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061045e565b005b34801561011d57600080fd5b50610198600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506104df565b604051808215151515815260200191505060405180910390f35b3480156101be57600080fd5b50610239600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610566565b005b34801561024757600080fd5b506102c2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506105b3565b005b3480156102d057600080fd5b50610371600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610600565b604051808215151515815260200191505060405180910390f35b34801561039757600080fd5b506103cc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106ec565b005b3480156103da57600080fd5b506103e36109a7565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610423578082015181840152602081019050610408565b50505050905090810190601f1680156104505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104db826000836040518082805190602001908083835b60208310151561049a5780518252602082019150602081019050602083039250610475565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206109e090919063ffffffff16565b5050565b600061055e836000846040518082805190602001908083835b60208310151561051d57805182526020820191506020810190506020830392506104f8565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206109f990919063ffffffff16565b905092915050565b6105a5336040805190810160405280600581526020017f61646d696e00000000000000000000000000000000000000000000000000000081525061045e565b6105af8282610a52565b5050565b6105f2336040805190810160405280600581526020017f61646d696e00000000000000000000000000000000000000000000000000000081525061045e565b6105fc8282610ba3565b5050565b60006001836040518082805190602001908083835b60208310151561063a5780518252602082019150602081019050602083039250610615565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156106a3578051825260208201915060208101905060208303925061067e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f524241435769746841646d696e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506107628282610600565b15151561076e57600080fd5b6107ad836040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610ba3565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156108145780820151818401526020810190506107f9565b50505050905090810190601f1680156108415780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561087a57808201518184015260208101905061085f565b50505050905090810190601f1680156108a75780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1600180836040518082805190602001908083835b6020831015156108ef57805182526020820191506020810190506020830392506108ca565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156109585780518252602082019150602081019050602083039250610933565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6040805190810160405280600581526020017f61646d696e00000000000000000000000000000000000000000000000000000081525081565b6109ea82826109f9565b15156109f557600080fd5b5050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610acf826000836040518082805190602001908083835b602083101515610a8e5780518252602082019150602081019050602083039250610a69565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610cf490919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b64578082015181840152602081019050610b49565b50505050905090810190601f168015610b915780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b610c20826000836040518082805190602001908083835b602083101515610bdf5780518252602082019150602081019050602083039250610bba565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610d5290919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610cb5578082015181840152602081019050610c9a565b50505050905090810190601f168015610ce25780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505600a165627a7a72305820a6d42a485c635a690f1f384169e5f1d2aa99658fcd2a65393ebb702a1fc35e400029", - "deployedBytecode": "0x608060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c14610088578063217fe6c61461011157806388cee87e146101b2578063b25fa92c1461023b578063c0bac1a8146102c4578063c4d66de81461038b578063d391014b146103ce575b600080fd5b34801561009457600080fd5b5061010f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061045e565b005b34801561011d57600080fd5b50610198600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506104df565b604051808215151515815260200191505060405180910390f35b3480156101be57600080fd5b50610239600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610566565b005b34801561024757600080fd5b506102c2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506105b3565b005b3480156102d057600080fd5b50610371600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610600565b604051808215151515815260200191505060405180910390f35b34801561039757600080fd5b506103cc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106ec565b005b3480156103da57600080fd5b506103e36109a7565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610423578082015181840152602081019050610408565b50505050905090810190601f1680156104505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104db826000836040518082805190602001908083835b60208310151561049a5780518252602082019150602081019050602083039250610475565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206109e090919063ffffffff16565b5050565b600061055e836000846040518082805190602001908083835b60208310151561051d57805182526020820191506020810190506020830392506104f8565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206109f990919063ffffffff16565b905092915050565b6105a5336040805190810160405280600581526020017f61646d696e00000000000000000000000000000000000000000000000000000081525061045e565b6105af8282610a52565b5050565b6105f2336040805190810160405280600581526020017f61646d696e00000000000000000000000000000000000000000000000000000081525061045e565b6105fc8282610ba3565b5050565b60006001836040518082805190602001908083835b60208310151561063a5780518252602082019150602081019050602083039250610615565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156106a3578051825260208201915060208101905060208303925061067e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f524241435769746841646d696e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506107628282610600565b15151561076e57600080fd5b6107ad836040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610ba3565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156108145780820151818401526020810190506107f9565b50505050905090810190601f1680156108415780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561087a57808201518184015260208101905061085f565b50505050905090810190601f1680156108a75780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1600180836040518082805190602001908083835b6020831015156108ef57805182526020820191506020810190506020830392506108ca565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156109585780518252602082019150602081019050602083039250610933565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6040805190810160405280600581526020017f61646d696e00000000000000000000000000000000000000000000000000000081525081565b6109ea82826109f9565b15156109f557600080fd5b5050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610acf826000836040518082805190602001908083835b602083101515610a8e5780518252602082019150602081019050602083039250610a69565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610cf490919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b64578082015181840152602081019050610b49565b50505050905090810190601f168015610b915780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b610c20826000836040518082805190602001908083835b602083101515610bdf5780518252602082019150602081019050602083039250610bba565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610d5290919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610cb5578082015181840152602081019050610c9a565b50505050905090810190601f168015610ce25780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505600a165627a7a72305820a6d42a485c635a690f1f384169e5f1d2aa99658fcd2a65393ebb702a1fc35e400029", - "sourceMap": "283:990:27:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;283:990:27;;;;;;;", - "deployedSourceMap": "283:990:27:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;941:110:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1189:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1189:132:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1151:120:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1151:120:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;914:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;914:114:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;653:143:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;653:143:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;391:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;391:43:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;391:43:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110:26;1019:27;1041:4;1019:5;1025:8;1019:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1019:15:26;;;;;;;;;;;;;;;;;;;;;:21;;:27;;;;:::i;:::-;941:110;;:::o;1189:132::-;1270:4;1291:25;1311:4;1291:5;1297:8;1291:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1291:15:26;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1284:32;;1189:132;;;;:::o;1151:120:27:-;541:33;551:10;563;;;;;;;;;;;;;;;;;;541:9;:33::i;:::-;1240:26;1251:4;1257:8;1240:10;:26::i;:::-;1151:120;;:::o;914:114::-;541:33;551:10;563;;;;;;;;;;;;;;;;;;541:9;:33::i;:::-;1000:23;1008:4;1014:8;1000:7;:23::i;:::-;914:114;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;653:143:27:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;758:33:27;766:12;780:10;;;;;;;;;;;;;;;;;;758:7;:33::i;:::-;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;653:143:27;;;:::o;391:43::-;;;;;;;;;;;;;;;;;;;;:::o;663:107:28:-;749:15;753:4;759;749:3;:15::i;:::-;741:24;;;;;;;;663:107;;:::o;848:124::-;929:4;950;:11;;:17;962:4;950:17;;;;;;;;;;;;;;;;;;;;;;;;;943:24;;848:124;;;;:::o;1697:143:26:-;1769:28;1792:4;1769:5;1775:8;1769:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1769:15:26;;;;;;;;;;;;;;;;;;;;;:22;;:28;;;;:::i;:::-;1808:27;1820:4;1826:8;1808:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1808:27:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1697:143;;:::o;1439:135::-;1508:25;1528:4;1508:5;1514:8;1508:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1508:15:26;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1544;1554:4;1560:8;1544:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1544:25:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1439:135;;:::o;487:100:28:-;577:5;557:4;:11;;:17;569:4;557:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;487:100;;:::o;326:96::-;413:4;393;:11;;:17;405:4;393:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;326:96;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b50610ddc806100206000396000f300608060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c14610088578063217fe6c61461011157806388cee87e146101b2578063b25fa92c1461023b578063c0bac1a8146102c4578063c4d66de81461038b578063d391014b146103ce575b600080fd5b34801561009457600080fd5b5061010f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061045e565b005b34801561011d57600080fd5b50610198600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506104df565b604051808215151515815260200191505060405180910390f35b3480156101be57600080fd5b50610239600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610566565b005b34801561024757600080fd5b506102c2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506105b3565b005b3480156102d057600080fd5b50610371600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610600565b604051808215151515815260200191505060405180910390f35b34801561039757600080fd5b506103cc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106ec565b005b3480156103da57600080fd5b506103e36109a7565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610423578082015181840152602081019050610408565b50505050905090810190601f1680156104505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104db826000836040518082805190602001908083835b60208310151561049a5780518252602082019150602081019050602083039250610475565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206109e090919063ffffffff16565b5050565b600061055e836000846040518082805190602001908083835b60208310151561051d57805182526020820191506020810190506020830392506104f8565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206109f990919063ffffffff16565b905092915050565b6105a5336040805190810160405280600581526020017f61646d696e00000000000000000000000000000000000000000000000000000081525061045e565b6105af8282610a52565b5050565b6105f2336040805190810160405280600581526020017f61646d696e00000000000000000000000000000000000000000000000000000081525061045e565b6105fc8282610ba3565b5050565b60006001836040518082805190602001908083835b60208310151561063a5780518252602082019150602081019050602083039250610615565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156106a3578051825260208201915060208101905060208303925061067e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f524241435769746841646d696e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506107628282610600565b15151561076e57600080fd5b6107ad836040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610ba3565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156108145780820151818401526020810190506107f9565b50505050905090810190601f1680156108415780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561087a57808201518184015260208101905061085f565b50505050905090810190601f1680156108a75780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1600180836040518082805190602001908083835b6020831015156108ef57805182526020820191506020810190506020830392506108ca565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156109585780518252602082019150602081019050602083039250610933565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6040805190810160405280600581526020017f61646d696e00000000000000000000000000000000000000000000000000000081525081565b6109ea82826109f9565b15156109f557600080fd5b5050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610acf826000836040518082805190602001908083835b602083101515610a8e5780518252602082019150602081019050602083039250610a69565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610cf490919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b64578082015181840152602081019050610b49565b50505050905090810190601f168015610b915780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b610c20826000836040518082805190602001908083835b602083101515610bdf5780518252602082019150602081019050602083039250610bba565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610d5290919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610cb5578082015181840152602081019050610c9a565b50505050905090810190601f168015610ce25780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505600a165627a7a72305820e17ed641a82176bfaf48bc0502b43a31dd75fcfca09d66d704fd018d3781e67b0029", + "deployedBytecode": "0x608060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c14610088578063217fe6c61461011157806388cee87e146101b2578063b25fa92c1461023b578063c0bac1a8146102c4578063c4d66de81461038b578063d391014b146103ce575b600080fd5b34801561009457600080fd5b5061010f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061045e565b005b34801561011d57600080fd5b50610198600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506104df565b604051808215151515815260200191505060405180910390f35b3480156101be57600080fd5b50610239600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610566565b005b34801561024757600080fd5b506102c2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506105b3565b005b3480156102d057600080fd5b50610371600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610600565b604051808215151515815260200191505060405180910390f35b34801561039757600080fd5b506103cc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106ec565b005b3480156103da57600080fd5b506103e36109a7565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610423578082015181840152602081019050610408565b50505050905090810190601f1680156104505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104db826000836040518082805190602001908083835b60208310151561049a5780518252602082019150602081019050602083039250610475565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206109e090919063ffffffff16565b5050565b600061055e836000846040518082805190602001908083835b60208310151561051d57805182526020820191506020810190506020830392506104f8565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206109f990919063ffffffff16565b905092915050565b6105a5336040805190810160405280600581526020017f61646d696e00000000000000000000000000000000000000000000000000000081525061045e565b6105af8282610a52565b5050565b6105f2336040805190810160405280600581526020017f61646d696e00000000000000000000000000000000000000000000000000000081525061045e565b6105fc8282610ba3565b5050565b60006001836040518082805190602001908083835b60208310151561063a5780518252602082019150602081019050602083039250610615565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156106a3578051825260208201915060208101905060208303925061067e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f524241435769746841646d696e000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506107628282610600565b15151561076e57600080fd5b6107ad836040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250610ba3565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156108145780820151818401526020810190506107f9565b50505050905090810190601f1680156108415780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561087a57808201518184015260208101905061085f565b50505050905090810190601f1680156108a75780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1600180836040518082805190602001908083835b6020831015156108ef57805182526020820191506020810190506020830392506108ca565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156109585780518252602082019150602081019050602083039250610933565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6040805190810160405280600581526020017f61646d696e00000000000000000000000000000000000000000000000000000081525081565b6109ea82826109f9565b15156109f557600080fd5b5050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610acf826000836040518082805190602001908083835b602083101515610a8e5780518252602082019150602081019050602083039250610a69565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610cf490919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b64578082015181840152602081019050610b49565b50505050905090810190601f168015610b915780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b610c20826000836040518082805190602001908083835b602083101515610bdf5780518252602082019150602081019050602083039250610bba565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610d5290919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610cb5578082015181840152602081019050610c9a565b50505050905090810190601f168015610ce25780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505600a165627a7a72305820e17ed641a82176bfaf48bc0502b43a31dd75fcfca09d66d704fd018d3781e67b0029", + "sourceMap": "283:990:29:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;283:990:29;;;;;;;", + "deployedSourceMap": "283:990:29:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;941:110:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1189:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1189:132:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1151:120:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1151:120:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;914:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;914:114:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;653:143:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;653:143:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;391:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;391:43: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;391:43:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110:28;1019:27;1041:4;1019:5;1025:8;1019:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1019:15:28;;;;;;;;;;;;;;;;;;;;;:21;;:27;;;;:::i;:::-;941:110;;:::o;1189:132::-;1270:4;1291:25;1311:4;1291:5;1297:8;1291:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1291:15:28;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1284:32;;1189:132;;;;:::o;1151:120:29:-;541:33;551:10;563;;;;;;;;;;;;;;;;;;541:9;:33::i;:::-;1240:26;1251:4;1257:8;1240:10;:26::i;:::-;1151:120;;:::o;914:114::-;541:33;551:10;563;;;;;;;;;;;;;;;;;;541:9;:33::i;:::-;1000:23;1008:4;1014:8;1000:7;:23::i;:::-;914:114;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;653:143:29:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;758:33:29;766:12;780:10;;;;;;;;;;;;;;;;;;758:7;:33::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;653:143:29;;;:::o;391:43::-;;;;;;;;;;;;;;;;;;;;:::o;663:107:30:-;749:15;753:4;759;749:3;:15::i;:::-;741:24;;;;;;;;663:107;;:::o;848:124::-;929:4;950;:11;;:17;962:4;950:17;;;;;;;;;;;;;;;;;;;;;;;;;943:24;;848:124;;;;:::o;1697:143:28:-;1769:28;1792:4;1769:5;1775:8;1769:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1769:15:28;;;;;;;;;;;;;;;;;;;;;:22;;:28;;;;:::i;:::-;1808:27;1820:4;1826:8;1808:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1808:27:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1697:143;;:::o;1439:135::-;1508:25;1528:4;1508:5;1514:8;1508:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1508:15:28;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1544;1554:4;1560:8;1544:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1544:25:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1439:135;;:::o;487:100:30:-;577:5;557:4;:11;;:17;569:4;557:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;487:100;;:::o;326:96::-;413:4;393;:11;;:17;405:4;393:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;326:96;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"./RBAC.sol\";\nimport \"zos-lib/contracts/migrations/Migratable.sol\";\n\n\n/**\n * @title RBACWithAdmin\n * @author Matt Condon (@Shrugs)\n * @dev It's recommended that you define constants in the contract,\n * @dev like ROLE_ADMIN below, to avoid typos.\n */\ncontract RBACWithAdmin is RBAC, Migratable {\n /**\n * A constant role name for indicating admins.\n */\n string public constant ROLE_ADMIN = \"admin\";\n\n /**\n * @dev modifier to scope access to admins\n * // reverts\n */\n modifier onlyAdmin()\n {\n checkRole(msg.sender, ROLE_ADMIN);\n _;\n }\n\n /**\n * @dev constructor. Sets initialAdmin as admin.\n */\n function initialize(address initialAdmin)\n isInitializer(\"RBACWithAdmin\", \"1.9.0\")\n public\n {\n addRole(initialAdmin, ROLE_ADMIN);\n }\n\n /**\n * @dev add a role to an address\n * @param addr address\n * @param roleName the name of the role\n */\n function adminAddRole(address addr, string roleName)\n onlyAdmin\n public\n {\n addRole(addr, roleName);\n }\n\n /**\n * @dev remove a role from an address\n * @param addr address\n * @param roleName the name of the role\n */\n function adminRemoveRole(address addr, string roleName)\n onlyAdmin\n public\n {\n removeRole(addr, roleName);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/rbac/RBACWithAdmin.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/rbac/RBACWithAdmin.sol", "exportedSymbols": { "RBACWithAdmin": [ - 1754 + 1802 ] }, - "id": 1755, + "id": 1803, "nodeType": "SourceUnit", "nodes": [ { - "id": 1689, + "id": 1737, "literals": [ "solidity", "^", @@ -206,27 +206,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:27" + "src": "0:24:29" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/rbac/RBAC.sol", "file": "./RBAC.sol", - "id": 1690, + "id": 1738, "nodeType": "ImportDirective", - "scope": 1755, - "sourceUnit": 1688, - "src": "26:20:27", + "scope": 1803, + "sourceUnit": 1736, + "src": "26:20:29", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 1691, + "id": 1739, "nodeType": "ImportDirective", - "scope": 1755, - "sourceUnit": 4770, - "src": "47:53:27", + "scope": 1803, + "sourceUnit": 4865, + "src": "47:53:29", "symbolAliases": [], "unitAlias": "" }, @@ -236,62 +236,62 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1692, + "id": 1740, "name": "RBAC", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1687, - "src": "309:4:27", + "referencedDeclaration": 1735, + "src": "309:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_RBAC_$1687", + "typeIdentifier": "t_contract$_RBAC_$1735", "typeString": "contract RBAC" } }, - "id": 1693, + "id": 1741, "nodeType": "InheritanceSpecifier", - "src": "309:4:27" + "src": "309:4:29" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 1694, + "id": 1742, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "315:10:27", + "referencedDeclaration": 4864, + "src": "315:10:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 1695, + "id": 1743, "nodeType": "InheritanceSpecifier", - "src": "315:10:27" + "src": "315:10:29" } ], "contractDependencies": [ - 1687, - 4769 + 1735, + 4864 ], "contractKind": "contract", "documentation": "@title RBACWithAdmin\n@author Matt Condon (@Shrugs)\n@dev It's recommended that you define constants in the contract,\n@dev like ROLE_ADMIN below, to avoid typos.", "fullyImplemented": true, - "id": 1754, + "id": 1802, "linearizedBaseContracts": [ - 1754, - 4769, - 1687 + 1802, + 4864, + 1735 ], "name": "RBACWithAdmin", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, - "id": 1698, + "id": 1746, "name": "ROLE_ADMIN", "nodeType": "VariableDeclaration", - "scope": 1754, - "src": "391:43:27", + "scope": 1802, + "src": "391:43:29", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -299,10 +299,10 @@ "typeString": "string" }, "typeName": { - "id": 1696, + "id": 1744, "name": "string", "nodeType": "ElementaryTypeName", - "src": "391:6:27", + "src": "391:6:29", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -311,14 +311,14 @@ "value": { "argumentTypes": null, "hexValue": "61646d696e", - "id": 1697, + "id": 1745, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "427:7:27", + "src": "427:7:29", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8", @@ -330,9 +330,9 @@ }, { "body": { - "id": 1707, + "id": 1755, "nodeType": "Block", - "src": "535:51:27", + "src": "535:51:29", "statements": [ { "expression": { @@ -342,18 +342,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1701, + "id": 1749, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "551:3:27", + "referencedDeclaration": 4879, + "src": "551:3:29", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1702, + "id": 1750, "isConstant": false, "isLValue": false, "isPure": false, @@ -361,7 +361,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "551:10:27", + "src": "551:10:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -369,12 +369,12 @@ }, { "argumentTypes": null, - "id": 1703, + "id": 1751, "name": "ROLE_ADMIN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "563:10:27", + "referencedDeclaration": 1746, + "src": "563:10:29", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" @@ -392,18 +392,18 @@ "typeString": "string memory" } ], - "id": 1700, + "id": 1748, "name": "checkRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1617, - "src": "541:9:27", + "referencedDeclaration": 1665, + "src": "541:9:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory) view" } }, - "id": 1704, + "id": 1752, "isConstant": false, "isLValue": false, "isPure": false, @@ -411,41 +411,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "541:33:27", + "src": "541:33:29", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1705, + "id": 1753, "nodeType": "ExpressionStatement", - "src": "541:33:27" + "src": "541:33:29" }, { - "id": 1706, + "id": 1754, "nodeType": "PlaceholderStatement", - "src": "580:1:27" + "src": "580:1:29" } ] }, "documentation": "@dev modifier to scope access to admins\n// reverts", - "id": 1708, + "id": 1756, "name": "onlyAdmin", "nodeType": "ModifierDefinition", "parameters": { - "id": 1699, + "id": 1747, "nodeType": "ParameterList", "parameters": [], - "src": "530:2:27" + "src": "530:2:29" }, - "src": "512:74:27", + "src": "512:74:29", "visibility": "internal" }, { "body": { - "id": 1722, + "id": 1770, "nodeType": "Block", - "src": "752:44:27", + "src": "752:44:29", "statements": [ { "expression": { @@ -453,12 +453,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1718, + "id": 1766, "name": "initialAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1710, - "src": "766:12:27", + "referencedDeclaration": 1758, + "src": "766:12:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -466,12 +466,12 @@ }, { "argumentTypes": null, - "id": 1719, + "id": 1767, "name": "ROLE_ADMIN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "780:10:27", + "referencedDeclaration": 1746, + "src": "780:10:29", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" @@ -489,18 +489,18 @@ "typeString": "string memory" } ], - "id": 1717, + "id": 1765, "name": "addRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1654, - "src": "758:7:27", + "referencedDeclaration": 1702, + "src": "758:7:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory)" } }, - "id": 1720, + "id": 1768, "isConstant": false, "isLValue": false, "isPure": false, @@ -508,20 +508,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "758:33:27", + "src": "758:33:29", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1721, + "id": 1769, "nodeType": "ExpressionStatement", - "src": "758:33:27" + "src": "758:33:29" } ] }, "documentation": "@dev constructor. Sets initialAdmin as admin.", - "id": 1723, + "id": 1771, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -531,14 +531,14 @@ { "argumentTypes": null, "hexValue": "524241435769746841646d696e", - "id": 1713, + "id": 1761, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "713:15:27", + "src": "713:15:29", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_df0cf24eb5f950174e1eb21ea0d53f5c3ba815c78a4404f0a8f8450660d9edf2", @@ -549,14 +549,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 1714, + "id": 1762, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "730:7:27", + "src": "730:7:29", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -565,37 +565,37 @@ "value": "1.9.0" } ], - "id": 1715, + "id": 1763, "modifierName": { "argumentTypes": null, - "id": 1712, + "id": 1760, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "699:13:27", + "referencedDeclaration": 4811, + "src": "699:13:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "699:39:27" + "src": "699:39:29" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 1711, + "id": 1759, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1710, + "id": 1758, "name": "initialAdmin", "nodeType": "VariableDeclaration", - "scope": 1723, - "src": "673:20:27", + "scope": 1771, + "src": "673:20:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -603,10 +603,10 @@ "typeString": "address" }, "typeName": { - "id": 1709, + "id": 1757, "name": "address", "nodeType": "ElementaryTypeName", - "src": "673:7:27", + "src": "673:7:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -616,26 +616,26 @@ "visibility": "internal" } ], - "src": "672:22:27" + "src": "672:22:29" }, "payable": false, "returnParameters": { - "id": 1716, + "id": 1764, "nodeType": "ParameterList", "parameters": [], - "src": "752:0:27" + "src": "752:0:29" }, - "scope": 1754, - "src": "653:143:27", + "scope": 1802, + "src": "653:143:29", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1737, + "id": 1785, "nodeType": "Block", - "src": "994:34:27", + "src": "994:34:29", "statements": [ { "expression": { @@ -643,12 +643,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1733, + "id": 1781, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1725, - "src": "1008:4:27", + "referencedDeclaration": 1773, + "src": "1008:4:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -656,12 +656,12 @@ }, { "argumentTypes": null, - "id": 1734, + "id": 1782, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1727, - "src": "1014:8:27", + "referencedDeclaration": 1775, + "src": "1014:8:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -679,18 +679,18 @@ "typeString": "string memory" } ], - "id": 1732, + "id": 1780, "name": "addRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1654, - "src": "1000:7:27", + "referencedDeclaration": 1702, + "src": "1000:7:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory)" } }, - "id": 1735, + "id": 1783, "isConstant": false, "isLValue": false, "isPure": false, @@ -698,57 +698,57 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1000:23:27", + "src": "1000:23:29", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1736, + "id": 1784, "nodeType": "ExpressionStatement", - "src": "1000:23:27" + "src": "1000:23:29" } ] }, "documentation": "@dev add a role to an address\n@param addr address\n@param roleName the name of the role", - "id": 1738, + "id": 1786, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 1730, + "id": 1778, "modifierName": { "argumentTypes": null, - "id": 1729, + "id": 1777, "name": "onlyAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1708, - "src": "971:9:27", + "referencedDeclaration": 1756, + "src": "971:9:29", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "971:9:27" + "src": "971:9:29" } ], "name": "adminAddRole", "nodeType": "FunctionDefinition", "parameters": { - "id": 1728, + "id": 1776, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1725, + "id": 1773, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1738, - "src": "936:12:27", + "scope": 1786, + "src": "936:12:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -756,10 +756,10 @@ "typeString": "address" }, "typeName": { - "id": 1724, + "id": 1772, "name": "address", "nodeType": "ElementaryTypeName", - "src": "936:7:27", + "src": "936:7:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -770,11 +770,11 @@ }, { "constant": false, - "id": 1727, + "id": 1775, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1738, - "src": "950:15:27", + "scope": 1786, + "src": "950:15:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -782,10 +782,10 @@ "typeString": "string" }, "typeName": { - "id": 1726, + "id": 1774, "name": "string", "nodeType": "ElementaryTypeName", - "src": "950:6:27", + "src": "950:6:29", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -795,26 +795,26 @@ "visibility": "internal" } ], - "src": "935:31:27" + "src": "935:31:29" }, "payable": false, "returnParameters": { - "id": 1731, + "id": 1779, "nodeType": "ParameterList", "parameters": [], - "src": "994:0:27" + "src": "994:0:29" }, - "scope": 1754, - "src": "914:114:27", + "scope": 1802, + "src": "914:114:29", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1752, + "id": 1800, "nodeType": "Block", - "src": "1234:37:27", + "src": "1234:37:29", "statements": [ { "expression": { @@ -822,12 +822,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1748, + "id": 1796, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "1251:4:27", + "referencedDeclaration": 1788, + "src": "1251:4:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -835,12 +835,12 @@ }, { "argumentTypes": null, - "id": 1749, + "id": 1797, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1742, - "src": "1257:8:27", + "referencedDeclaration": 1790, + "src": "1257:8:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -858,18 +858,18 @@ "typeString": "string memory" } ], - "id": 1747, + "id": 1795, "name": "removeRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1674, - "src": "1240:10:27", + "referencedDeclaration": 1722, + "src": "1240:10:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory)" } }, - "id": 1750, + "id": 1798, "isConstant": false, "isLValue": false, "isPure": false, @@ -877,57 +877,57 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1240:26:27", + "src": "1240:26:29", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1751, + "id": 1799, "nodeType": "ExpressionStatement", - "src": "1240:26:27" + "src": "1240:26:29" } ] }, "documentation": "@dev remove a role from an address\n@param addr address\n@param roleName the name of the role", - "id": 1753, + "id": 1801, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 1745, + "id": 1793, "modifierName": { "argumentTypes": null, - "id": 1744, + "id": 1792, "name": "onlyAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1708, - "src": "1211:9:27", + "referencedDeclaration": 1756, + "src": "1211:9:29", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1211:9:27" + "src": "1211:9:29" } ], "name": "adminRemoveRole", "nodeType": "FunctionDefinition", "parameters": { - "id": 1743, + "id": 1791, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1740, + "id": 1788, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1753, - "src": "1176:12:27", + "scope": 1801, + "src": "1176:12:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -935,10 +935,10 @@ "typeString": "address" }, "typeName": { - "id": 1739, + "id": 1787, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1176:7:27", + "src": "1176:7:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -949,11 +949,11 @@ }, { "constant": false, - "id": 1742, + "id": 1790, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1753, - "src": "1190:15:27", + "scope": 1801, + "src": "1190:15:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -961,10 +961,10 @@ "typeString": "string" }, "typeName": { - "id": 1741, + "id": 1789, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1190:6:27", + "src": "1190:6:29", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -974,40 +974,40 @@ "visibility": "internal" } ], - "src": "1175:31:27" + "src": "1175:31:29" }, "payable": false, "returnParameters": { - "id": 1746, + "id": 1794, "nodeType": "ParameterList", "parameters": [], - "src": "1234:0:27" + "src": "1234:0:29" }, - "scope": 1754, - "src": "1151:120:27", + "scope": 1802, + "src": "1151:120:29", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1755, - "src": "283:990:27" + "scope": 1803, + "src": "283:990:29" } ], - "src": "0:1274:27" + "src": "0:1274:29" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/rbac/RBACWithAdmin.sol", "exportedSymbols": { "RBACWithAdmin": [ - 1754 + 1802 ] }, - "id": 1755, + "id": 1803, "nodeType": "SourceUnit", "nodes": [ { - "id": 1689, + "id": 1737, "literals": [ "solidity", "^", @@ -1015,27 +1015,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:27" + "src": "0:24:29" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/rbac/RBAC.sol", "file": "./RBAC.sol", - "id": 1690, + "id": 1738, "nodeType": "ImportDirective", - "scope": 1755, - "sourceUnit": 1688, - "src": "26:20:27", + "scope": 1803, + "sourceUnit": 1736, + "src": "26:20:29", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 1691, + "id": 1739, "nodeType": "ImportDirective", - "scope": 1755, - "sourceUnit": 4770, - "src": "47:53:27", + "scope": 1803, + "sourceUnit": 4865, + "src": "47:53:29", "symbolAliases": [], "unitAlias": "" }, @@ -1045,62 +1045,62 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1692, + "id": 1740, "name": "RBAC", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1687, - "src": "309:4:27", + "referencedDeclaration": 1735, + "src": "309:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_RBAC_$1687", + "typeIdentifier": "t_contract$_RBAC_$1735", "typeString": "contract RBAC" } }, - "id": 1693, + "id": 1741, "nodeType": "InheritanceSpecifier", - "src": "309:4:27" + "src": "309:4:29" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 1694, + "id": 1742, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "315:10:27", + "referencedDeclaration": 4864, + "src": "315:10:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 1695, + "id": 1743, "nodeType": "InheritanceSpecifier", - "src": "315:10:27" + "src": "315:10:29" } ], "contractDependencies": [ - 1687, - 4769 + 1735, + 4864 ], "contractKind": "contract", "documentation": "@title RBACWithAdmin\n@author Matt Condon (@Shrugs)\n@dev It's recommended that you define constants in the contract,\n@dev like ROLE_ADMIN below, to avoid typos.", "fullyImplemented": true, - "id": 1754, + "id": 1802, "linearizedBaseContracts": [ - 1754, - 4769, - 1687 + 1802, + 4864, + 1735 ], "name": "RBACWithAdmin", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, - "id": 1698, + "id": 1746, "name": "ROLE_ADMIN", "nodeType": "VariableDeclaration", - "scope": 1754, - "src": "391:43:27", + "scope": 1802, + "src": "391:43:29", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1108,10 +1108,10 @@ "typeString": "string" }, "typeName": { - "id": 1696, + "id": 1744, "name": "string", "nodeType": "ElementaryTypeName", - "src": "391:6:27", + "src": "391:6:29", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1120,14 +1120,14 @@ "value": { "argumentTypes": null, "hexValue": "61646d696e", - "id": 1697, + "id": 1745, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "427:7:27", + "src": "427:7:29", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8", @@ -1139,9 +1139,9 @@ }, { "body": { - "id": 1707, + "id": 1755, "nodeType": "Block", - "src": "535:51:27", + "src": "535:51:29", "statements": [ { "expression": { @@ -1151,18 +1151,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1701, + "id": 1749, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "551:3:27", + "referencedDeclaration": 4879, + "src": "551:3:29", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1702, + "id": 1750, "isConstant": false, "isLValue": false, "isPure": false, @@ -1170,7 +1170,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "551:10:27", + "src": "551:10:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1178,12 +1178,12 @@ }, { "argumentTypes": null, - "id": 1703, + "id": 1751, "name": "ROLE_ADMIN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "563:10:27", + "referencedDeclaration": 1746, + "src": "563:10:29", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" @@ -1201,18 +1201,18 @@ "typeString": "string memory" } ], - "id": 1700, + "id": 1748, "name": "checkRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1617, - "src": "541:9:27", + "referencedDeclaration": 1665, + "src": "541:9:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory) view" } }, - "id": 1704, + "id": 1752, "isConstant": false, "isLValue": false, "isPure": false, @@ -1220,41 +1220,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "541:33:27", + "src": "541:33:29", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1705, + "id": 1753, "nodeType": "ExpressionStatement", - "src": "541:33:27" + "src": "541:33:29" }, { - "id": 1706, + "id": 1754, "nodeType": "PlaceholderStatement", - "src": "580:1:27" + "src": "580:1:29" } ] }, "documentation": "@dev modifier to scope access to admins\n// reverts", - "id": 1708, + "id": 1756, "name": "onlyAdmin", "nodeType": "ModifierDefinition", "parameters": { - "id": 1699, + "id": 1747, "nodeType": "ParameterList", "parameters": [], - "src": "530:2:27" + "src": "530:2:29" }, - "src": "512:74:27", + "src": "512:74:29", "visibility": "internal" }, { "body": { - "id": 1722, + "id": 1770, "nodeType": "Block", - "src": "752:44:27", + "src": "752:44:29", "statements": [ { "expression": { @@ -1262,12 +1262,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1718, + "id": 1766, "name": "initialAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1710, - "src": "766:12:27", + "referencedDeclaration": 1758, + "src": "766:12:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1275,12 +1275,12 @@ }, { "argumentTypes": null, - "id": 1719, + "id": 1767, "name": "ROLE_ADMIN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "780:10:27", + "referencedDeclaration": 1746, + "src": "780:10:29", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" @@ -1298,18 +1298,18 @@ "typeString": "string memory" } ], - "id": 1717, + "id": 1765, "name": "addRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1654, - "src": "758:7:27", + "referencedDeclaration": 1702, + "src": "758:7:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory)" } }, - "id": 1720, + "id": 1768, "isConstant": false, "isLValue": false, "isPure": false, @@ -1317,20 +1317,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "758:33:27", + "src": "758:33:29", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1721, + "id": 1769, "nodeType": "ExpressionStatement", - "src": "758:33:27" + "src": "758:33:29" } ] }, "documentation": "@dev constructor. Sets initialAdmin as admin.", - "id": 1723, + "id": 1771, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1340,14 +1340,14 @@ { "argumentTypes": null, "hexValue": "524241435769746841646d696e", - "id": 1713, + "id": 1761, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "713:15:27", + "src": "713:15:29", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_df0cf24eb5f950174e1eb21ea0d53f5c3ba815c78a4404f0a8f8450660d9edf2", @@ -1358,14 +1358,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 1714, + "id": 1762, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "730:7:27", + "src": "730:7:29", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -1374,37 +1374,37 @@ "value": "1.9.0" } ], - "id": 1715, + "id": 1763, "modifierName": { "argumentTypes": null, - "id": 1712, + "id": 1760, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "699:13:27", + "referencedDeclaration": 4811, + "src": "699:13:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "699:39:27" + "src": "699:39:29" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 1711, + "id": 1759, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1710, + "id": 1758, "name": "initialAdmin", "nodeType": "VariableDeclaration", - "scope": 1723, - "src": "673:20:27", + "scope": 1771, + "src": "673:20:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1412,10 +1412,10 @@ "typeString": "address" }, "typeName": { - "id": 1709, + "id": 1757, "name": "address", "nodeType": "ElementaryTypeName", - "src": "673:7:27", + "src": "673:7:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1425,26 +1425,26 @@ "visibility": "internal" } ], - "src": "672:22:27" + "src": "672:22:29" }, "payable": false, "returnParameters": { - "id": 1716, + "id": 1764, "nodeType": "ParameterList", "parameters": [], - "src": "752:0:27" + "src": "752:0:29" }, - "scope": 1754, - "src": "653:143:27", + "scope": 1802, + "src": "653:143:29", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1737, + "id": 1785, "nodeType": "Block", - "src": "994:34:27", + "src": "994:34:29", "statements": [ { "expression": { @@ -1452,12 +1452,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1733, + "id": 1781, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1725, - "src": "1008:4:27", + "referencedDeclaration": 1773, + "src": "1008:4:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1465,12 +1465,12 @@ }, { "argumentTypes": null, - "id": 1734, + "id": 1782, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1727, - "src": "1014:8:27", + "referencedDeclaration": 1775, + "src": "1014:8:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1488,18 +1488,18 @@ "typeString": "string memory" } ], - "id": 1732, + "id": 1780, "name": "addRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1654, - "src": "1000:7:27", + "referencedDeclaration": 1702, + "src": "1000:7:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory)" } }, - "id": 1735, + "id": 1783, "isConstant": false, "isLValue": false, "isPure": false, @@ -1507,57 +1507,57 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1000:23:27", + "src": "1000:23:29", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1736, + "id": 1784, "nodeType": "ExpressionStatement", - "src": "1000:23:27" + "src": "1000:23:29" } ] }, "documentation": "@dev add a role to an address\n@param addr address\n@param roleName the name of the role", - "id": 1738, + "id": 1786, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 1730, + "id": 1778, "modifierName": { "argumentTypes": null, - "id": 1729, + "id": 1777, "name": "onlyAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1708, - "src": "971:9:27", + "referencedDeclaration": 1756, + "src": "971:9:29", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "971:9:27" + "src": "971:9:29" } ], "name": "adminAddRole", "nodeType": "FunctionDefinition", "parameters": { - "id": 1728, + "id": 1776, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1725, + "id": 1773, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1738, - "src": "936:12:27", + "scope": 1786, + "src": "936:12:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1565,10 +1565,10 @@ "typeString": "address" }, "typeName": { - "id": 1724, + "id": 1772, "name": "address", "nodeType": "ElementaryTypeName", - "src": "936:7:27", + "src": "936:7:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1579,11 +1579,11 @@ }, { "constant": false, - "id": 1727, + "id": 1775, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1738, - "src": "950:15:27", + "scope": 1786, + "src": "950:15:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1591,10 +1591,10 @@ "typeString": "string" }, "typeName": { - "id": 1726, + "id": 1774, "name": "string", "nodeType": "ElementaryTypeName", - "src": "950:6:27", + "src": "950:6:29", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1604,26 +1604,26 @@ "visibility": "internal" } ], - "src": "935:31:27" + "src": "935:31:29" }, "payable": false, "returnParameters": { - "id": 1731, + "id": 1779, "nodeType": "ParameterList", "parameters": [], - "src": "994:0:27" + "src": "994:0:29" }, - "scope": 1754, - "src": "914:114:27", + "scope": 1802, + "src": "914:114:29", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1752, + "id": 1800, "nodeType": "Block", - "src": "1234:37:27", + "src": "1234:37:29", "statements": [ { "expression": { @@ -1631,12 +1631,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1748, + "id": 1796, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "1251:4:27", + "referencedDeclaration": 1788, + "src": "1251:4:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1644,12 +1644,12 @@ }, { "argumentTypes": null, - "id": 1749, + "id": 1797, "name": "roleName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1742, - "src": "1257:8:27", + "referencedDeclaration": 1790, + "src": "1257:8:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1667,18 +1667,18 @@ "typeString": "string memory" } ], - "id": 1747, + "id": 1795, "name": "removeRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1674, - "src": "1240:10:27", + "referencedDeclaration": 1722, + "src": "1240:10:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory)" } }, - "id": 1750, + "id": 1798, "isConstant": false, "isLValue": false, "isPure": false, @@ -1686,57 +1686,57 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1240:26:27", + "src": "1240:26:29", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1751, + "id": 1799, "nodeType": "ExpressionStatement", - "src": "1240:26:27" + "src": "1240:26:29" } ] }, "documentation": "@dev remove a role from an address\n@param addr address\n@param roleName the name of the role", - "id": 1753, + "id": 1801, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 1745, + "id": 1793, "modifierName": { "argumentTypes": null, - "id": 1744, + "id": 1792, "name": "onlyAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1708, - "src": "1211:9:27", + "referencedDeclaration": 1756, + "src": "1211:9:29", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1211:9:27" + "src": "1211:9:29" } ], "name": "adminRemoveRole", "nodeType": "FunctionDefinition", "parameters": { - "id": 1743, + "id": 1791, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1740, + "id": 1788, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1753, - "src": "1176:12:27", + "scope": 1801, + "src": "1176:12:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1744,10 +1744,10 @@ "typeString": "address" }, "typeName": { - "id": 1739, + "id": 1787, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1176:7:27", + "src": "1176:7:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1758,11 +1758,11 @@ }, { "constant": false, - "id": 1742, + "id": 1790, "name": "roleName", "nodeType": "VariableDeclaration", - "scope": 1753, - "src": "1190:15:27", + "scope": 1801, + "src": "1190:15:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1770,10 +1770,10 @@ "typeString": "string" }, "typeName": { - "id": 1741, + "id": 1789, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1190:6:27", + "src": "1190:6:29", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1783,33 +1783,33 @@ "visibility": "internal" } ], - "src": "1175:31:27" + "src": "1175:31:29" }, "payable": false, "returnParameters": { - "id": 1746, + "id": 1794, "nodeType": "ParameterList", "parameters": [], - "src": "1234:0:27" + "src": "1234:0:29" }, - "scope": 1754, - "src": "1151:120:27", + "scope": 1802, + "src": "1151:120:29", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1755, - "src": "283:990:27" + "scope": 1803, + "src": "283:990:29" } ], - "src": "0:1274:27" + "src": "0:1274:29" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.632Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.210Z" } \ No newline at end of file diff --git a/build/contracts/Roles.json b/build/contracts/Roles.json index ff227bc13..61f607580 100644 --- a/build/contracts/Roles.json +++ b/build/contracts/Roles.json @@ -1,24 +1,24 @@ { "contractName": "Roles", "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058203e6eb3a41487aa5abfd0ed72a602bcab4431889e67db11b31d8b0c9b98e034b90029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058203e6eb3a41487aa5abfd0ed72a602bcab4431889e67db11b31d8b0c9b98e034b90029", - "sourceMap": "191:783:28:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", - "deployedSourceMap": "191:783:28:-;;;;;;;;", + "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820a5cae95f4809b33a230ce6ca057021313dcd95b5309bf6e2090c90fb3554c2f00029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820a5cae95f4809b33a230ce6ca057021313dcd95b5309bf6e2090c90fb3554c2f00029", + "sourceMap": "191:783:30:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", + "deployedSourceMap": "191:783:30:-;;;;;;;;", "source": "pragma solidity ^0.4.21;\n\n\n/**\n * @title Roles\n * @author Francisco Giordano (@frangio)\n * @dev Library for managing addresses assigned to a Role.\n * See RBAC.sol for example usage.\n */\nlibrary Roles {\n struct Role {\n mapping (address => bool) bearer;\n }\n\n /**\n * @dev give an address access to this role\n */\n function add(Role storage role, address addr)\n internal\n {\n role.bearer[addr] = true;\n }\n\n /**\n * @dev remove an address' access to this role\n */\n function remove(Role storage role, address addr)\n internal\n {\n role.bearer[addr] = false;\n }\n\n /**\n * @dev check if an address has this role\n * // reverts\n */\n function check(Role storage role, address addr)\n view\n internal\n {\n require(has(role, addr));\n }\n\n /**\n * @dev check if an address has this role\n * @return bool\n */\n function has(Role storage role, address addr)\n view\n internal\n returns (bool)\n {\n return role.bearer[addr];\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/rbac/Roles.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/rbac/Roles.sol", "exportedSymbols": { "Roles": [ - 1824 + 1872 ] }, - "id": 1825, + "id": 1873, "nodeType": "SourceUnit", "nodes": [ { - "id": 1756, + "id": 1804, "literals": [ "solidity", "^", @@ -26,7 +26,7 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:28" + "src": "0:24:30" }, { "baseContracts": [], @@ -34,24 +34,24 @@ "contractKind": "library", "documentation": "@title Roles\n@author Francisco Giordano (@frangio)\n@dev Library for managing addresses assigned to a Role.\n See RBAC.sol for example usage.", "fullyImplemented": true, - "id": 1824, + "id": 1872, "linearizedBaseContracts": [ - 1824 + 1872 ], "name": "Roles", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "Roles.Role", - "id": 1761, + "id": 1809, "members": [ { "constant": false, - "id": 1760, + "id": 1808, "name": "bearer", "nodeType": "VariableDeclaration", - "scope": 1761, - "src": "227:32:28", + "scope": 1809, + "src": "227:32:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -59,28 +59,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 1759, + "id": 1807, "keyType": { - "id": 1757, + "id": 1805, "name": "address", "nodeType": "ElementaryTypeName", - "src": "236:7:28", + "src": "236:7:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "227:25:28", + "src": "227:25:30", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 1758, + "id": 1806, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "247:4:28", + "src": "247:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -93,20 +93,20 @@ ], "name": "Role", "nodeType": "StructDefinition", - "scope": 1824, - "src": "209:55:28", + "scope": 1872, + "src": "209:55:30", "visibility": "public" }, { "body": { - "id": 1776, + "id": 1824, "nodeType": "Block", - "src": "387:35:28", + "src": "387:35:30", "statements": [ { "expression": { "argumentTypes": null, - "id": 1774, + "id": 1822, "isConstant": false, "isLValue": false, "isPure": false, @@ -117,40 +117,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1768, + "id": 1816, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1763, - "src": "393:4:28", + "referencedDeclaration": 1811, + "src": "393:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 1771, + "id": 1819, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 1760, - "src": "393:11:28", + "referencedDeclaration": 1808, + "src": "393:11:30", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1772, + "id": 1820, "indexExpression": { "argumentTypes": null, - "id": 1770, + "id": 1818, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1765, - "src": "405:4:28", + "referencedDeclaration": 1813, + "src": "405:4:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -161,7 +161,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "393:17:28", + "src": "393:17:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -172,14 +172,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1773, + "id": 1821, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "413:4:28", + "src": "413:4:30", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -187,20 +187,20 @@ }, "value": "true" }, - "src": "393:24:28", + "src": "393:24:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1775, + "id": 1823, "nodeType": "ExpressionStatement", - "src": "393:24:28" + "src": "393:24:30" } ] }, "documentation": "@dev give an address access to this role", - "id": 1777, + "id": 1825, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -208,31 +208,31 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1766, + "id": 1814, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1763, + "id": 1811, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1777, - "src": "339:17:28", + "scope": 1825, + "src": "339:17:30", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1762, + "id": 1810, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1761, - "src": "339:4:28", + "referencedDeclaration": 1809, + "src": "339:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -241,11 +241,11 @@ }, { "constant": false, - "id": 1765, + "id": 1813, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1777, - "src": "358:12:28", + "scope": 1825, + "src": "358:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -253,10 +253,10 @@ "typeString": "address" }, "typeName": { - "id": 1764, + "id": 1812, "name": "address", "nodeType": "ElementaryTypeName", - "src": "358:7:28", + "src": "358:7:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -266,31 +266,31 @@ "visibility": "internal" } ], - "src": "338:33:28" + "src": "338:33:30" }, "payable": false, "returnParameters": { - "id": 1767, + "id": 1815, "nodeType": "ParameterList", "parameters": [], - "src": "387:0:28" + "src": "387:0:30" }, - "scope": 1824, - "src": "326:96:28", + "scope": 1872, + "src": "326:96:30", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1792, + "id": 1840, "nodeType": "Block", - "src": "551:36:28", + "src": "551:36:30", "statements": [ { "expression": { "argumentTypes": null, - "id": 1790, + "id": 1838, "isConstant": false, "isLValue": false, "isPure": false, @@ -301,40 +301,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1784, + "id": 1832, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1779, - "src": "557:4:28", + "referencedDeclaration": 1827, + "src": "557:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 1787, + "id": 1835, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 1760, - "src": "557:11:28", + "referencedDeclaration": 1808, + "src": "557:11:30", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1788, + "id": 1836, "indexExpression": { "argumentTypes": null, - "id": 1786, + "id": 1834, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1781, - "src": "569:4:28", + "referencedDeclaration": 1829, + "src": "569:4:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -345,7 +345,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "557:17:28", + "src": "557:17:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -356,14 +356,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1789, + "id": 1837, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "577:5:28", + "src": "577:5:30", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -371,20 +371,20 @@ }, "value": "false" }, - "src": "557:25:28", + "src": "557:25:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1791, + "id": 1839, "nodeType": "ExpressionStatement", - "src": "557:25:28" + "src": "557:25:30" } ] }, "documentation": "@dev remove an address' access to this role", - "id": 1793, + "id": 1841, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -392,31 +392,31 @@ "name": "remove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1782, + "id": 1830, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1779, + "id": 1827, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1793, - "src": "503:17:28", + "scope": 1841, + "src": "503:17:30", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1778, + "id": 1826, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1761, - "src": "503:4:28", + "referencedDeclaration": 1809, + "src": "503:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -425,11 +425,11 @@ }, { "constant": false, - "id": 1781, + "id": 1829, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1793, - "src": "522:12:28", + "scope": 1841, + "src": "522:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -437,10 +437,10 @@ "typeString": "address" }, "typeName": { - "id": 1780, + "id": 1828, "name": "address", "nodeType": "ElementaryTypeName", - "src": "522:7:28", + "src": "522:7:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -450,26 +450,26 @@ "visibility": "internal" } ], - "src": "502:33:28" + "src": "502:33:30" }, "payable": false, "returnParameters": { - "id": 1783, + "id": 1831, "nodeType": "ParameterList", "parameters": [], - "src": "551:0:28" + "src": "551:0:30" }, - "scope": 1824, - "src": "487:100:28", + "scope": 1872, + "src": "487:100:30", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1807, + "id": 1855, "nodeType": "Block", - "src": "735:35:28", + "src": "735:35:30", "statements": [ { "expression": { @@ -480,25 +480,25 @@ "arguments": [ { "argumentTypes": null, - "id": 1802, + "id": 1850, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1795, - "src": "753:4:28", + "referencedDeclaration": 1843, + "src": "753:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 1803, + "id": 1851, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1797, - "src": "759:4:28", + "referencedDeclaration": 1845, + "src": "759:4:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -508,7 +508,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -516,18 +516,18 @@ "typeString": "address" } ], - "id": 1801, + "id": 1849, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1823, - "src": "749:3:28", + "referencedDeclaration": 1871, + "src": "749:3:30", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1761_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1809_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 1804, + "id": 1852, "isConstant": false, "isLValue": false, "isPure": false, @@ -535,7 +535,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "749:15:28", + "src": "749:15:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -549,21 +549,21 @@ "typeString": "bool" } ], - "id": 1800, + "id": 1848, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "741:7:28", + "referencedDeclaration": 4882, + "src": "741:7:30", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1805, + "id": 1853, "isConstant": false, "isLValue": false, "isPure": false, @@ -571,20 +571,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "741:24:28", + "src": "741:24:30", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1806, + "id": 1854, "nodeType": "ExpressionStatement", - "src": "741:24:28" + "src": "741:24:30" } ] }, "documentation": "@dev check if an address has this role\n// reverts", - "id": 1808, + "id": 1856, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -592,31 +592,31 @@ "name": "check", "nodeType": "FunctionDefinition", "parameters": { - "id": 1798, + "id": 1846, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1795, + "id": 1843, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1808, - "src": "678:17:28", + "scope": 1856, + "src": "678:17:30", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1794, + "id": 1842, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1761, - "src": "678:4:28", + "referencedDeclaration": 1809, + "src": "678:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -625,11 +625,11 @@ }, { "constant": false, - "id": 1797, + "id": 1845, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1808, - "src": "697:12:28", + "scope": 1856, + "src": "697:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -637,10 +637,10 @@ "typeString": "address" }, "typeName": { - "id": 1796, + "id": 1844, "name": "address", "nodeType": "ElementaryTypeName", - "src": "697:7:28", + "src": "697:7:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -650,26 +650,26 @@ "visibility": "internal" } ], - "src": "677:33:28" + "src": "677:33:30" }, "payable": false, "returnParameters": { - "id": 1799, + "id": 1847, "nodeType": "ParameterList", "parameters": [], - "src": "735:0:28" + "src": "735:0:30" }, - "scope": 1824, - "src": "663:107:28", + "scope": 1872, + "src": "663:107:30", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1822, + "id": 1870, "nodeType": "Block", - "src": "937:35:28", + "src": "937:35:30", "statements": [ { "expression": { @@ -678,40 +678,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1817, + "id": 1865, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1810, - "src": "950:4:28", + "referencedDeclaration": 1858, + "src": "950:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 1818, + "id": 1866, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 1760, - "src": "950:11:28", + "referencedDeclaration": 1808, + "src": "950:11:30", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1820, + "id": 1868, "indexExpression": { "argumentTypes": null, - "id": 1819, + "id": 1867, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "962:4:28", + "referencedDeclaration": 1860, + "src": "962:4:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -722,21 +722,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "950:17:28", + "src": "950:17:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1816, - "id": 1821, + "functionReturnParameters": 1864, + "id": 1869, "nodeType": "Return", - "src": "943:24:28" + "src": "943:24:30" } ] }, "documentation": "@dev check if an address has this role\n@return bool", - "id": 1823, + "id": 1871, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -744,31 +744,31 @@ "name": "has", "nodeType": "FunctionDefinition", "parameters": { - "id": 1813, + "id": 1861, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1810, + "id": 1858, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1823, - "src": "861:17:28", + "scope": 1871, + "src": "861:17:30", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1809, + "id": 1857, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1761, - "src": "861:4:28", + "referencedDeclaration": 1809, + "src": "861:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -777,11 +777,11 @@ }, { "constant": false, - "id": 1812, + "id": 1860, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1823, - "src": "880:12:28", + "scope": 1871, + "src": "880:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -789,10 +789,10 @@ "typeString": "address" }, "typeName": { - "id": 1811, + "id": 1859, "name": "address", "nodeType": "ElementaryTypeName", - "src": "880:7:28", + "src": "880:7:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -802,20 +802,20 @@ "visibility": "internal" } ], - "src": "860:33:28" + "src": "860:33:30" }, "payable": false, "returnParameters": { - "id": 1816, + "id": 1864, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1815, + "id": 1863, "name": "", "nodeType": "VariableDeclaration", - "scope": 1823, - "src": "929:4:28", + "scope": 1871, + "src": "929:4:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -823,10 +823,10 @@ "typeString": "bool" }, "typeName": { - "id": 1814, + "id": 1862, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "929:4:28", + "src": "929:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -836,33 +836,33 @@ "visibility": "internal" } ], - "src": "928:6:28" + "src": "928:6:30" }, - "scope": 1824, - "src": "848:124:28", + "scope": 1872, + "src": "848:124:30", "stateMutability": "view", "superFunction": null, "visibility": "internal" } ], - "scope": 1825, - "src": "191:783:28" + "scope": 1873, + "src": "191:783:30" } ], - "src": "0:975:28" + "src": "0:975:30" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/rbac/Roles.sol", "exportedSymbols": { "Roles": [ - 1824 + 1872 ] }, - "id": 1825, + "id": 1873, "nodeType": "SourceUnit", "nodes": [ { - "id": 1756, + "id": 1804, "literals": [ "solidity", "^", @@ -870,7 +870,7 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:28" + "src": "0:24:30" }, { "baseContracts": [], @@ -878,24 +878,24 @@ "contractKind": "library", "documentation": "@title Roles\n@author Francisco Giordano (@frangio)\n@dev Library for managing addresses assigned to a Role.\n See RBAC.sol for example usage.", "fullyImplemented": true, - "id": 1824, + "id": 1872, "linearizedBaseContracts": [ - 1824 + 1872 ], "name": "Roles", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "Roles.Role", - "id": 1761, + "id": 1809, "members": [ { "constant": false, - "id": 1760, + "id": 1808, "name": "bearer", "nodeType": "VariableDeclaration", - "scope": 1761, - "src": "227:32:28", + "scope": 1809, + "src": "227:32:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -903,28 +903,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 1759, + "id": 1807, "keyType": { - "id": 1757, + "id": 1805, "name": "address", "nodeType": "ElementaryTypeName", - "src": "236:7:28", + "src": "236:7:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "227:25:28", + "src": "227:25:30", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 1758, + "id": 1806, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "247:4:28", + "src": "247:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -937,20 +937,20 @@ ], "name": "Role", "nodeType": "StructDefinition", - "scope": 1824, - "src": "209:55:28", + "scope": 1872, + "src": "209:55:30", "visibility": "public" }, { "body": { - "id": 1776, + "id": 1824, "nodeType": "Block", - "src": "387:35:28", + "src": "387:35:30", "statements": [ { "expression": { "argumentTypes": null, - "id": 1774, + "id": 1822, "isConstant": false, "isLValue": false, "isPure": false, @@ -961,40 +961,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1768, + "id": 1816, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1763, - "src": "393:4:28", + "referencedDeclaration": 1811, + "src": "393:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 1771, + "id": 1819, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 1760, - "src": "393:11:28", + "referencedDeclaration": 1808, + "src": "393:11:30", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1772, + "id": 1820, "indexExpression": { "argumentTypes": null, - "id": 1770, + "id": 1818, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1765, - "src": "405:4:28", + "referencedDeclaration": 1813, + "src": "405:4:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1005,7 +1005,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "393:17:28", + "src": "393:17:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1016,14 +1016,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1773, + "id": 1821, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "413:4:28", + "src": "413:4:30", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1031,20 +1031,20 @@ }, "value": "true" }, - "src": "393:24:28", + "src": "393:24:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1775, + "id": 1823, "nodeType": "ExpressionStatement", - "src": "393:24:28" + "src": "393:24:30" } ] }, "documentation": "@dev give an address access to this role", - "id": 1777, + "id": 1825, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1052,31 +1052,31 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1766, + "id": 1814, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1763, + "id": 1811, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1777, - "src": "339:17:28", + "scope": 1825, + "src": "339:17:30", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1762, + "id": 1810, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1761, - "src": "339:4:28", + "referencedDeclaration": 1809, + "src": "339:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -1085,11 +1085,11 @@ }, { "constant": false, - "id": 1765, + "id": 1813, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1777, - "src": "358:12:28", + "scope": 1825, + "src": "358:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1097,10 +1097,10 @@ "typeString": "address" }, "typeName": { - "id": 1764, + "id": 1812, "name": "address", "nodeType": "ElementaryTypeName", - "src": "358:7:28", + "src": "358:7:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1110,31 +1110,31 @@ "visibility": "internal" } ], - "src": "338:33:28" + "src": "338:33:30" }, "payable": false, "returnParameters": { - "id": 1767, + "id": 1815, "nodeType": "ParameterList", "parameters": [], - "src": "387:0:28" + "src": "387:0:30" }, - "scope": 1824, - "src": "326:96:28", + "scope": 1872, + "src": "326:96:30", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1792, + "id": 1840, "nodeType": "Block", - "src": "551:36:28", + "src": "551:36:30", "statements": [ { "expression": { "argumentTypes": null, - "id": 1790, + "id": 1838, "isConstant": false, "isLValue": false, "isPure": false, @@ -1145,40 +1145,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1784, + "id": 1832, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1779, - "src": "557:4:28", + "referencedDeclaration": 1827, + "src": "557:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 1787, + "id": 1835, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 1760, - "src": "557:11:28", + "referencedDeclaration": 1808, + "src": "557:11:30", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1788, + "id": 1836, "indexExpression": { "argumentTypes": null, - "id": 1786, + "id": 1834, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1781, - "src": "569:4:28", + "referencedDeclaration": 1829, + "src": "569:4:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1189,7 +1189,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "557:17:28", + "src": "557:17:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1200,14 +1200,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1789, + "id": 1837, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "577:5:28", + "src": "577:5:30", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1215,20 +1215,20 @@ }, "value": "false" }, - "src": "557:25:28", + "src": "557:25:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1791, + "id": 1839, "nodeType": "ExpressionStatement", - "src": "557:25:28" + "src": "557:25:30" } ] }, "documentation": "@dev remove an address' access to this role", - "id": 1793, + "id": 1841, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1236,31 +1236,31 @@ "name": "remove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1782, + "id": 1830, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1779, + "id": 1827, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1793, - "src": "503:17:28", + "scope": 1841, + "src": "503:17:30", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1778, + "id": 1826, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1761, - "src": "503:4:28", + "referencedDeclaration": 1809, + "src": "503:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -1269,11 +1269,11 @@ }, { "constant": false, - "id": 1781, + "id": 1829, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1793, - "src": "522:12:28", + "scope": 1841, + "src": "522:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1281,10 +1281,10 @@ "typeString": "address" }, "typeName": { - "id": 1780, + "id": 1828, "name": "address", "nodeType": "ElementaryTypeName", - "src": "522:7:28", + "src": "522:7:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1294,26 +1294,26 @@ "visibility": "internal" } ], - "src": "502:33:28" + "src": "502:33:30" }, "payable": false, "returnParameters": { - "id": 1783, + "id": 1831, "nodeType": "ParameterList", "parameters": [], - "src": "551:0:28" + "src": "551:0:30" }, - "scope": 1824, - "src": "487:100:28", + "scope": 1872, + "src": "487:100:30", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1807, + "id": 1855, "nodeType": "Block", - "src": "735:35:28", + "src": "735:35:30", "statements": [ { "expression": { @@ -1324,25 +1324,25 @@ "arguments": [ { "argumentTypes": null, - "id": 1802, + "id": 1850, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1795, - "src": "753:4:28", + "referencedDeclaration": 1843, + "src": "753:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 1803, + "id": 1851, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1797, - "src": "759:4:28", + "referencedDeclaration": 1845, + "src": "759:4:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1352,7 +1352,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -1360,18 +1360,18 @@ "typeString": "address" } ], - "id": 1801, + "id": 1849, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1823, - "src": "749:3:28", + "referencedDeclaration": 1871, + "src": "749:3:30", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1761_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1809_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 1804, + "id": 1852, "isConstant": false, "isLValue": false, "isPure": false, @@ -1379,7 +1379,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "749:15:28", + "src": "749:15:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1393,21 +1393,21 @@ "typeString": "bool" } ], - "id": 1800, + "id": 1848, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "741:7:28", + "referencedDeclaration": 4882, + "src": "741:7:30", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1805, + "id": 1853, "isConstant": false, "isLValue": false, "isPure": false, @@ -1415,20 +1415,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "741:24:28", + "src": "741:24:30", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1806, + "id": 1854, "nodeType": "ExpressionStatement", - "src": "741:24:28" + "src": "741:24:30" } ] }, "documentation": "@dev check if an address has this role\n// reverts", - "id": 1808, + "id": 1856, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1436,31 +1436,31 @@ "name": "check", "nodeType": "FunctionDefinition", "parameters": { - "id": 1798, + "id": 1846, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1795, + "id": 1843, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1808, - "src": "678:17:28", + "scope": 1856, + "src": "678:17:30", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1794, + "id": 1842, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1761, - "src": "678:4:28", + "referencedDeclaration": 1809, + "src": "678:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -1469,11 +1469,11 @@ }, { "constant": false, - "id": 1797, + "id": 1845, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1808, - "src": "697:12:28", + "scope": 1856, + "src": "697:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1481,10 +1481,10 @@ "typeString": "address" }, "typeName": { - "id": 1796, + "id": 1844, "name": "address", "nodeType": "ElementaryTypeName", - "src": "697:7:28", + "src": "697:7:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1494,26 +1494,26 @@ "visibility": "internal" } ], - "src": "677:33:28" + "src": "677:33:30" }, "payable": false, "returnParameters": { - "id": 1799, + "id": 1847, "nodeType": "ParameterList", "parameters": [], - "src": "735:0:28" + "src": "735:0:30" }, - "scope": 1824, - "src": "663:107:28", + "scope": 1872, + "src": "663:107:30", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1822, + "id": 1870, "nodeType": "Block", - "src": "937:35:28", + "src": "937:35:30", "statements": [ { "expression": { @@ -1522,40 +1522,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1817, + "id": 1865, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1810, - "src": "950:4:28", + "referencedDeclaration": 1858, + "src": "950:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 1818, + "id": 1866, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 1760, - "src": "950:11:28", + "referencedDeclaration": 1808, + "src": "950:11:30", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1820, + "id": 1868, "indexExpression": { "argumentTypes": null, - "id": 1819, + "id": 1867, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "962:4:28", + "referencedDeclaration": 1860, + "src": "962:4:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1566,21 +1566,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "950:17:28", + "src": "950:17:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1816, - "id": 1821, + "functionReturnParameters": 1864, + "id": 1869, "nodeType": "Return", - "src": "943:24:28" + "src": "943:24:30" } ] }, "documentation": "@dev check if an address has this role\n@return bool", - "id": 1823, + "id": 1871, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1588,31 +1588,31 @@ "name": "has", "nodeType": "FunctionDefinition", "parameters": { - "id": 1813, + "id": 1861, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1810, + "id": 1858, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1823, - "src": "861:17:28", + "scope": 1871, + "src": "861:17:30", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1809, + "id": 1857, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1761, - "src": "861:4:28", + "referencedDeclaration": 1809, + "src": "861:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1761_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1809_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -1621,11 +1621,11 @@ }, { "constant": false, - "id": 1812, + "id": 1860, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1823, - "src": "880:12:28", + "scope": 1871, + "src": "880:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1633,10 +1633,10 @@ "typeString": "address" }, "typeName": { - "id": 1811, + "id": 1859, "name": "address", "nodeType": "ElementaryTypeName", - "src": "880:7:28", + "src": "880:7:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1646,20 +1646,20 @@ "visibility": "internal" } ], - "src": "860:33:28" + "src": "860:33:30" }, "payable": false, "returnParameters": { - "id": 1816, + "id": 1864, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1815, + "id": 1863, "name": "", "nodeType": "VariableDeclaration", - "scope": 1823, - "src": "929:4:28", + "scope": 1871, + "src": "929:4:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1667,10 +1667,10 @@ "typeString": "bool" }, "typeName": { - "id": 1814, + "id": 1862, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "929:4:28", + "src": "929:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1680,26 +1680,26 @@ "visibility": "internal" } ], - "src": "928:6:28" + "src": "928:6:30" }, - "scope": 1824, - "src": "848:124:28", + "scope": 1872, + "src": "848:124:30", "stateMutability": "view", "superFunction": null, "visibility": "internal" } ], - "scope": 1825, - "src": "191:783:28" + "scope": 1873, + "src": "191:783:30" } ], - "src": "0:975:28" + "src": "0:975:30" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.633Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.210Z" } \ No newline at end of file diff --git a/build/contracts/SafeERC20.json b/build/contracts/SafeERC20.json index d7174f83a..13efbf7fc 100644 --- a/build/contracts/SafeERC20.json +++ b/build/contracts/SafeERC20.json @@ -1,24 +1,24 @@ { "contractName": "SafeERC20", "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820d25f06bda5e2d73d555d67eb66fa09a8da50ec5fecb655e25743e10c6c7247b20029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820d25f06bda5e2d73d555d67eb66fa09a8da50ec5fecb655e25743e10c6c7247b20029", - "sourceMap": "346:444:40:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", - "deployedSourceMap": "346:444:40:-;;;;;;;;", + "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058202469bb5d4dd0e54b035652a66debaeccc8621848bd9db8bdaf94fea737a9b5270029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058202469bb5d4dd0e54b035652a66debaeccc8621848bd9db8bdaf94fea737a9b5270029", + "sourceMap": "346:444:42:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", + "deployedSourceMap": "346:444:42:-;;;;;;;;", "source": "pragma solidity ^0.4.21;\n\nimport \"./ERC20Basic.sol\";\nimport \"./ERC20.sol\";\n\n\n/**\n * @title SafeERC20\n * @dev Wrappers around ERC20 operations that throw on failure.\n * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,\n * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\n */\nlibrary SafeERC20 {\n function safeTransfer(ERC20Basic token, address to, uint256 value) internal {\n assert(token.transfer(to, value));\n }\n\n function safeTransferFrom(\n ERC20 token,\n address from,\n address to,\n uint256 value\n )\n internal\n {\n assert(token.transferFrom(from, to, value));\n }\n\n function safeApprove(ERC20 token, address spender, uint256 value) internal {\n assert(token.approve(spender, value));\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/SafeERC20.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/SafeERC20.sol", "exportedSymbols": { "SafeERC20": [ - 2807 + 2855 ] }, - "id": 2808, + "id": 2856, "nodeType": "SourceUnit", "nodes": [ { - "id": 2747, + "id": 2795, "literals": [ "solidity", "^", @@ -26,27 +26,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:40" + "src": "0:24:42" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20Basic.sol", "file": "./ERC20Basic.sol", - "id": 2748, + "id": 2796, "nodeType": "ImportDirective", - "scope": 2808, - "sourceUnit": 2512, - "src": "26:26:40", + "scope": 2856, + "sourceUnit": 2560, + "src": "26:26:42", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20.sol", "file": "./ERC20.sol", - "id": 2749, + "id": 2797, "nodeType": "ImportDirective", - "scope": 2808, - "sourceUnit": 2480, - "src": "53:21:40", + "scope": 2856, + "sourceUnit": 2528, + "src": "53:21:42", "symbolAliases": [], "unitAlias": "" }, @@ -56,18 +56,18 @@ "contractKind": "library", "documentation": "@title SafeERC20\n@dev Wrappers around ERC20 operations that throw on failure.\nTo use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,\nwhich allows you to call the safe operations as `token.safeTransfer(...)`, etc.", "fullyImplemented": true, - "id": 2807, + "id": 2855, "linearizedBaseContracts": [ - 2807 + 2855 ], "name": "SafeERC20", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 2766, + "id": 2814, "nodeType": "Block", - "src": "444:44:40", + "src": "444:44:42", "statements": [ { "expression": { @@ -78,12 +78,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2761, + "id": 2809, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2753, - "src": "472:2:40", + "referencedDeclaration": 2801, + "src": "472:2:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -91,12 +91,12 @@ }, { "argumentTypes": null, - "id": 2762, + "id": 2810, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2755, - "src": "476:5:40", + "referencedDeclaration": 2803, + "src": "476:5:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -116,32 +116,32 @@ ], "expression": { "argumentTypes": null, - "id": 2759, + "id": 2807, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2751, - "src": "457:5:40", + "referencedDeclaration": 2799, + "src": "457:5:42", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 2760, + "id": 2808, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2502, - "src": "457:14:40", + "referencedDeclaration": 2550, + "src": "457:14:42", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 2763, + "id": 2811, "isConstant": false, "isLValue": false, "isPure": false, @@ -149,7 +149,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "457:25:40", + "src": "457:25:42", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -163,18 +163,18 @@ "typeString": "bool" } ], - "id": 2758, + "id": 2806, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4773, - "src": "450:6:40", + "referencedDeclaration": 4868, + "src": "450:6:42", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2764, + "id": 2812, "isConstant": false, "isLValue": false, "isPure": false, @@ -182,20 +182,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "450:33:40", + "src": "450:33:42", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2765, + "id": 2813, "nodeType": "ExpressionStatement", - "src": "450:33:40" + "src": "450:33:42" } ] }, "documentation": null, - "id": 2767, + "id": 2815, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -203,31 +203,31 @@ "name": "safeTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 2756, + "id": 2804, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2751, + "id": 2799, "name": "token", "nodeType": "VariableDeclaration", - "scope": 2767, - "src": "390:16:40", + "scope": 2815, + "src": "390:16:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" }, "typeName": { "contractScope": null, - "id": 2750, + "id": 2798, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "390:10:40", + "referencedDeclaration": 2559, + "src": "390:10:42", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -236,11 +236,11 @@ }, { "constant": false, - "id": 2753, + "id": 2801, "name": "to", "nodeType": "VariableDeclaration", - "scope": 2767, - "src": "408:10:40", + "scope": 2815, + "src": "408:10:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -248,10 +248,10 @@ "typeString": "address" }, "typeName": { - "id": 2752, + "id": 2800, "name": "address", "nodeType": "ElementaryTypeName", - "src": "408:7:40", + "src": "408:7:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -262,11 +262,11 @@ }, { "constant": false, - "id": 2755, + "id": 2803, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2767, - "src": "420:13:40", + "scope": 2815, + "src": "420:13:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -274,10 +274,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2754, + "id": 2802, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "420:7:40", + "src": "420:7:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -287,26 +287,26 @@ "visibility": "internal" } ], - "src": "389:45:40" + "src": "389:45:42" }, "payable": false, "returnParameters": { - "id": 2757, + "id": 2805, "nodeType": "ParameterList", "parameters": [], - "src": "444:0:40" + "src": "444:0:42" }, - "scope": 2807, - "src": "368:120:40", + "scope": 2855, + "src": "368:120:42", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 2787, + "id": 2835, "nodeType": "Block", - "src": "607:54:40", + "src": "607:54:42", "statements": [ { "expression": { @@ -317,12 +317,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2781, + "id": 2829, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2771, - "src": "639:4:40", + "referencedDeclaration": 2819, + "src": "639:4:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -330,12 +330,12 @@ }, { "argumentTypes": null, - "id": 2782, + "id": 2830, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2773, - "src": "645:2:40", + "referencedDeclaration": 2821, + "src": "645:2:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -343,12 +343,12 @@ }, { "argumentTypes": null, - "id": 2783, + "id": 2831, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2775, - "src": "649:5:40", + "referencedDeclaration": 2823, + "src": "649:5:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -372,32 +372,32 @@ ], "expression": { "argumentTypes": null, - "id": 2779, + "id": 2827, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2769, - "src": "620:5:40", + "referencedDeclaration": 2817, + "src": "620:5:42", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 2780, + "id": 2828, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 2461, - "src": "620:18:40", + "referencedDeclaration": 2509, + "src": "620:18:42", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 2784, + "id": 2832, "isConstant": false, "isLValue": false, "isPure": false, @@ -405,7 +405,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "620:35:40", + "src": "620:35:42", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -419,18 +419,18 @@ "typeString": "bool" } ], - "id": 2778, + "id": 2826, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4773, - "src": "613:6:40", + "referencedDeclaration": 4868, + "src": "613:6:42", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2785, + "id": 2833, "isConstant": false, "isLValue": false, "isPure": false, @@ -438,20 +438,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "613:43:40", + "src": "613:43:42", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2786, + "id": 2834, "nodeType": "ExpressionStatement", - "src": "613:43:40" + "src": "613:43:42" } ] }, "documentation": null, - "id": 2788, + "id": 2836, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -459,31 +459,31 @@ "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 2776, + "id": 2824, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2769, + "id": 2817, "name": "token", "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "523:11:40", + "scope": 2836, + "src": "523:11:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" }, "typeName": { "contractScope": null, - "id": 2768, + "id": 2816, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "523:5:40", + "referencedDeclaration": 2527, + "src": "523:5:42", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -492,11 +492,11 @@ }, { "constant": false, - "id": 2771, + "id": 2819, "name": "from", "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "540:12:40", + "scope": 2836, + "src": "540:12:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -504,10 +504,10 @@ "typeString": "address" }, "typeName": { - "id": 2770, + "id": 2818, "name": "address", "nodeType": "ElementaryTypeName", - "src": "540:7:40", + "src": "540:7:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -518,11 +518,11 @@ }, { "constant": false, - "id": 2773, + "id": 2821, "name": "to", "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "558:10:40", + "scope": 2836, + "src": "558:10:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -530,10 +530,10 @@ "typeString": "address" }, "typeName": { - "id": 2772, + "id": 2820, "name": "address", "nodeType": "ElementaryTypeName", - "src": "558:7:40", + "src": "558:7:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -544,11 +544,11 @@ }, { "constant": false, - "id": 2775, + "id": 2823, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "574:13:40", + "scope": 2836, + "src": "574:13:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -556,10 +556,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2774, + "id": 2822, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "574:7:40", + "src": "574:7:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -569,26 +569,26 @@ "visibility": "internal" } ], - "src": "517:74:40" + "src": "517:74:42" }, "payable": false, "returnParameters": { - "id": 2777, + "id": 2825, "nodeType": "ParameterList", "parameters": [], - "src": "607:0:40" + "src": "607:0:42" }, - "scope": 2807, - "src": "492:169:40", + "scope": 2855, + "src": "492:169:42", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 2805, + "id": 2853, "nodeType": "Block", - "src": "740:48:40", + "src": "740:48:42", "statements": [ { "expression": { @@ -599,12 +599,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2800, + "id": 2848, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2792, - "src": "767:7:40", + "referencedDeclaration": 2840, + "src": "767:7:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -612,12 +612,12 @@ }, { "argumentTypes": null, - "id": 2801, + "id": 2849, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2794, - "src": "776:5:40", + "referencedDeclaration": 2842, + "src": "776:5:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -637,32 +637,32 @@ ], "expression": { "argumentTypes": null, - "id": 2798, + "id": 2846, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2790, - "src": "753:5:40", + "referencedDeclaration": 2838, + "src": "753:5:42", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 2799, + "id": 2847, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 2470, - "src": "753:13:40", + "referencedDeclaration": 2518, + "src": "753:13:42", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 2802, + "id": 2850, "isConstant": false, "isLValue": false, "isPure": false, @@ -670,7 +670,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "753:29:40", + "src": "753:29:42", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -684,18 +684,18 @@ "typeString": "bool" } ], - "id": 2797, + "id": 2845, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4773, - "src": "746:6:40", + "referencedDeclaration": 4868, + "src": "746:6:42", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2803, + "id": 2851, "isConstant": false, "isLValue": false, "isPure": false, @@ -703,20 +703,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "746:37:40", + "src": "746:37:42", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2804, + "id": 2852, "nodeType": "ExpressionStatement", - "src": "746:37:40" + "src": "746:37:42" } ] }, "documentation": null, - "id": 2806, + "id": 2854, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -724,31 +724,31 @@ "name": "safeApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 2795, + "id": 2843, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2790, + "id": 2838, "name": "token", "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "686:11:40", + "scope": 2854, + "src": "686:11:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" }, "typeName": { "contractScope": null, - "id": 2789, + "id": 2837, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "686:5:40", + "referencedDeclaration": 2527, + "src": "686:5:42", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -757,11 +757,11 @@ }, { "constant": false, - "id": 2792, + "id": 2840, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "699:15:40", + "scope": 2854, + "src": "699:15:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -769,10 +769,10 @@ "typeString": "address" }, "typeName": { - "id": 2791, + "id": 2839, "name": "address", "nodeType": "ElementaryTypeName", - "src": "699:7:40", + "src": "699:7:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -783,11 +783,11 @@ }, { "constant": false, - "id": 2794, + "id": 2842, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "716:13:40", + "scope": 2854, + "src": "716:13:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -795,10 +795,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2793, + "id": 2841, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "716:7:40", + "src": "716:7:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -808,40 +808,40 @@ "visibility": "internal" } ], - "src": "685:45:40" + "src": "685:45:42" }, "payable": false, "returnParameters": { - "id": 2796, + "id": 2844, "nodeType": "ParameterList", "parameters": [], - "src": "740:0:40" + "src": "740:0:42" }, - "scope": 2807, - "src": "665:123:40", + "scope": 2855, + "src": "665:123:42", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 2808, - "src": "346:444:40" + "scope": 2856, + "src": "346:444:42" } ], - "src": "0:791:40" + "src": "0:791:42" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/SafeERC20.sol", "exportedSymbols": { "SafeERC20": [ - 2807 + 2855 ] }, - "id": 2808, + "id": 2856, "nodeType": "SourceUnit", "nodes": [ { - "id": 2747, + "id": 2795, "literals": [ "solidity", "^", @@ -849,27 +849,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:40" + "src": "0:24:42" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20Basic.sol", "file": "./ERC20Basic.sol", - "id": 2748, + "id": 2796, "nodeType": "ImportDirective", - "scope": 2808, - "sourceUnit": 2512, - "src": "26:26:40", + "scope": 2856, + "sourceUnit": 2560, + "src": "26:26:42", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20.sol", "file": "./ERC20.sol", - "id": 2749, + "id": 2797, "nodeType": "ImportDirective", - "scope": 2808, - "sourceUnit": 2480, - "src": "53:21:40", + "scope": 2856, + "sourceUnit": 2528, + "src": "53:21:42", "symbolAliases": [], "unitAlias": "" }, @@ -879,18 +879,18 @@ "contractKind": "library", "documentation": "@title SafeERC20\n@dev Wrappers around ERC20 operations that throw on failure.\nTo use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,\nwhich allows you to call the safe operations as `token.safeTransfer(...)`, etc.", "fullyImplemented": true, - "id": 2807, + "id": 2855, "linearizedBaseContracts": [ - 2807 + 2855 ], "name": "SafeERC20", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 2766, + "id": 2814, "nodeType": "Block", - "src": "444:44:40", + "src": "444:44:42", "statements": [ { "expression": { @@ -901,12 +901,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2761, + "id": 2809, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2753, - "src": "472:2:40", + "referencedDeclaration": 2801, + "src": "472:2:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -914,12 +914,12 @@ }, { "argumentTypes": null, - "id": 2762, + "id": 2810, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2755, - "src": "476:5:40", + "referencedDeclaration": 2803, + "src": "476:5:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -939,32 +939,32 @@ ], "expression": { "argumentTypes": null, - "id": 2759, + "id": 2807, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2751, - "src": "457:5:40", + "referencedDeclaration": 2799, + "src": "457:5:42", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 2760, + "id": 2808, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2502, - "src": "457:14:40", + "referencedDeclaration": 2550, + "src": "457:14:42", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 2763, + "id": 2811, "isConstant": false, "isLValue": false, "isPure": false, @@ -972,7 +972,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "457:25:40", + "src": "457:25:42", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -986,18 +986,18 @@ "typeString": "bool" } ], - "id": 2758, + "id": 2806, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4773, - "src": "450:6:40", + "referencedDeclaration": 4868, + "src": "450:6:42", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2764, + "id": 2812, "isConstant": false, "isLValue": false, "isPure": false, @@ -1005,20 +1005,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "450:33:40", + "src": "450:33:42", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2765, + "id": 2813, "nodeType": "ExpressionStatement", - "src": "450:33:40" + "src": "450:33:42" } ] }, "documentation": null, - "id": 2767, + "id": 2815, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1026,31 +1026,31 @@ "name": "safeTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 2756, + "id": 2804, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2751, + "id": 2799, "name": "token", "nodeType": "VariableDeclaration", - "scope": 2767, - "src": "390:16:40", + "scope": 2815, + "src": "390:16:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" }, "typeName": { "contractScope": null, - "id": 2750, + "id": 2798, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "390:10:40", + "referencedDeclaration": 2559, + "src": "390:10:42", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -1059,11 +1059,11 @@ }, { "constant": false, - "id": 2753, + "id": 2801, "name": "to", "nodeType": "VariableDeclaration", - "scope": 2767, - "src": "408:10:40", + "scope": 2815, + "src": "408:10:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1071,10 +1071,10 @@ "typeString": "address" }, "typeName": { - "id": 2752, + "id": 2800, "name": "address", "nodeType": "ElementaryTypeName", - "src": "408:7:40", + "src": "408:7:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1085,11 +1085,11 @@ }, { "constant": false, - "id": 2755, + "id": 2803, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2767, - "src": "420:13:40", + "scope": 2815, + "src": "420:13:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1097,10 +1097,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2754, + "id": 2802, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "420:7:40", + "src": "420:7:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1110,26 +1110,26 @@ "visibility": "internal" } ], - "src": "389:45:40" + "src": "389:45:42" }, "payable": false, "returnParameters": { - "id": 2757, + "id": 2805, "nodeType": "ParameterList", "parameters": [], - "src": "444:0:40" + "src": "444:0:42" }, - "scope": 2807, - "src": "368:120:40", + "scope": 2855, + "src": "368:120:42", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 2787, + "id": 2835, "nodeType": "Block", - "src": "607:54:40", + "src": "607:54:42", "statements": [ { "expression": { @@ -1140,12 +1140,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2781, + "id": 2829, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2771, - "src": "639:4:40", + "referencedDeclaration": 2819, + "src": "639:4:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1153,12 +1153,12 @@ }, { "argumentTypes": null, - "id": 2782, + "id": 2830, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2773, - "src": "645:2:40", + "referencedDeclaration": 2821, + "src": "645:2:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1166,12 +1166,12 @@ }, { "argumentTypes": null, - "id": 2783, + "id": 2831, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2775, - "src": "649:5:40", + "referencedDeclaration": 2823, + "src": "649:5:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1195,32 +1195,32 @@ ], "expression": { "argumentTypes": null, - "id": 2779, + "id": 2827, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2769, - "src": "620:5:40", + "referencedDeclaration": 2817, + "src": "620:5:42", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 2780, + "id": 2828, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 2461, - "src": "620:18:40", + "referencedDeclaration": 2509, + "src": "620:18:42", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 2784, + "id": 2832, "isConstant": false, "isLValue": false, "isPure": false, @@ -1228,7 +1228,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "620:35:40", + "src": "620:35:42", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1242,18 +1242,18 @@ "typeString": "bool" } ], - "id": 2778, + "id": 2826, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4773, - "src": "613:6:40", + "referencedDeclaration": 4868, + "src": "613:6:42", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2785, + "id": 2833, "isConstant": false, "isLValue": false, "isPure": false, @@ -1261,20 +1261,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "613:43:40", + "src": "613:43:42", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2786, + "id": 2834, "nodeType": "ExpressionStatement", - "src": "613:43:40" + "src": "613:43:42" } ] }, "documentation": null, - "id": 2788, + "id": 2836, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1282,31 +1282,31 @@ "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 2776, + "id": 2824, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2769, + "id": 2817, "name": "token", "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "523:11:40", + "scope": 2836, + "src": "523:11:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" }, "typeName": { "contractScope": null, - "id": 2768, + "id": 2816, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "523:5:40", + "referencedDeclaration": 2527, + "src": "523:5:42", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -1315,11 +1315,11 @@ }, { "constant": false, - "id": 2771, + "id": 2819, "name": "from", "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "540:12:40", + "scope": 2836, + "src": "540:12:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1327,10 +1327,10 @@ "typeString": "address" }, "typeName": { - "id": 2770, + "id": 2818, "name": "address", "nodeType": "ElementaryTypeName", - "src": "540:7:40", + "src": "540:7:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1341,11 +1341,11 @@ }, { "constant": false, - "id": 2773, + "id": 2821, "name": "to", "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "558:10:40", + "scope": 2836, + "src": "558:10:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1353,10 +1353,10 @@ "typeString": "address" }, "typeName": { - "id": 2772, + "id": 2820, "name": "address", "nodeType": "ElementaryTypeName", - "src": "558:7:40", + "src": "558:7:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1367,11 +1367,11 @@ }, { "constant": false, - "id": 2775, + "id": 2823, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "574:13:40", + "scope": 2836, + "src": "574:13:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1379,10 +1379,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2774, + "id": 2822, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "574:7:40", + "src": "574:7:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1392,26 +1392,26 @@ "visibility": "internal" } ], - "src": "517:74:40" + "src": "517:74:42" }, "payable": false, "returnParameters": { - "id": 2777, + "id": 2825, "nodeType": "ParameterList", "parameters": [], - "src": "607:0:40" + "src": "607:0:42" }, - "scope": 2807, - "src": "492:169:40", + "scope": 2855, + "src": "492:169:42", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 2805, + "id": 2853, "nodeType": "Block", - "src": "740:48:40", + "src": "740:48:42", "statements": [ { "expression": { @@ -1422,12 +1422,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2800, + "id": 2848, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2792, - "src": "767:7:40", + "referencedDeclaration": 2840, + "src": "767:7:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1435,12 +1435,12 @@ }, { "argumentTypes": null, - "id": 2801, + "id": 2849, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2794, - "src": "776:5:40", + "referencedDeclaration": 2842, + "src": "776:5:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1460,32 +1460,32 @@ ], "expression": { "argumentTypes": null, - "id": 2798, + "id": 2846, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2790, - "src": "753:5:40", + "referencedDeclaration": 2838, + "src": "753:5:42", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 2799, + "id": 2847, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 2470, - "src": "753:13:40", + "referencedDeclaration": 2518, + "src": "753:13:42", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 2802, + "id": 2850, "isConstant": false, "isLValue": false, "isPure": false, @@ -1493,7 +1493,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "753:29:40", + "src": "753:29:42", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1507,18 +1507,18 @@ "typeString": "bool" } ], - "id": 2797, + "id": 2845, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4773, - "src": "746:6:40", + "referencedDeclaration": 4868, + "src": "746:6:42", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2803, + "id": 2851, "isConstant": false, "isLValue": false, "isPure": false, @@ -1526,20 +1526,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "746:37:40", + "src": "746:37:42", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2804, + "id": 2852, "nodeType": "ExpressionStatement", - "src": "746:37:40" + "src": "746:37:42" } ] }, "documentation": null, - "id": 2806, + "id": 2854, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1547,31 +1547,31 @@ "name": "safeApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 2795, + "id": 2843, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2790, + "id": 2838, "name": "token", "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "686:11:40", + "scope": 2854, + "src": "686:11:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" }, "typeName": { "contractScope": null, - "id": 2789, + "id": 2837, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "686:5:40", + "referencedDeclaration": 2527, + "src": "686:5:42", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -1580,11 +1580,11 @@ }, { "constant": false, - "id": 2792, + "id": 2840, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "699:15:40", + "scope": 2854, + "src": "699:15:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1592,10 +1592,10 @@ "typeString": "address" }, "typeName": { - "id": 2791, + "id": 2839, "name": "address", "nodeType": "ElementaryTypeName", - "src": "699:7:40", + "src": "699:7:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1606,11 +1606,11 @@ }, { "constant": false, - "id": 2794, + "id": 2842, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "716:13:40", + "scope": 2854, + "src": "716:13:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1618,10 +1618,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2793, + "id": 2841, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "716:7:40", + "src": "716:7:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1631,33 +1631,33 @@ "visibility": "internal" } ], - "src": "685:45:40" + "src": "685:45:42" }, "payable": false, "returnParameters": { - "id": 2796, + "id": 2844, "nodeType": "ParameterList", "parameters": [], - "src": "740:0:40" + "src": "740:0:42" }, - "scope": 2807, - "src": "665:123:40", + "scope": 2855, + "src": "665:123:42", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 2808, - "src": "346:444:40" + "scope": 2856, + "src": "346:444:42" } ], - "src": "0:791:40" + "src": "0:791:42" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.640Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.215Z" } \ No newline at end of file diff --git a/build/contracts/SafeERC20Helper.json b/build/contracts/SafeERC20Helper.json index f8359c9c4..a70dc9b77 100644 --- a/build/contracts/SafeERC20Helper.json +++ b/build/contracts/SafeERC20Helper.json @@ -62,30 +62,30 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506100196100df565b604051809103906000f080158015610035573d6000803e3d6000fd5b506000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061007d6100ef565b604051809103906000f080158015610099573d6000803e3d6000fd5b50600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506100ff565b6040516103508061071a83390190565b60405161035380610a6a83390190565b61060c8061010e6000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806350930ca51461007d57806356b2c5bb146100945780636573ee1e146100ab578063afa03ac9146100c2578063b19faed8146100d9578063d7228bb5146100f0575b600080fd5b34801561008957600080fd5b50610092610107565b005b3480156100a057600080fd5b506100a9610159565b005b3480156100b757600080fd5b506100c06101a9565b005b3480156100ce57600080fd5b506100d76101f8565b005b3480156100e557600080fd5b506100ee610247565b005b3480156100fc57600080fd5b50610105610297565b005b61015760008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166102ea909392919063ffffffff16565b565b6101a7600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661040a9092919063ffffffff16565b565b6101f66000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f59092919063ffffffff16565b565b6102456000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661040a9092919063ffffffff16565b565b610295600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f59092919063ffffffff16565b565b6102e86000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166102ea909392919063ffffffff16565b565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156103c157600080fd5b505af11580156103d5573d6000803e3d6000fd5b505050506040513d60208110156103eb57600080fd5b8101908080519060200190929190505050151561040457fe5b50505050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156104ad57600080fd5b505af11580156104c1573d6000803e3d6000fd5b505050506040513d60208110156104d757600080fd5b810190808051906020019092919050505015156104f057fe5b505050565b8273ffffffffffffffffffffffffffffffffffffffff1663095ea7b383836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561059857600080fd5b505af11580156105ac573d6000803e3d6000fd5b505050506040513d60208110156105c257600080fd5b810190808051906020019092919050505015156105db57fe5b5050505600a165627a7a723058203f268f4532b229fa5bf44dd059ad17c88502e76051298d1a653ab4820b12bd0a0029608060405234801561001057600080fd5b50610330806100206000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461007d57806318160ddd146100e257806323b872dd1461010d57806370a0823114610192578063a9059cbb146101e9578063dd62ed3e1461024e575b600080fd5b34801561008957600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102c5565b604051808215151515815260200191505060405180910390f35b3480156100ee57600080fd5b506100f76102d0565b6040518082815260200191505060405180910390f35b34801561011957600080fd5b50610178600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102d8565b604051808215151515815260200191505060405180910390f35b34801561019e57600080fd5b506101d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102e4565b6040518082815260200191505060405180910390f35b3480156101f557600080fd5b50610234600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102ee565b604051808215151515815260200191505060405180910390f35b34801561025a57600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102f9565b6040518082815260200191505060405180910390f35b600080905092915050565b600080905090565b60008090509392505050565b6000809050919050565b600080905092915050565b6000809050929150505600a165627a7a723058200e50dde8c270286026f851f49e7a3a6ccfefb028f81dc9ce58dcd921a63a19090029608060405234801561001057600080fd5b50610333806100206000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461007d57806318160ddd146100e257806323b872dd1461010d57806370a0823114610192578063a9059cbb146101e9578063dd62ed3e1461024e575b600080fd5b34801561008957600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102c5565b604051808215151515815260200191505060405180910390f35b3480156100ee57600080fd5b506100f76102d1565b6040518082815260200191505060405180910390f35b34801561011957600080fd5b50610178600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102d9565b604051808215151515815260200191505060405180910390f35b34801561019e57600080fd5b506101d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102e6565b6040518082815260200191505060405180910390f35b3480156101f557600080fd5b50610234600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102f0565b604051808215151515815260200191505060405180910390f35b34801561025a57600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102fc565b6040518082815260200191505060405180910390f35b60006001905092915050565b600080905090565b6000600190509392505050565b6000809050919050565b60006001905092915050565b6000809050929150505600a165627a7a723058206030d3b1270f7a73664aeadead667a097a0628a45447491be1240bf63d483af70029", - "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806350930ca51461007d57806356b2c5bb146100945780636573ee1e146100ab578063afa03ac9146100c2578063b19faed8146100d9578063d7228bb5146100f0575b600080fd5b34801561008957600080fd5b50610092610107565b005b3480156100a057600080fd5b506100a9610159565b005b3480156100b757600080fd5b506100c06101a9565b005b3480156100ce57600080fd5b506100d76101f8565b005b3480156100e557600080fd5b506100ee610247565b005b3480156100fc57600080fd5b50610105610297565b005b61015760008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166102ea909392919063ffffffff16565b565b6101a7600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661040a9092919063ffffffff16565b565b6101f66000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f59092919063ffffffff16565b565b6102456000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661040a9092919063ffffffff16565b565b610295600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f59092919063ffffffff16565b565b6102e86000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166102ea909392919063ffffffff16565b565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156103c157600080fd5b505af11580156103d5573d6000803e3d6000fd5b505050506040513d60208110156103eb57600080fd5b8101908080519060200190929190505050151561040457fe5b50505050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156104ad57600080fd5b505af11580156104c1573d6000803e3d6000fd5b505050506040513d60208110156104d757600080fd5b810190808051906020019092919050505015156104f057fe5b505050565b8273ffffffffffffffffffffffffffffffffffffffff1663095ea7b383836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561059857600080fd5b505af11580156105ac573d6000803e3d6000fd5b505050506040513d60208110156105c257600080fd5b810190808051906020019092919050505015156105db57fe5b5050505600a165627a7a723058203f268f4532b229fa5bf44dd059ad17c88502e76051298d1a653ab4820b12bd0a0029", - "sourceMap": "1212:718:21:-;;;1309:121;8:9:-1;5:2;;;30:1;27;20:12;5:2;1309:121:21;1359:22;;:::i;:::-;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1359:22:21;1349:7;;:32;;;;;;;;;;;;;;;;;;1400:25;;:::i;:::-;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1400:25:21;1387:10;;:38;;;;;;;;;;;;;;;;;;1212:718;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "1212:718:21:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1511:84;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1511:84:21;;;;;;1674:79;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1674:79:21;;;;;;1599:71;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1599:71:21;;;;;;1434:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1434:73:21;;;;;;1851:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1851:77:21;;;;;;1757:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1757:90:21;;;;;;1511:84;1557:33;1582:1;1585;1588;1557:7;;;;;;;;;;;:24;;;;:33;;;;;;:::i;:::-;1511:84::o;1674:79::-;1719:29;1743:1;1746;1719:10;;;;;;;;;;;:23;;;;:29;;;;;:::i;:::-;1674:79::o;1599:71::-;1640:25;1660:1;1663;1640:7;;;;;;;;;;;:19;;;;:25;;;;;:::i;:::-;1599:71::o;1434:73::-;1476:26;1497:1;1500;1476:7;;;;;;;;;;;:20;;;;:26;;;;;:::i;:::-;1434:73::o;1851:77::-;1895:28;1918:1;1921;1895:10;;;;;;;;;;;:22;;;;:28;;;;;:::i;:::-;1851:77::o;1757:90::-;1806:36;1834:1;1837;1840;1806:10;;;;;;;;;;;:27;;;;:36;;;;;;:::i;:::-;1757:90::o;492:169:40:-;620:5;:18;;;639:4;645:2;649:5;620:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;620:35:40;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;620:35:40;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;620:35:40;;;;;;;;;;;;;;;;613:43;;;;;;492:169;;;;:::o;368:120::-;457:5;:14;;;472:2;476:5;457:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;457:25:40;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;457:25:40;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;457:25:40;;;;;;;;;;;;;;;;450:33;;;;;;368:120;;;:::o;665:123::-;753:5;:13;;;767:7;776:5;753:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;753:29:40;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;753:29:40;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;753:29:40;;;;;;;;;;;;;;;;746:37;;;;;;665:123;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b506100196100df565b604051809103906000f080158015610035573d6000803e3d6000fd5b506000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061007d6100ef565b604051809103906000f080158015610099573d6000803e3d6000fd5b50600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506100ff565b6040516103508061071a83390190565b60405161035380610a6a83390190565b61060c8061010e6000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806350930ca51461007d57806356b2c5bb146100945780636573ee1e146100ab578063afa03ac9146100c2578063b19faed8146100d9578063d7228bb5146100f0575b600080fd5b34801561008957600080fd5b50610092610107565b005b3480156100a057600080fd5b506100a9610159565b005b3480156100b757600080fd5b506100c06101a9565b005b3480156100ce57600080fd5b506100d76101f8565b005b3480156100e557600080fd5b506100ee610247565b005b3480156100fc57600080fd5b50610105610297565b005b61015760008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166102ea909392919063ffffffff16565b565b6101a7600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661040a9092919063ffffffff16565b565b6101f66000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f59092919063ffffffff16565b565b6102456000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661040a9092919063ffffffff16565b565b610295600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f59092919063ffffffff16565b565b6102e86000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166102ea909392919063ffffffff16565b565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156103c157600080fd5b505af11580156103d5573d6000803e3d6000fd5b505050506040513d60208110156103eb57600080fd5b8101908080519060200190929190505050151561040457fe5b50505050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156104ad57600080fd5b505af11580156104c1573d6000803e3d6000fd5b505050506040513d60208110156104d757600080fd5b810190808051906020019092919050505015156104f057fe5b505050565b8273ffffffffffffffffffffffffffffffffffffffff1663095ea7b383836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561059857600080fd5b505af11580156105ac573d6000803e3d6000fd5b505050506040513d60208110156105c257600080fd5b810190808051906020019092919050505015156105db57fe5b5050505600a165627a7a723058203a6b979264e6ff352d9fcd20ddae27c833d6275f0a32489f41986a21efb0fb830029608060405234801561001057600080fd5b50610330806100206000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461007d57806318160ddd146100e257806323b872dd1461010d57806370a0823114610192578063a9059cbb146101e9578063dd62ed3e1461024e575b600080fd5b34801561008957600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102c5565b604051808215151515815260200191505060405180910390f35b3480156100ee57600080fd5b506100f76102d0565b6040518082815260200191505060405180910390f35b34801561011957600080fd5b50610178600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102d8565b604051808215151515815260200191505060405180910390f35b34801561019e57600080fd5b506101d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102e4565b6040518082815260200191505060405180910390f35b3480156101f557600080fd5b50610234600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102ee565b604051808215151515815260200191505060405180910390f35b34801561025a57600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102f9565b6040518082815260200191505060405180910390f35b600080905092915050565b600080905090565b60008090509392505050565b6000809050919050565b600080905092915050565b6000809050929150505600a165627a7a7230582044127080c704f59cb7fc999aa47236c7c4eb6fcf676bf64edd13baed06c2bb6c0029608060405234801561001057600080fd5b50610333806100206000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461007d57806318160ddd146100e257806323b872dd1461010d57806370a0823114610192578063a9059cbb146101e9578063dd62ed3e1461024e575b600080fd5b34801561008957600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102c5565b604051808215151515815260200191505060405180910390f35b3480156100ee57600080fd5b506100f76102d1565b6040518082815260200191505060405180910390f35b34801561011957600080fd5b50610178600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102d9565b604051808215151515815260200191505060405180910390f35b34801561019e57600080fd5b506101d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102e6565b6040518082815260200191505060405180910390f35b3480156101f557600080fd5b50610234600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102f0565b604051808215151515815260200191505060405180910390f35b34801561025a57600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102fc565b6040518082815260200191505060405180910390f35b60006001905092915050565b600080905090565b6000600190509392505050565b6000809050919050565b60006001905092915050565b6000809050929150505600a165627a7a72305820c5c19aff9120b287fe7edc145d1271f1fc60e7e062268d1e621ab3e70e35adb50029", + "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806350930ca51461007d57806356b2c5bb146100945780636573ee1e146100ab578063afa03ac9146100c2578063b19faed8146100d9578063d7228bb5146100f0575b600080fd5b34801561008957600080fd5b50610092610107565b005b3480156100a057600080fd5b506100a9610159565b005b3480156100b757600080fd5b506100c06101a9565b005b3480156100ce57600080fd5b506100d76101f8565b005b3480156100e557600080fd5b506100ee610247565b005b3480156100fc57600080fd5b50610105610297565b005b61015760008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166102ea909392919063ffffffff16565b565b6101a7600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661040a9092919063ffffffff16565b565b6101f66000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f59092919063ffffffff16565b565b6102456000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661040a9092919063ffffffff16565b565b610295600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f59092919063ffffffff16565b565b6102e86000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166102ea909392919063ffffffff16565b565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156103c157600080fd5b505af11580156103d5573d6000803e3d6000fd5b505050506040513d60208110156103eb57600080fd5b8101908080519060200190929190505050151561040457fe5b50505050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156104ad57600080fd5b505af11580156104c1573d6000803e3d6000fd5b505050506040513d60208110156104d757600080fd5b810190808051906020019092919050505015156104f057fe5b505050565b8273ffffffffffffffffffffffffffffffffffffffff1663095ea7b383836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561059857600080fd5b505af11580156105ac573d6000803e3d6000fd5b505050506040513d60208110156105c257600080fd5b810190808051906020019092919050505015156105db57fe5b5050505600a165627a7a723058203a6b979264e6ff352d9fcd20ddae27c833d6275f0a32489f41986a21efb0fb830029", + "sourceMap": "1212:718:23:-;;;1309:121;8:9:-1;5:2;;;30:1;27;20:12;5:2;1309:121:23;1359:22;;:::i;:::-;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1359:22:23;1349:7;;:32;;;;;;;;;;;;;;;;;;1400:25;;:::i;:::-;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1400:25:23;1387:10;;:38;;;;;;;;;;;;;;;;;;1212:718;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "1212:718:23:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1511:84;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1511:84:23;;;;;;1674:79;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1674:79:23;;;;;;1599:71;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1599:71:23;;;;;;1434:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1434:73:23;;;;;;1851:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1851:77:23;;;;;;1757:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1757:90:23;;;;;;1511:84;1557:33;1582:1;1585;1588;1557:7;;;;;;;;;;;:24;;;;:33;;;;;;:::i;:::-;1511:84::o;1674:79::-;1719:29;1743:1;1746;1719:10;;;;;;;;;;;:23;;;;:29;;;;;:::i;:::-;1674:79::o;1599:71::-;1640:25;1660:1;1663;1640:7;;;;;;;;;;;:19;;;;:25;;;;;:::i;:::-;1599:71::o;1434:73::-;1476:26;1497:1;1500;1476:7;;;;;;;;;;;:20;;;;:26;;;;;:::i;:::-;1434:73::o;1851:77::-;1895:28;1918:1;1921;1895:10;;;;;;;;;;;:22;;;;:28;;;;;:::i;:::-;1851:77::o;1757:90::-;1806:36;1834:1;1837;1840;1806:10;;;;;;;;;;;:27;;;;:36;;;;;;:::i;:::-;1757:90::o;492:169:42:-;620:5;:18;;;639:4;645:2;649:5;620:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;620:35:42;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;620:35:42;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;620:35:42;;;;;;;;;;;;;;;;613:43;;;;;;492:169;;;;:::o;368:120::-;457:5;:14;;;472:2;476:5;457:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;457:25:42;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;457:25:42;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;457:25:42;;;;;;;;;;;;;;;;450:33;;;;;;368:120;;;:::o;665:123::-;753:5;:13;;;767:7;776:5;753:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;753:29:42;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;753:29:42;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;753:29:42;;;;;;;;;;;;;;;;746:37;;;;;;665:123;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"../token/ERC20/ERC20.sol\";\nimport \"../token/ERC20/SafeERC20.sol\";\n\n\ncontract ERC20FailingMock is ERC20 {\n function totalSupply() public view returns (uint256) {\n return 0;\n }\n\n function transfer(address, uint256) public returns (bool) {\n return false;\n }\n\n function transferFrom(address, address, uint256) public returns (bool) {\n return false;\n }\n\n function approve(address, uint256) public returns (bool) {\n return false;\n }\n\n function balanceOf(address) public view returns (uint256) {\n return 0;\n }\n\n function allowance(address, address) public view returns (uint256) {\n return 0;\n }\n}\n\n\ncontract ERC20SucceedingMock is ERC20 {\n function totalSupply() public view returns (uint256) {\n return 0;\n }\n \n function transfer(address, uint256) public returns (bool) {\n return true;\n }\n\n function transferFrom(address, address, uint256) public returns (bool) {\n return true;\n }\n\n function approve(address, uint256) public returns (bool) {\n return true;\n }\n\n function balanceOf(address) public view returns (uint256) {\n return 0;\n }\n\n function allowance(address, address) public view returns (uint256) {\n return 0;\n }\n}\n\n\ncontract SafeERC20Helper {\n using SafeERC20 for ERC20;\n\n ERC20 failing;\n ERC20 succeeding;\n\n function SafeERC20Helper() public {\n failing = new ERC20FailingMock();\n succeeding = new ERC20SucceedingMock();\n }\n\n function doFailingTransfer() public {\n failing.safeTransfer(0, 0);\n }\n\n function doFailingTransferFrom() public {\n failing.safeTransferFrom(0, 0, 0);\n }\n\n function doFailingApprove() public {\n failing.safeApprove(0, 0);\n }\n\n function doSucceedingTransfer() public {\n succeeding.safeTransfer(0, 0);\n }\n\n function doSucceedingTransferFrom() public {\n succeeding.safeTransferFrom(0, 0, 0);\n }\n\n function doSucceedingApprove() public {\n succeeding.safeApprove(0, 0);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/SafeERC20Helper.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/SafeERC20Helper.sol", "exportedSymbols": { "ERC20FailingMock": [ - 1237 + 1285 ], "ERC20SucceedingMock": [ - 1308 + 1356 ], "SafeERC20Helper": [ - 1400 + 1448 ] }, - "id": 1401, + "id": 1449, "nodeType": "SourceUnit", "nodes": [ { - "id": 1164, + "id": 1212, "literals": [ "solidity", "^", @@ -93,27 +93,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:21" + "src": "0:24:23" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20.sol", "file": "../token/ERC20/ERC20.sol", - "id": 1165, + "id": 1213, "nodeType": "ImportDirective", - "scope": 1401, - "sourceUnit": 2480, - "src": "26:34:21", + "scope": 1449, + "sourceUnit": 2528, + "src": "26:34:23", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/SafeERC20.sol", "file": "../token/ERC20/SafeERC20.sol", - "id": 1166, + "id": 1214, "nodeType": "ImportDirective", - "scope": 1401, - "sourceUnit": 2808, - "src": "61:38:21", + "scope": 1449, + "sourceUnit": 2856, + "src": "61:38:23", "symbolAliases": [], "unitAlias": "" }, @@ -123,571 +123,42 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1167, + "id": 1215, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "131:5:21", + "referencedDeclaration": 2527, + "src": "131:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1168, + "id": 1216, "nodeType": "InheritanceSpecifier", - "src": "131:5:21" + "src": "131:5:23" } ], "contractDependencies": [ - 2479, - 2511 + 2527, + 2559 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1237, + "id": 1285, "linearizedBaseContracts": [ - 1237, - 2479, - 2511 + 1285, + 2527, + 2559 ], "name": "ERC20FailingMock", "nodeType": "ContractDefinition", "nodes": [ - { - "body": { - "id": 1175, - "nodeType": "Block", - "src": "194:19:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "207:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 1172, - "id": 1174, - "nodeType": "Return", - "src": "200:8:21" - } - ] - }, - "documentation": null, - "id": 1176, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1169, - "nodeType": "ParameterList", - "parameters": [], - "src": "161:2:21" - }, - "payable": false, - "returnParameters": { - "id": 1172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1171, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1176, - "src": "185:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1170, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "185:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "184:9:21" - }, - "scope": 1237, - "src": "141:72:21", - "stateMutability": "view", - "superFunction": 2486, - "visibility": "public" - }, - { - "body": { - "id": 1187, - "nodeType": "Block", - "src": "275:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "288:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1184, - "id": 1186, - "nodeType": "Return", - "src": "281:12:21" - } - ] - }, - "documentation": null, - "id": 1188, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1178, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "235:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1177, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "235:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1180, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "244:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "234:18:21" - }, - "payable": false, - "returnParameters": { - "id": 1184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1183, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "269:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1182, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "269:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "268:6:21" - }, - "scope": 1237, - "src": "217:81:21", - "stateMutability": "nonpayable", - "superFunction": 2502, - "visibility": "public" - }, - { - "body": { - "id": 1201, - "nodeType": "Block", - "src": "373:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "386:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1198, - "id": 1200, - "nodeType": "Return", - "src": "379:12:21" - } - ] - }, - "documentation": null, - "id": 1202, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1190, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "324:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "324:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1192, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "333:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "333:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1194, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "342:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "342:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "323:27:21" - }, - "payable": false, - "returnParameters": { - "id": 1198, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1197, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "367:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1196, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "367:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "366:6:21" - }, - "scope": 1237, - "src": "302:94:21", - "stateMutability": "nonpayable", - "superFunction": 2461, - "visibility": "public" - }, - { - "body": { - "id": 1213, - "nodeType": "Block", - "src": "457:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "470:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1210, - "id": 1212, - "nodeType": "Return", - "src": "463:12:21" - } - ] - }, - "documentation": null, - "id": 1214, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1204, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "417:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "417:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1206, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "426:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "426:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "416:18:21" - }, - "payable": false, - "returnParameters": { - "id": 1210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1209, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "451:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1208, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "451:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "450:6:21" - }, - "scope": 1237, - "src": "400:80:21", - "stateMutability": "nonpayable", - "superFunction": 2470, - "visibility": "public" - }, { "body": { "id": 1223, "nodeType": "Block", - "src": "542:19:21", + "src": "194:19:23", "statements": [ { "expression": { @@ -700,7 +171,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "555:1:21", + "src": "207:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -711,7 +182,7 @@ "functionReturnParameters": 1220, "id": 1222, "nodeType": "Return", - "src": "548:8:21" + "src": "200:8:23" } ] }, @@ -721,40 +192,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "balanceOf", + "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { "id": 1217, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1216, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1224, - "src": "503:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1215, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "502:9:21" + "parameters": [], + "src": "161:2:23" }, "payable": false, "returnParameters": { @@ -767,7 +211,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "533:7:21", + "src": "185:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -778,7 +222,7 @@ "id": 1218, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "533:7:21", + "src": "185:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -788,43 +232,43 @@ "visibility": "internal" } ], - "src": "532:9:21" + "src": "184:9:23" }, - "scope": 1237, - "src": "484:77:21", + "scope": 1285, + "src": "141:72:23", "stateMutability": "view", - "superFunction": 2493, + "superFunction": 2534, "visibility": "public" }, { "body": { "id": 1235, "nodeType": "Block", - "src": "632:19:21", + "src": "275:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", + "hexValue": "66616c7365", "id": 1233, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "645:1:21", + "src": "288:5:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "false" }, "functionReturnParameters": 1232, "id": 1234, "nodeType": "Return", - "src": "638:8:21" + "src": "281:12:23" } ] }, @@ -832,9 +276,9 @@ "id": 1236, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "allowance", + "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { "id": 1229, @@ -846,7 +290,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "584:7:21", + "src": "235:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -857,7 +301,7 @@ "id": 1225, "name": "address", "nodeType": "ElementaryTypeName", - "src": "584:7:21", + "src": "235:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -872,28 +316,28 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "593:7:21", + "src": "244:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { "id": 1227, - "name": "address", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "593:7:21", + "src": "244:7:23", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "583:18:21" + "src": "234:18:23" }, "payable": false, "returnParameters": { @@ -906,134 +350,138 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "623:7:21", + "src": "269:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { "id": 1230, - "name": "uint256", + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "623:7:21", + "src": "269:4:23", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "value": null, "visibility": "internal" } ], - "src": "622:9:21" + "src": "268:6:23" }, - "scope": 1237, - "src": "565:86:21", - "stateMutability": "view", - "superFunction": 2450, + "scope": 1285, + "src": "217:81:23", + "stateMutability": "nonpayable", + "superFunction": 2550, "visibility": "public" - } - ], - "scope": 1401, - "src": "102:551:21" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1238, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "688:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", - "typeString": "contract ERC20" - } - }, - "id": 1239, - "nodeType": "InheritanceSpecifier", - "src": "688:5:21" - } - ], - "contractDependencies": [ - 2479, - 2511 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1308, - "linearizedBaseContracts": [ - 1308, - 2479, - 2511 - ], - "name": "ERC20SucceedingMock", - "nodeType": "ContractDefinition", - "nodes": [ + }, { "body": { - "id": 1246, + "id": 1249, "nodeType": "Block", - "src": "751:19:21", + "src": "373:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", - "id": 1244, + "hexValue": "66616c7365", + "id": 1247, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "764:1:21", + "src": "386:5:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "false" }, - "functionReturnParameters": 1243, - "id": 1245, + "functionReturnParameters": 1246, + "id": 1248, "nodeType": "Return", - "src": "757:8:21" + "src": "379:12:23" } ] }, "documentation": null, - "id": 1247, + "id": 1250, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "totalSupply", + "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1240, - "nodeType": "ParameterList", - "parameters": [], - "src": "718:2:21" - }, - "payable": false, - "returnParameters": { "id": 1243, "nodeType": "ParameterList", "parameters": [ + { + "constant": false, + "id": 1238, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "324:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1237, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "324:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1240, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "333:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1239, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "333:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, { "constant": false, "id": 1242, "name": "", "nodeType": "VariableDeclaration", - "scope": 1247, - "src": "742:7:21", + "scope": 1250, + "src": "342:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1044,7 +492,7 @@ "id": 1241, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "742:7:21", + "src": "342:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1054,125 +502,20 @@ "visibility": "internal" } ], - "src": "741:9:21" - }, - "scope": 1308, - "src": "698:72:21", - "stateMutability": "view", - "superFunction": 2486, - "visibility": "public" - }, - { - "body": { - "id": 1258, - "nodeType": "Block", - "src": "834:22:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "847:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1255, - "id": 1257, - "nodeType": "Return", - "src": "840:11:21" - } - ] - }, - "documentation": null, - "id": 1259, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1252, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1249, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "794:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "794:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1251, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "803:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1250, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "793:18:21" + "src": "323:27:23" }, "payable": false, "returnParameters": { - "id": 1255, + "id": 1246, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1254, + "id": 1245, "name": "", "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "828:4:21", + "scope": 1250, + "src": "367:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1180,10 +523,10 @@ "typeString": "bool" }, "typeName": { - "id": 1253, + "id": 1244, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "828:4:21", + "src": "367:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1193,213 +536,48 @@ "visibility": "internal" } ], - "src": "827:6:21" + "src": "366:6:23" }, - "scope": 1308, - "src": "776:80:21", + "scope": 1285, + "src": "302:94:23", "stateMutability": "nonpayable", - "superFunction": 2502, + "superFunction": 2509, "visibility": "public" }, { "body": { - "id": 1272, + "id": 1261, "nodeType": "Block", - "src": "931:22:21", + "src": "457:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "74727565", - "id": 1270, + "hexValue": "66616c7365", + "id": 1259, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "944:4:21", + "src": "470:5:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, - "value": "true" + "value": "false" }, - "functionReturnParameters": 1269, - "id": 1271, + "functionReturnParameters": 1258, + "id": 1260, "nodeType": "Return", - "src": "937:11:21" + "src": "463:12:23" } ] }, "documentation": null, - "id": 1273, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1261, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "882:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "882:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1263, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "891:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1262, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1265, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "900:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1264, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "881:27:21" - }, - "payable": false, - "returnParameters": { - "id": 1269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1268, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "925:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1267, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "925:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "924:6:21" - }, - "scope": 1308, - "src": "860:93:21", - "stateMutability": "nonpayable", - "superFunction": 2461, - "visibility": "public" - }, - { - "body": { - "id": 1284, - "nodeType": "Block", - "src": "1014:22:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1027:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1281, - "id": 1283, - "nodeType": "Return", - "src": "1020:11:21" - } - ] - }, - "documentation": null, - "id": 1285, + "id": 1262, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1407,16 +585,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 1278, + "id": 1255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1275, + "id": 1252, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "974:7:21", + "scope": 1262, + "src": "417:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1424,10 +602,10 @@ "typeString": "address" }, "typeName": { - "id": 1274, + "id": 1251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "974:7:21", + "src": "417:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1438,11 +616,11 @@ }, { "constant": false, - "id": 1277, + "id": 1254, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "983:7:21", + "scope": 1262, + "src": "426:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1450,10 +628,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1276, + "id": 1253, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "983:7:21", + "src": "426:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1463,20 +641,20 @@ "visibility": "internal" } ], - "src": "973:18:21" + "src": "416:18:23" }, "payable": false, "returnParameters": { - "id": 1281, + "id": 1258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1280, + "id": 1257, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "1008:4:21", + "scope": 1262, + "src": "451:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1484,10 +662,10 @@ "typeString": "bool" }, "typeName": { - "id": 1279, + "id": 1256, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1008:4:21", + "src": "451:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1497,19 +675,312 @@ "visibility": "internal" } ], - "src": "1007:6:21" + "src": "450:6:23" }, - "scope": 1308, - "src": "957:79:21", + "scope": 1285, + "src": "400:80:23", "stateMutability": "nonpayable", - "superFunction": 2470, + "superFunction": 2518, "visibility": "public" }, + { + "body": { + "id": 1271, + "nodeType": "Block", + "src": "542:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "555:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1268, + "id": 1270, + "nodeType": "Return", + "src": "548:8:23" + } + ] + }, + "documentation": null, + "id": 1272, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1264, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1272, + "src": "503:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "503:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "502:9:23" + }, + "payable": false, + "returnParameters": { + "id": 1268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1267, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1272, + "src": "533:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "533:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "532:9:23" + }, + "scope": 1285, + "src": "484:77:23", + "stateMutability": "view", + "superFunction": 2541, + "visibility": "public" + }, + { + "body": { + "id": 1283, + "nodeType": "Block", + "src": "632:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "645:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1280, + "id": 1282, + "nodeType": "Return", + "src": "638:8:23" + } + ] + }, + "documentation": null, + "id": 1284, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1277, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1274, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "584:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1273, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "584:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1276, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "593:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1275, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "593:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "583:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1280, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1279, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "623:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1278, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "623:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "622:9:23" + }, + "scope": 1285, + "src": "565:86:23", + "stateMutability": "view", + "superFunction": 2498, + "visibility": "public" + } + ], + "scope": 1449, + "src": "102:551:23" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1286, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2527, + "src": "688:5:23", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2527", + "typeString": "contract ERC20" + } + }, + "id": 1287, + "nodeType": "InheritanceSpecifier", + "src": "688:5:23" + } + ], + "contractDependencies": [ + 2527, + 2559 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1356, + "linearizedBaseContracts": [ + 1356, + 2527, + 2559 + ], + "name": "ERC20SucceedingMock", + "nodeType": "ContractDefinition", + "nodes": [ { "body": { "id": 1294, "nodeType": "Block", - "src": "1098:19:21", + "src": "751:19:23", "statements": [ { "expression": { @@ -1522,7 +993,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1111:1:21", + "src": "764:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1533,7 +1004,7 @@ "functionReturnParameters": 1291, "id": 1293, "nodeType": "Return", - "src": "1104:8:21" + "src": "757:8:23" } ] }, @@ -1543,40 +1014,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "balanceOf", + "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { "id": 1288, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1287, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1295, - "src": "1059:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1286, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1059:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1058:9:21" + "parameters": [], + "src": "718:2:23" }, "payable": false, "returnParameters": { @@ -1589,7 +1033,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1295, - "src": "1089:7:21", + "src": "742:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1600,7 +1044,7 @@ "id": 1289, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1089:7:21", + "src": "742:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1610,43 +1054,43 @@ "visibility": "internal" } ], - "src": "1088:9:21" + "src": "741:9:23" }, - "scope": 1308, - "src": "1040:77:21", + "scope": 1356, + "src": "698:72:23", "stateMutability": "view", - "superFunction": 2493, + "superFunction": 2534, "visibility": "public" }, { "body": { "id": 1306, "nodeType": "Block", - "src": "1188:19:21", + "src": "834:22:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", + "hexValue": "74727565", "id": 1304, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1201:1:21", + "src": "847:4:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "true" }, "functionReturnParameters": 1303, "id": 1305, "nodeType": "Return", - "src": "1194:8:21" + "src": "840:11:23" } ] }, @@ -1654,9 +1098,9 @@ "id": 1307, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "allowance", + "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { "id": 1300, @@ -1668,7 +1112,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1140:7:21", + "src": "794:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1679,7 +1123,7 @@ "id": 1296, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1140:7:21", + "src": "794:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1694,28 +1138,28 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1149:7:21", + "src": "803:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { "id": 1298, - "name": "address", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1149:7:21", + "src": "803:7:23", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "1139:18:21" + "src": "793:18:23" }, "payable": false, "returnParameters": { @@ -1728,7 +1172,138 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1179:7:21", + "src": "828:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1301, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "828:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "827:6:23" + }, + "scope": 1356, + "src": "776:80:23", + "stateMutability": "nonpayable", + "superFunction": 2550, + "visibility": "public" + }, + { + "body": { + "id": 1320, + "nodeType": "Block", + "src": "931:22:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "944:4:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1317, + "id": 1319, + "nodeType": "Return", + "src": "937:11:23" + } + ] + }, + "documentation": null, + "id": 1321, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1309, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "882:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1308, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "882:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1311, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "891:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1310, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "891:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1313, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "900:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1736,10 +1311,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1301, + "id": 1312, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1179:7:21", + "src": "900:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1749,85 +1324,510 @@ "visibility": "internal" } ], - "src": "1178:9:21" + "src": "881:27:23" }, - "scope": 1308, - "src": "1121:86:21", + "payable": false, + "returnParameters": { + "id": 1317, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1316, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "925:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1315, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "925:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "924:6:23" + }, + "scope": 1356, + "src": "860:93:23", + "stateMutability": "nonpayable", + "superFunction": 2509, + "visibility": "public" + }, + { + "body": { + "id": 1332, + "nodeType": "Block", + "src": "1014:22:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1027:4:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1329, + "id": 1331, + "nodeType": "Return", + "src": "1020:11:23" + } + ] + }, + "documentation": null, + "id": 1333, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1323, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "974:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1322, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "974:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1325, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "983:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "983:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "973:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1329, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1328, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "1008:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1327, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1008:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1007:6:23" + }, + "scope": 1356, + "src": "957:79:23", + "stateMutability": "nonpayable", + "superFunction": 2518, + "visibility": "public" + }, + { + "body": { + "id": 1342, + "nodeType": "Block", + "src": "1098:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1111:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1339, + "id": 1341, + "nodeType": "Return", + "src": "1104:8:23" + } + ] + }, + "documentation": null, + "id": 1343, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1335, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1343, + "src": "1059:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1059:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1058:9:23" + }, + "payable": false, + "returnParameters": { + "id": 1339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1338, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1343, + "src": "1089:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1337, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1089:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1088:9:23" + }, + "scope": 1356, + "src": "1040:77:23", "stateMutability": "view", - "superFunction": 2450, + "superFunction": 2541, + "visibility": "public" + }, + { + "body": { + "id": 1354, + "nodeType": "Block", + "src": "1188:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1201:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1351, + "id": 1353, + "nodeType": "Return", + "src": "1194:8:23" + } + ] + }, + "documentation": null, + "id": 1355, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1348, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1345, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1140:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1344, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1140:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1347, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1149:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1346, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1149:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1139:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1351, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1350, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1179:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1349, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1179:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1178:9:23" + }, + "scope": 1356, + "src": "1121:86:23", + "stateMutability": "view", + "superFunction": 2498, "visibility": "public" } ], - "scope": 1401, - "src": "656:553:21" + "scope": 1449, + "src": "656:553:23" }, { "baseContracts": [], "contractDependencies": [ - 1237, - 1308 + 1285, + 1356 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1400, + "id": 1448, "linearizedBaseContracts": [ - 1400 + 1448 ], "name": "SafeERC20Helper", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1311, + "id": 1359, "libraryName": { "contractScope": null, - "id": 1309, + "id": 1357, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2807, - "src": "1247:9:21", + "referencedDeclaration": 2855, + "src": "1247:9:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$2807", + "typeIdentifier": "t_contract$_SafeERC20_$2855", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "1241:26:21", + "src": "1241:26:23", "typeName": { "contractScope": null, - "id": 1310, + "id": 1358, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1261:5:21", + "referencedDeclaration": 2527, + "src": "1261:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } } }, { "constant": false, - "id": 1313, + "id": 1361, "name": "failing", "nodeType": "VariableDeclaration", - "scope": 1400, - "src": "1271:13:21", + "scope": 1448, + "src": "1271:13:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" }, "typeName": { "contractScope": null, - "id": 1312, + "id": 1360, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1271:5:21", + "referencedDeclaration": 2527, + "src": "1271:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -1836,26 +1836,26 @@ }, { "constant": false, - "id": 1315, + "id": 1363, "name": "succeeding", "nodeType": "VariableDeclaration", - "scope": 1400, - "src": "1288:16:21", + "scope": 1448, + "src": "1288:16:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" }, "typeName": { "contractScope": null, - "id": 1314, + "id": 1362, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1288:5:21", + "referencedDeclaration": 2527, + "src": "1288:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -1864,28 +1864,28 @@ }, { "body": { - "id": 1330, + "id": 1378, "nodeType": "Block", - "src": "1343:87:21", + "src": "1343:87:23", "statements": [ { "expression": { "argumentTypes": null, - "id": 1322, + "id": 1370, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1318, + "id": 1366, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1349:7:21", + "referencedDeclaration": 1361, + "src": "1349:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -1896,31 +1896,31 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1320, + "id": 1368, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1359:20:21", + "src": "1359:20:23", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20FailingMock_$1237_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20FailingMock_$1285_$", "typeString": "function () returns (contract ERC20FailingMock)" }, "typeName": { "contractScope": null, - "id": 1319, + "id": 1367, "name": "ERC20FailingMock", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1237, - "src": "1363:16:21", + "referencedDeclaration": 1285, + "src": "1363:16:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20FailingMock_$1237", + "typeIdentifier": "t_contract$_ERC20FailingMock_$1285", "typeString": "contract ERC20FailingMock" } } }, - "id": 1321, + "id": 1369, "isConstant": false, "isLValue": false, "isPure": false, @@ -1928,40 +1928,40 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1359:22:21", + "src": "1359:22:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20FailingMock_$1237", + "typeIdentifier": "t_contract$_ERC20FailingMock_$1285", "typeString": "contract ERC20FailingMock" } }, - "src": "1349:32:21", + "src": "1349:32:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1323, + "id": 1371, "nodeType": "ExpressionStatement", - "src": "1349:32:21" + "src": "1349:32:23" }, { "expression": { "argumentTypes": null, - "id": 1328, + "id": 1376, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1324, + "id": 1372, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1387:10:21", + "referencedDeclaration": 1363, + "src": "1387:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -1972,31 +1972,31 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1326, + "id": 1374, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1400:23:21", + "src": "1400:23:23", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20SucceedingMock_$1308_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20SucceedingMock_$1356_$", "typeString": "function () returns (contract ERC20SucceedingMock)" }, "typeName": { "contractScope": null, - "id": 1325, + "id": 1373, "name": "ERC20SucceedingMock", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1308, - "src": "1404:19:21", + "referencedDeclaration": 1356, + "src": "1404:19:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1308", + "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1356", "typeString": "contract ERC20SucceedingMock" } } }, - "id": 1327, + "id": 1375, "isConstant": false, "isLValue": false, "isPure": false, @@ -2004,26 +2004,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1400:25:21", + "src": "1400:25:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1308", + "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1356", "typeString": "contract ERC20SucceedingMock" } }, - "src": "1387:38:21", + "src": "1387:38:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1329, + "id": 1377, "nodeType": "ExpressionStatement", - "src": "1387:38:21" + "src": "1387:38:23" } ] }, "documentation": null, - "id": 1331, + "id": 1379, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -2031,29 +2031,29 @@ "name": "SafeERC20Helper", "nodeType": "FunctionDefinition", "parameters": { - "id": 1316, + "id": 1364, "nodeType": "ParameterList", "parameters": [], - "src": "1333:2:21" + "src": "1333:2:23" }, "payable": false, "returnParameters": { - "id": 1317, + "id": 1365, "nodeType": "ParameterList", "parameters": [], - "src": "1343:0:21" + "src": "1343:0:23" }, - "scope": 1400, - "src": "1309:121:21", + "scope": 1448, + "src": "1309:121:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1341, + "id": 1389, "nodeType": "Block", - "src": "1470:37:21", + "src": "1470:37:23", "statements": [ { "expression": { @@ -2062,14 +2062,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1337, + "id": 1385, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1497:1:21", + "src": "1497:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2080,14 +2080,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1338, + "id": 1386, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1500:1:21", + "src": "1500:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2109,32 +2109,32 @@ ], "expression": { "argumentTypes": null, - "id": 1334, + "id": 1382, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1476:7:21", + "referencedDeclaration": 1361, + "src": "1476:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1336, + "id": 1384, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "1476:20:21", + "referencedDeclaration": 2815, + "src": "1476:20:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 1339, + "id": 1387, "isConstant": false, "isLValue": false, "isPure": false, @@ -2142,20 +2142,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1476:26:21", + "src": "1476:26:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1340, + "id": 1388, "nodeType": "ExpressionStatement", - "src": "1476:26:21" + "src": "1476:26:23" } ] }, "documentation": null, - "id": 1342, + "id": 1390, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2163,29 +2163,29 @@ "name": "doFailingTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1332, + "id": 1380, "nodeType": "ParameterList", "parameters": [], - "src": "1460:2:21" + "src": "1460:2:23" }, "payable": false, "returnParameters": { - "id": 1333, + "id": 1381, "nodeType": "ParameterList", "parameters": [], - "src": "1470:0:21" + "src": "1470:0:23" }, - "scope": 1400, - "src": "1434:73:21", + "scope": 1448, + "src": "1434:73:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1353, + "id": 1401, "nodeType": "Block", - "src": "1551:44:21", + "src": "1551:44:23", "statements": [ { "expression": { @@ -2194,14 +2194,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1348, + "id": 1396, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1582:1:21", + "src": "1582:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2212,14 +2212,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1349, + "id": 1397, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1585:1:21", + "src": "1585:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2230,14 +2230,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1350, + "id": 1398, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1588:1:21", + "src": "1588:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2263,32 +2263,32 @@ ], "expression": { "argumentTypes": null, - "id": 1345, + "id": 1393, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1557:7:21", + "referencedDeclaration": 1361, + "src": "1557:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1347, + "id": 1395, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 2788, - "src": "1557:24:21", + "referencedDeclaration": 2836, + "src": "1557:24:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,address,uint256)" } }, - "id": 1351, + "id": 1399, "isConstant": false, "isLValue": false, "isPure": false, @@ -2296,20 +2296,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1557:33:21", + "src": "1557:33:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1352, + "id": 1400, "nodeType": "ExpressionStatement", - "src": "1557:33:21" + "src": "1557:33:23" } ] }, "documentation": null, - "id": 1354, + "id": 1402, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2317,29 +2317,29 @@ "name": "doFailingTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1343, + "id": 1391, "nodeType": "ParameterList", "parameters": [], - "src": "1541:2:21" + "src": "1541:2:23" }, "payable": false, "returnParameters": { - "id": 1344, + "id": 1392, "nodeType": "ParameterList", "parameters": [], - "src": "1551:0:21" + "src": "1551:0:23" }, - "scope": 1400, - "src": "1511:84:21", + "scope": 1448, + "src": "1511:84:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1364, + "id": 1412, "nodeType": "Block", - "src": "1634:36:21", + "src": "1634:36:23", "statements": [ { "expression": { @@ -2348,14 +2348,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1360, + "id": 1408, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1660:1:21", + "src": "1660:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2366,14 +2366,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1361, + "id": 1409, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1663:1:21", + "src": "1663:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2395,32 +2395,32 @@ ], "expression": { "argumentTypes": null, - "id": 1357, + "id": 1405, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1640:7:21", + "referencedDeclaration": 1361, + "src": "1640:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1359, + "id": 1407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeApprove", "nodeType": "MemberAccess", - "referencedDeclaration": 2806, - "src": "1640:19:21", + "referencedDeclaration": 2854, + "src": "1640:19:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,uint256)" } }, - "id": 1362, + "id": 1410, "isConstant": false, "isLValue": false, "isPure": false, @@ -2428,20 +2428,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1640:25:21", + "src": "1640:25:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1363, + "id": 1411, "nodeType": "ExpressionStatement", - "src": "1640:25:21" + "src": "1640:25:23" } ] }, "documentation": null, - "id": 1365, + "id": 1413, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2449,29 +2449,29 @@ "name": "doFailingApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1355, + "id": 1403, "nodeType": "ParameterList", "parameters": [], - "src": "1624:2:21" + "src": "1624:2:23" }, "payable": false, "returnParameters": { - "id": 1356, + "id": 1404, "nodeType": "ParameterList", "parameters": [], - "src": "1634:0:21" + "src": "1634:0:23" }, - "scope": 1400, - "src": "1599:71:21", + "scope": 1448, + "src": "1599:71:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1375, + "id": 1423, "nodeType": "Block", - "src": "1713:40:21", + "src": "1713:40:23", "statements": [ { "expression": { @@ -2480,14 +2480,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1371, + "id": 1419, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1743:1:21", + "src": "1743:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2498,14 +2498,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1372, + "id": 1420, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1746:1:21", + "src": "1746:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2527,32 +2527,32 @@ ], "expression": { "argumentTypes": null, - "id": 1368, + "id": 1416, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1719:10:21", + "referencedDeclaration": 1363, + "src": "1719:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1370, + "id": 1418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "1719:23:21", + "referencedDeclaration": 2815, + "src": "1719:23:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 1373, + "id": 1421, "isConstant": false, "isLValue": false, "isPure": false, @@ -2560,20 +2560,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1719:29:21", + "src": "1719:29:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1374, + "id": 1422, "nodeType": "ExpressionStatement", - "src": "1719:29:21" + "src": "1719:29:23" } ] }, "documentation": null, - "id": 1376, + "id": 1424, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2581,29 +2581,29 @@ "name": "doSucceedingTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1366, + "id": 1414, "nodeType": "ParameterList", "parameters": [], - "src": "1703:2:21" + "src": "1703:2:23" }, "payable": false, "returnParameters": { - "id": 1367, + "id": 1415, "nodeType": "ParameterList", "parameters": [], - "src": "1713:0:21" + "src": "1713:0:23" }, - "scope": 1400, - "src": "1674:79:21", + "scope": 1448, + "src": "1674:79:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1387, + "id": 1435, "nodeType": "Block", - "src": "1800:47:21", + "src": "1800:47:23", "statements": [ { "expression": { @@ -2612,14 +2612,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1382, + "id": 1430, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1834:1:21", + "src": "1834:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2630,14 +2630,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1383, + "id": 1431, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1837:1:21", + "src": "1837:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2648,14 +2648,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1384, + "id": 1432, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1840:1:21", + "src": "1840:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2681,32 +2681,32 @@ ], "expression": { "argumentTypes": null, - "id": 1379, + "id": 1427, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1806:10:21", + "referencedDeclaration": 1363, + "src": "1806:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1381, + "id": 1429, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 2788, - "src": "1806:27:21", + "referencedDeclaration": 2836, + "src": "1806:27:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,address,uint256)" } }, - "id": 1385, + "id": 1433, "isConstant": false, "isLValue": false, "isPure": false, @@ -2714,20 +2714,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1806:36:21", + "src": "1806:36:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1386, + "id": 1434, "nodeType": "ExpressionStatement", - "src": "1806:36:21" + "src": "1806:36:23" } ] }, "documentation": null, - "id": 1388, + "id": 1436, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2735,29 +2735,29 @@ "name": "doSucceedingTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1377, + "id": 1425, "nodeType": "ParameterList", "parameters": [], - "src": "1790:2:21" + "src": "1790:2:23" }, "payable": false, "returnParameters": { - "id": 1378, + "id": 1426, "nodeType": "ParameterList", "parameters": [], - "src": "1800:0:21" + "src": "1800:0:23" }, - "scope": 1400, - "src": "1757:90:21", + "scope": 1448, + "src": "1757:90:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1398, + "id": 1446, "nodeType": "Block", - "src": "1889:39:21", + "src": "1889:39:23", "statements": [ { "expression": { @@ -2766,14 +2766,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1394, + "id": 1442, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1918:1:21", + "src": "1918:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2784,14 +2784,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1395, + "id": 1443, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1921:1:21", + "src": "1921:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2813,32 +2813,32 @@ ], "expression": { "argumentTypes": null, - "id": 1391, + "id": 1439, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1895:10:21", + "referencedDeclaration": 1363, + "src": "1895:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1393, + "id": 1441, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeApprove", "nodeType": "MemberAccess", - "referencedDeclaration": 2806, - "src": "1895:22:21", + "referencedDeclaration": 2854, + "src": "1895:22:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,uint256)" } }, - "id": 1396, + "id": 1444, "isConstant": false, "isLValue": false, "isPure": false, @@ -2846,20 +2846,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1895:28:21", + "src": "1895:28:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1397, + "id": 1445, "nodeType": "ExpressionStatement", - "src": "1895:28:21" + "src": "1895:28:23" } ] }, "documentation": null, - "id": 1399, + "id": 1447, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2867,49 +2867,49 @@ "name": "doSucceedingApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1389, + "id": 1437, "nodeType": "ParameterList", "parameters": [], - "src": "1879:2:21" + "src": "1879:2:23" }, "payable": false, "returnParameters": { - "id": 1390, + "id": 1438, "nodeType": "ParameterList", "parameters": [], - "src": "1889:0:21" + "src": "1889:0:23" }, - "scope": 1400, - "src": "1851:77:21", + "scope": 1448, + "src": "1851:77:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1401, - "src": "1212:718:21" + "scope": 1449, + "src": "1212:718:23" } ], - "src": "0:1931:21" + "src": "0:1931:23" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/SafeERC20Helper.sol", "exportedSymbols": { "ERC20FailingMock": [ - 1237 + 1285 ], "ERC20SucceedingMock": [ - 1308 + 1356 ], "SafeERC20Helper": [ - 1400 + 1448 ] }, - "id": 1401, + "id": 1449, "nodeType": "SourceUnit", "nodes": [ { - "id": 1164, + "id": 1212, "literals": [ "solidity", "^", @@ -2917,27 +2917,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:21" + "src": "0:24:23" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20.sol", "file": "../token/ERC20/ERC20.sol", - "id": 1165, + "id": 1213, "nodeType": "ImportDirective", - "scope": 1401, - "sourceUnit": 2480, - "src": "26:34:21", + "scope": 1449, + "sourceUnit": 2528, + "src": "26:34:23", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/SafeERC20.sol", "file": "../token/ERC20/SafeERC20.sol", - "id": 1166, + "id": 1214, "nodeType": "ImportDirective", - "scope": 1401, - "sourceUnit": 2808, - "src": "61:38:21", + "scope": 1449, + "sourceUnit": 2856, + "src": "61:38:23", "symbolAliases": [], "unitAlias": "" }, @@ -2947,571 +2947,42 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1167, + "id": 1215, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "131:5:21", + "referencedDeclaration": 2527, + "src": "131:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1168, + "id": 1216, "nodeType": "InheritanceSpecifier", - "src": "131:5:21" + "src": "131:5:23" } ], "contractDependencies": [ - 2479, - 2511 + 2527, + 2559 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1237, + "id": 1285, "linearizedBaseContracts": [ - 1237, - 2479, - 2511 + 1285, + 2527, + 2559 ], "name": "ERC20FailingMock", "nodeType": "ContractDefinition", "nodes": [ - { - "body": { - "id": 1175, - "nodeType": "Block", - "src": "194:19:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "207:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 1172, - "id": 1174, - "nodeType": "Return", - "src": "200:8:21" - } - ] - }, - "documentation": null, - "id": 1176, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1169, - "nodeType": "ParameterList", - "parameters": [], - "src": "161:2:21" - }, - "payable": false, - "returnParameters": { - "id": 1172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1171, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1176, - "src": "185:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1170, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "185:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "184:9:21" - }, - "scope": 1237, - "src": "141:72:21", - "stateMutability": "view", - "superFunction": 2486, - "visibility": "public" - }, - { - "body": { - "id": 1187, - "nodeType": "Block", - "src": "275:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "288:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1184, - "id": 1186, - "nodeType": "Return", - "src": "281:12:21" - } - ] - }, - "documentation": null, - "id": 1188, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1178, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "235:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1177, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "235:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1180, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "244:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "234:18:21" - }, - "payable": false, - "returnParameters": { - "id": 1184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1183, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1188, - "src": "269:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1182, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "269:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "268:6:21" - }, - "scope": 1237, - "src": "217:81:21", - "stateMutability": "nonpayable", - "superFunction": 2502, - "visibility": "public" - }, - { - "body": { - "id": 1201, - "nodeType": "Block", - "src": "373:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "386:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1198, - "id": 1200, - "nodeType": "Return", - "src": "379:12:21" - } - ] - }, - "documentation": null, - "id": 1202, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1190, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "324:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "324:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1192, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "333:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "333:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1194, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "342:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "342:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "323:27:21" - }, - "payable": false, - "returnParameters": { - "id": 1198, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1197, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1202, - "src": "367:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1196, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "367:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "366:6:21" - }, - "scope": 1237, - "src": "302:94:21", - "stateMutability": "nonpayable", - "superFunction": 2461, - "visibility": "public" - }, - { - "body": { - "id": 1213, - "nodeType": "Block", - "src": "457:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "470:5:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1210, - "id": 1212, - "nodeType": "Return", - "src": "463:12:21" - } - ] - }, - "documentation": null, - "id": 1214, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1204, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "417:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "417:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1206, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "426:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "426:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "416:18:21" - }, - "payable": false, - "returnParameters": { - "id": 1210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1209, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "451:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1208, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "451:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "450:6:21" - }, - "scope": 1237, - "src": "400:80:21", - "stateMutability": "nonpayable", - "superFunction": 2470, - "visibility": "public" - }, { "body": { "id": 1223, "nodeType": "Block", - "src": "542:19:21", + "src": "194:19:23", "statements": [ { "expression": { @@ -3524,7 +2995,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "555:1:21", + "src": "207:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3535,7 +3006,7 @@ "functionReturnParameters": 1220, "id": 1222, "nodeType": "Return", - "src": "548:8:21" + "src": "200:8:23" } ] }, @@ -3545,40 +3016,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "balanceOf", + "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { "id": 1217, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1216, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1224, - "src": "503:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1215, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "503:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "502:9:21" + "parameters": [], + "src": "161:2:23" }, "payable": false, "returnParameters": { @@ -3591,7 +3035,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "533:7:21", + "src": "185:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3602,7 +3046,7 @@ "id": 1218, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "533:7:21", + "src": "185:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3612,43 +3056,43 @@ "visibility": "internal" } ], - "src": "532:9:21" + "src": "184:9:23" }, - "scope": 1237, - "src": "484:77:21", + "scope": 1285, + "src": "141:72:23", "stateMutability": "view", - "superFunction": 2493, + "superFunction": 2534, "visibility": "public" }, { "body": { "id": 1235, "nodeType": "Block", - "src": "632:19:21", + "src": "275:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", + "hexValue": "66616c7365", "id": 1233, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "645:1:21", + "src": "288:5:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "false" }, "functionReturnParameters": 1232, "id": 1234, "nodeType": "Return", - "src": "638:8:21" + "src": "281:12:23" } ] }, @@ -3656,9 +3100,9 @@ "id": 1236, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "allowance", + "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { "id": 1229, @@ -3670,7 +3114,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "584:7:21", + "src": "235:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3681,7 +3125,7 @@ "id": 1225, "name": "address", "nodeType": "ElementaryTypeName", - "src": "584:7:21", + "src": "235:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3696,28 +3140,28 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "593:7:21", + "src": "244:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { "id": 1227, - "name": "address", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "593:7:21", + "src": "244:7:23", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "583:18:21" + "src": "234:18:23" }, "payable": false, "returnParameters": { @@ -3730,134 +3174,138 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1236, - "src": "623:7:21", + "src": "269:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { "id": 1230, - "name": "uint256", + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "623:7:21", + "src": "269:4:23", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "value": null, "visibility": "internal" } ], - "src": "622:9:21" + "src": "268:6:23" }, - "scope": 1237, - "src": "565:86:21", - "stateMutability": "view", - "superFunction": 2450, + "scope": 1285, + "src": "217:81:23", + "stateMutability": "nonpayable", + "superFunction": 2550, "visibility": "public" - } - ], - "scope": 1401, - "src": "102:551:21" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1238, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "688:5:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", - "typeString": "contract ERC20" - } - }, - "id": 1239, - "nodeType": "InheritanceSpecifier", - "src": "688:5:21" - } - ], - "contractDependencies": [ - 2479, - 2511 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1308, - "linearizedBaseContracts": [ - 1308, - 2479, - 2511 - ], - "name": "ERC20SucceedingMock", - "nodeType": "ContractDefinition", - "nodes": [ + }, { "body": { - "id": 1246, + "id": 1249, "nodeType": "Block", - "src": "751:19:21", + "src": "373:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", - "id": 1244, + "hexValue": "66616c7365", + "id": 1247, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "764:1:21", + "src": "386:5:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "false" }, - "functionReturnParameters": 1243, - "id": 1245, + "functionReturnParameters": 1246, + "id": 1248, "nodeType": "Return", - "src": "757:8:21" + "src": "379:12:23" } ] }, "documentation": null, - "id": 1247, + "id": 1250, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "totalSupply", + "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1240, - "nodeType": "ParameterList", - "parameters": [], - "src": "718:2:21" - }, - "payable": false, - "returnParameters": { "id": 1243, "nodeType": "ParameterList", "parameters": [ + { + "constant": false, + "id": 1238, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "324:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1237, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "324:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1240, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "333:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1239, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "333:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, { "constant": false, "id": 1242, "name": "", "nodeType": "VariableDeclaration", - "scope": 1247, - "src": "742:7:21", + "scope": 1250, + "src": "342:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3868,7 +3316,7 @@ "id": 1241, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "742:7:21", + "src": "342:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3878,125 +3326,20 @@ "visibility": "internal" } ], - "src": "741:9:21" - }, - "scope": 1308, - "src": "698:72:21", - "stateMutability": "view", - "superFunction": 2486, - "visibility": "public" - }, - { - "body": { - "id": 1258, - "nodeType": "Block", - "src": "834:22:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "847:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1255, - "id": 1257, - "nodeType": "Return", - "src": "840:11:21" - } - ] - }, - "documentation": null, - "id": 1259, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1252, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1249, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "794:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "794:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1251, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "803:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1250, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "793:18:21" + "src": "323:27:23" }, "payable": false, "returnParameters": { - "id": 1255, + "id": 1246, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1254, + "id": 1245, "name": "", "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "828:4:21", + "scope": 1250, + "src": "367:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4004,10 +3347,10 @@ "typeString": "bool" }, "typeName": { - "id": 1253, + "id": 1244, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "828:4:21", + "src": "367:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4017,213 +3360,48 @@ "visibility": "internal" } ], - "src": "827:6:21" + "src": "366:6:23" }, - "scope": 1308, - "src": "776:80:21", + "scope": 1285, + "src": "302:94:23", "stateMutability": "nonpayable", - "superFunction": 2502, + "superFunction": 2509, "visibility": "public" }, { "body": { - "id": 1272, + "id": 1261, "nodeType": "Block", - "src": "931:22:21", + "src": "457:23:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "74727565", - "id": 1270, + "hexValue": "66616c7365", + "id": 1259, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "944:4:21", + "src": "470:5:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, - "value": "true" + "value": "false" }, - "functionReturnParameters": 1269, - "id": 1271, + "functionReturnParameters": 1258, + "id": 1260, "nodeType": "Return", - "src": "937:11:21" + "src": "463:12:23" } ] }, "documentation": null, - "id": 1273, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1261, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "882:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "882:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1263, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "891:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1262, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "891:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1265, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "900:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1264, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "900:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "881:27:21" - }, - "payable": false, - "returnParameters": { - "id": 1269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1268, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "925:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1267, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "925:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "924:6:21" - }, - "scope": 1308, - "src": "860:93:21", - "stateMutability": "nonpayable", - "superFunction": 2461, - "visibility": "public" - }, - { - "body": { - "id": 1284, - "nodeType": "Block", - "src": "1014:22:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1027:4:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1281, - "id": 1283, - "nodeType": "Return", - "src": "1020:11:21" - } - ] - }, - "documentation": null, - "id": 1285, + "id": 1262, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -4231,16 +3409,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 1278, + "id": 1255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1275, + "id": 1252, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "974:7:21", + "scope": 1262, + "src": "417:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4248,10 +3426,10 @@ "typeString": "address" }, "typeName": { - "id": 1274, + "id": 1251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "974:7:21", + "src": "417:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4262,11 +3440,11 @@ }, { "constant": false, - "id": 1277, + "id": 1254, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "983:7:21", + "scope": 1262, + "src": "426:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4274,10 +3452,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1276, + "id": 1253, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "983:7:21", + "src": "426:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4287,20 +3465,20 @@ "visibility": "internal" } ], - "src": "973:18:21" + "src": "416:18:23" }, "payable": false, "returnParameters": { - "id": 1281, + "id": 1258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1280, + "id": 1257, "name": "", "nodeType": "VariableDeclaration", - "scope": 1285, - "src": "1008:4:21", + "scope": 1262, + "src": "451:4:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4308,10 +3486,10 @@ "typeString": "bool" }, "typeName": { - "id": 1279, + "id": 1256, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1008:4:21", + "src": "451:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4321,19 +3499,312 @@ "visibility": "internal" } ], - "src": "1007:6:21" + "src": "450:6:23" }, - "scope": 1308, - "src": "957:79:21", + "scope": 1285, + "src": "400:80:23", "stateMutability": "nonpayable", - "superFunction": 2470, + "superFunction": 2518, "visibility": "public" }, + { + "body": { + "id": 1271, + "nodeType": "Block", + "src": "542:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "555:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1268, + "id": 1270, + "nodeType": "Return", + "src": "548:8:23" + } + ] + }, + "documentation": null, + "id": 1272, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1264, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1272, + "src": "503:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "503:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "502:9:23" + }, + "payable": false, + "returnParameters": { + "id": 1268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1267, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1272, + "src": "533:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "533:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "532:9:23" + }, + "scope": 1285, + "src": "484:77:23", + "stateMutability": "view", + "superFunction": 2541, + "visibility": "public" + }, + { + "body": { + "id": 1283, + "nodeType": "Block", + "src": "632:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "645:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1280, + "id": 1282, + "nodeType": "Return", + "src": "638:8:23" + } + ] + }, + "documentation": null, + "id": 1284, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1277, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1274, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "584:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1273, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "584:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1276, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "593:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1275, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "593:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "583:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1280, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1279, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "623:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1278, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "623:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "622:9:23" + }, + "scope": 1285, + "src": "565:86:23", + "stateMutability": "view", + "superFunction": 2498, + "visibility": "public" + } + ], + "scope": 1449, + "src": "102:551:23" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1286, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2527, + "src": "688:5:23", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2527", + "typeString": "contract ERC20" + } + }, + "id": 1287, + "nodeType": "InheritanceSpecifier", + "src": "688:5:23" + } + ], + "contractDependencies": [ + 2527, + 2559 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1356, + "linearizedBaseContracts": [ + 1356, + 2527, + 2559 + ], + "name": "ERC20SucceedingMock", + "nodeType": "ContractDefinition", + "nodes": [ { "body": { "id": 1294, "nodeType": "Block", - "src": "1098:19:21", + "src": "751:19:23", "statements": [ { "expression": { @@ -4346,7 +3817,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1111:1:21", + "src": "764:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4357,7 +3828,7 @@ "functionReturnParameters": 1291, "id": 1293, "nodeType": "Return", - "src": "1104:8:21" + "src": "757:8:23" } ] }, @@ -4367,40 +3838,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "balanceOf", + "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { "id": 1288, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1287, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1295, - "src": "1059:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1286, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1059:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1058:9:21" + "parameters": [], + "src": "718:2:23" }, "payable": false, "returnParameters": { @@ -4413,7 +3857,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1295, - "src": "1089:7:21", + "src": "742:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4424,7 +3868,7 @@ "id": 1289, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1089:7:21", + "src": "742:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4434,43 +3878,43 @@ "visibility": "internal" } ], - "src": "1088:9:21" + "src": "741:9:23" }, - "scope": 1308, - "src": "1040:77:21", + "scope": 1356, + "src": "698:72:23", "stateMutability": "view", - "superFunction": 2493, + "superFunction": 2534, "visibility": "public" }, { "body": { "id": 1306, "nodeType": "Block", - "src": "1188:19:21", + "src": "834:22:23", "statements": [ { "expression": { "argumentTypes": null, - "hexValue": "30", + "hexValue": "74727565", "id": 1304, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1201:1:21", + "src": "847:4:23", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" + "value": "true" }, "functionReturnParameters": 1303, "id": 1305, "nodeType": "Return", - "src": "1194:8:21" + "src": "840:11:23" } ] }, @@ -4478,9 +3922,9 @@ "id": 1307, "implemented": true, "isConstructor": false, - "isDeclaredConst": true, + "isDeclaredConst": false, "modifiers": [], - "name": "allowance", + "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { "id": 1300, @@ -4492,7 +3936,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1140:7:21", + "src": "794:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4503,7 +3947,7 @@ "id": 1296, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1140:7:21", + "src": "794:7:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4518,28 +3962,28 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1149:7:21", + "src": "803:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { "id": 1298, - "name": "address", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1149:7:21", + "src": "803:7:23", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "1139:18:21" + "src": "793:18:23" }, "payable": false, "returnParameters": { @@ -4552,7 +3996,138 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1307, - "src": "1179:7:21", + "src": "828:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1301, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "828:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "827:6:23" + }, + "scope": 1356, + "src": "776:80:23", + "stateMutability": "nonpayable", + "superFunction": 2550, + "visibility": "public" + }, + { + "body": { + "id": 1320, + "nodeType": "Block", + "src": "931:22:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "944:4:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1317, + "id": 1319, + "nodeType": "Return", + "src": "937:11:23" + } + ] + }, + "documentation": null, + "id": 1321, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1309, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "882:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1308, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "882:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1311, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "891:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1310, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "891:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1313, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "900:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4560,10 +4135,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1301, + "id": 1312, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1179:7:21", + "src": "900:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4573,85 +4148,510 @@ "visibility": "internal" } ], - "src": "1178:9:21" + "src": "881:27:23" }, - "scope": 1308, - "src": "1121:86:21", + "payable": false, + "returnParameters": { + "id": 1317, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1316, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1321, + "src": "925:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1315, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "925:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "924:6:23" + }, + "scope": 1356, + "src": "860:93:23", + "stateMutability": "nonpayable", + "superFunction": 2509, + "visibility": "public" + }, + { + "body": { + "id": 1332, + "nodeType": "Block", + "src": "1014:22:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1027:4:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1329, + "id": 1331, + "nodeType": "Return", + "src": "1020:11:23" + } + ] + }, + "documentation": null, + "id": 1333, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1323, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "974:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1322, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "974:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1325, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "983:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "983:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "973:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1329, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1328, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1333, + "src": "1008:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1327, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1008:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1007:6:23" + }, + "scope": 1356, + "src": "957:79:23", + "stateMutability": "nonpayable", + "superFunction": 2518, + "visibility": "public" + }, + { + "body": { + "id": 1342, + "nodeType": "Block", + "src": "1098:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1111:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1339, + "id": 1341, + "nodeType": "Return", + "src": "1104:8:23" + } + ] + }, + "documentation": null, + "id": 1343, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1335, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1343, + "src": "1059:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1059:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1058:9:23" + }, + "payable": false, + "returnParameters": { + "id": 1339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1338, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1343, + "src": "1089:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1337, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1089:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1088:9:23" + }, + "scope": 1356, + "src": "1040:77:23", "stateMutability": "view", - "superFunction": 2450, + "superFunction": 2541, + "visibility": "public" + }, + { + "body": { + "id": 1354, + "nodeType": "Block", + "src": "1188:19:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1201:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1351, + "id": 1353, + "nodeType": "Return", + "src": "1194:8:23" + } + ] + }, + "documentation": null, + "id": 1355, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1348, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1345, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1140:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1344, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1140:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1347, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1149:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1346, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1149:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1139:18:23" + }, + "payable": false, + "returnParameters": { + "id": 1351, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1350, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1355, + "src": "1179:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1349, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1179:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1178:9:23" + }, + "scope": 1356, + "src": "1121:86:23", + "stateMutability": "view", + "superFunction": 2498, "visibility": "public" } ], - "scope": 1401, - "src": "656:553:21" + "scope": 1449, + "src": "656:553:23" }, { "baseContracts": [], "contractDependencies": [ - 1237, - 1308 + 1285, + 1356 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1400, + "id": 1448, "linearizedBaseContracts": [ - 1400 + 1448 ], "name": "SafeERC20Helper", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1311, + "id": 1359, "libraryName": { "contractScope": null, - "id": 1309, + "id": 1357, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2807, - "src": "1247:9:21", + "referencedDeclaration": 2855, + "src": "1247:9:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$2807", + "typeIdentifier": "t_contract$_SafeERC20_$2855", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "1241:26:21", + "src": "1241:26:23", "typeName": { "contractScope": null, - "id": 1310, + "id": 1358, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1261:5:21", + "referencedDeclaration": 2527, + "src": "1261:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } } }, { "constant": false, - "id": 1313, + "id": 1361, "name": "failing", "nodeType": "VariableDeclaration", - "scope": 1400, - "src": "1271:13:21", + "scope": 1448, + "src": "1271:13:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" }, "typeName": { "contractScope": null, - "id": 1312, + "id": 1360, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1271:5:21", + "referencedDeclaration": 2527, + "src": "1271:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -4660,26 +4660,26 @@ }, { "constant": false, - "id": 1315, + "id": 1363, "name": "succeeding", "nodeType": "VariableDeclaration", - "scope": 1400, - "src": "1288:16:21", + "scope": 1448, + "src": "1288:16:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" }, "typeName": { "contractScope": null, - "id": 1314, + "id": 1362, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "1288:5:21", + "referencedDeclaration": 2527, + "src": "1288:5:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -4688,28 +4688,28 @@ }, { "body": { - "id": 1330, + "id": 1378, "nodeType": "Block", - "src": "1343:87:21", + "src": "1343:87:23", "statements": [ { "expression": { "argumentTypes": null, - "id": 1322, + "id": 1370, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1318, + "id": 1366, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1349:7:21", + "referencedDeclaration": 1361, + "src": "1349:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -4720,31 +4720,31 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1320, + "id": 1368, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1359:20:21", + "src": "1359:20:23", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20FailingMock_$1237_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20FailingMock_$1285_$", "typeString": "function () returns (contract ERC20FailingMock)" }, "typeName": { "contractScope": null, - "id": 1319, + "id": 1367, "name": "ERC20FailingMock", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1237, - "src": "1363:16:21", + "referencedDeclaration": 1285, + "src": "1363:16:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20FailingMock_$1237", + "typeIdentifier": "t_contract$_ERC20FailingMock_$1285", "typeString": "contract ERC20FailingMock" } } }, - "id": 1321, + "id": 1369, "isConstant": false, "isLValue": false, "isPure": false, @@ -4752,40 +4752,40 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1359:22:21", + "src": "1359:22:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20FailingMock_$1237", + "typeIdentifier": "t_contract$_ERC20FailingMock_$1285", "typeString": "contract ERC20FailingMock" } }, - "src": "1349:32:21", + "src": "1349:32:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1323, + "id": 1371, "nodeType": "ExpressionStatement", - "src": "1349:32:21" + "src": "1349:32:23" }, { "expression": { "argumentTypes": null, - "id": 1328, + "id": 1376, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1324, + "id": 1372, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1387:10:21", + "referencedDeclaration": 1363, + "src": "1387:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, @@ -4796,31 +4796,31 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1326, + "id": 1374, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1400:23:21", + "src": "1400:23:23", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20SucceedingMock_$1308_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_ERC20SucceedingMock_$1356_$", "typeString": "function () returns (contract ERC20SucceedingMock)" }, "typeName": { "contractScope": null, - "id": 1325, + "id": 1373, "name": "ERC20SucceedingMock", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1308, - "src": "1404:19:21", + "referencedDeclaration": 1356, + "src": "1404:19:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1308", + "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1356", "typeString": "contract ERC20SucceedingMock" } } }, - "id": 1327, + "id": 1375, "isConstant": false, "isLValue": false, "isPure": false, @@ -4828,26 +4828,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1400:25:21", + "src": "1400:25:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1308", + "typeIdentifier": "t_contract$_ERC20SucceedingMock_$1356", "typeString": "contract ERC20SucceedingMock" } }, - "src": "1387:38:21", + "src": "1387:38:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1329, + "id": 1377, "nodeType": "ExpressionStatement", - "src": "1387:38:21" + "src": "1387:38:23" } ] }, "documentation": null, - "id": 1331, + "id": 1379, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -4855,29 +4855,29 @@ "name": "SafeERC20Helper", "nodeType": "FunctionDefinition", "parameters": { - "id": 1316, + "id": 1364, "nodeType": "ParameterList", "parameters": [], - "src": "1333:2:21" + "src": "1333:2:23" }, "payable": false, "returnParameters": { - "id": 1317, + "id": 1365, "nodeType": "ParameterList", "parameters": [], - "src": "1343:0:21" + "src": "1343:0:23" }, - "scope": 1400, - "src": "1309:121:21", + "scope": 1448, + "src": "1309:121:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1341, + "id": 1389, "nodeType": "Block", - "src": "1470:37:21", + "src": "1470:37:23", "statements": [ { "expression": { @@ -4886,14 +4886,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1337, + "id": 1385, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1497:1:21", + "src": "1497:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4904,14 +4904,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1338, + "id": 1386, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1500:1:21", + "src": "1500:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4933,32 +4933,32 @@ ], "expression": { "argumentTypes": null, - "id": 1334, + "id": 1382, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1476:7:21", + "referencedDeclaration": 1361, + "src": "1476:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1336, + "id": 1384, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "1476:20:21", + "referencedDeclaration": 2815, + "src": "1476:20:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 1339, + "id": 1387, "isConstant": false, "isLValue": false, "isPure": false, @@ -4966,20 +4966,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1476:26:21", + "src": "1476:26:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1340, + "id": 1388, "nodeType": "ExpressionStatement", - "src": "1476:26:21" + "src": "1476:26:23" } ] }, "documentation": null, - "id": 1342, + "id": 1390, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -4987,29 +4987,29 @@ "name": "doFailingTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1332, + "id": 1380, "nodeType": "ParameterList", "parameters": [], - "src": "1460:2:21" + "src": "1460:2:23" }, "payable": false, "returnParameters": { - "id": 1333, + "id": 1381, "nodeType": "ParameterList", "parameters": [], - "src": "1470:0:21" + "src": "1470:0:23" }, - "scope": 1400, - "src": "1434:73:21", + "scope": 1448, + "src": "1434:73:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1353, + "id": 1401, "nodeType": "Block", - "src": "1551:44:21", + "src": "1551:44:23", "statements": [ { "expression": { @@ -5018,14 +5018,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1348, + "id": 1396, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1582:1:21", + "src": "1582:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5036,14 +5036,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1349, + "id": 1397, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1585:1:21", + "src": "1585:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5054,14 +5054,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1350, + "id": 1398, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1588:1:21", + "src": "1588:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5087,32 +5087,32 @@ ], "expression": { "argumentTypes": null, - "id": 1345, + "id": 1393, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1557:7:21", + "referencedDeclaration": 1361, + "src": "1557:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1347, + "id": 1395, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 2788, - "src": "1557:24:21", + "referencedDeclaration": 2836, + "src": "1557:24:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,address,uint256)" } }, - "id": 1351, + "id": 1399, "isConstant": false, "isLValue": false, "isPure": false, @@ -5120,20 +5120,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1557:33:21", + "src": "1557:33:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1352, + "id": 1400, "nodeType": "ExpressionStatement", - "src": "1557:33:21" + "src": "1557:33:23" } ] }, "documentation": null, - "id": 1354, + "id": 1402, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5141,29 +5141,29 @@ "name": "doFailingTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1343, + "id": 1391, "nodeType": "ParameterList", "parameters": [], - "src": "1541:2:21" + "src": "1541:2:23" }, "payable": false, "returnParameters": { - "id": 1344, + "id": 1392, "nodeType": "ParameterList", "parameters": [], - "src": "1551:0:21" + "src": "1551:0:23" }, - "scope": 1400, - "src": "1511:84:21", + "scope": 1448, + "src": "1511:84:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1364, + "id": 1412, "nodeType": "Block", - "src": "1634:36:21", + "src": "1634:36:23", "statements": [ { "expression": { @@ -5172,14 +5172,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1360, + "id": 1408, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1660:1:21", + "src": "1660:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5190,14 +5190,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1361, + "id": 1409, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1663:1:21", + "src": "1663:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5219,32 +5219,32 @@ ], "expression": { "argumentTypes": null, - "id": 1357, + "id": 1405, "name": "failing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1640:7:21", + "referencedDeclaration": 1361, + "src": "1640:7:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1359, + "id": 1407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeApprove", "nodeType": "MemberAccess", - "referencedDeclaration": 2806, - "src": "1640:19:21", + "referencedDeclaration": 2854, + "src": "1640:19:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,uint256)" } }, - "id": 1362, + "id": 1410, "isConstant": false, "isLValue": false, "isPure": false, @@ -5252,20 +5252,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1640:25:21", + "src": "1640:25:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1363, + "id": 1411, "nodeType": "ExpressionStatement", - "src": "1640:25:21" + "src": "1640:25:23" } ] }, "documentation": null, - "id": 1365, + "id": 1413, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5273,29 +5273,29 @@ "name": "doFailingApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1355, + "id": 1403, "nodeType": "ParameterList", "parameters": [], - "src": "1624:2:21" + "src": "1624:2:23" }, "payable": false, "returnParameters": { - "id": 1356, + "id": 1404, "nodeType": "ParameterList", "parameters": [], - "src": "1634:0:21" + "src": "1634:0:23" }, - "scope": 1400, - "src": "1599:71:21", + "scope": 1448, + "src": "1599:71:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1375, + "id": 1423, "nodeType": "Block", - "src": "1713:40:21", + "src": "1713:40:23", "statements": [ { "expression": { @@ -5304,14 +5304,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1371, + "id": 1419, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1743:1:21", + "src": "1743:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5322,14 +5322,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1372, + "id": 1420, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1746:1:21", + "src": "1746:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5351,32 +5351,32 @@ ], "expression": { "argumentTypes": null, - "id": 1368, + "id": 1416, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1719:10:21", + "referencedDeclaration": 1363, + "src": "1719:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1370, + "id": 1418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "1719:23:21", + "referencedDeclaration": 2815, + "src": "1719:23:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 1373, + "id": 1421, "isConstant": false, "isLValue": false, "isPure": false, @@ -5384,20 +5384,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1719:29:21", + "src": "1719:29:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1374, + "id": 1422, "nodeType": "ExpressionStatement", - "src": "1719:29:21" + "src": "1719:29:23" } ] }, "documentation": null, - "id": 1376, + "id": 1424, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5405,29 +5405,29 @@ "name": "doSucceedingTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1366, + "id": 1414, "nodeType": "ParameterList", "parameters": [], - "src": "1703:2:21" + "src": "1703:2:23" }, "payable": false, "returnParameters": { - "id": 1367, + "id": 1415, "nodeType": "ParameterList", "parameters": [], - "src": "1713:0:21" + "src": "1713:0:23" }, - "scope": 1400, - "src": "1674:79:21", + "scope": 1448, + "src": "1674:79:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1387, + "id": 1435, "nodeType": "Block", - "src": "1800:47:21", + "src": "1800:47:23", "statements": [ { "expression": { @@ -5436,14 +5436,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1382, + "id": 1430, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1834:1:21", + "src": "1834:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5454,14 +5454,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1383, + "id": 1431, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1837:1:21", + "src": "1837:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5472,14 +5472,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1384, + "id": 1432, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1840:1:21", + "src": "1840:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5505,32 +5505,32 @@ ], "expression": { "argumentTypes": null, - "id": 1379, + "id": 1427, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1806:10:21", + "referencedDeclaration": 1363, + "src": "1806:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1381, + "id": 1429, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 2788, - "src": "1806:27:21", + "referencedDeclaration": 2836, + "src": "1806:27:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,address,uint256)" } }, - "id": 1385, + "id": 1433, "isConstant": false, "isLValue": false, "isPure": false, @@ -5538,20 +5538,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1806:36:21", + "src": "1806:36:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1386, + "id": 1434, "nodeType": "ExpressionStatement", - "src": "1806:36:21" + "src": "1806:36:23" } ] }, "documentation": null, - "id": 1388, + "id": 1436, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5559,29 +5559,29 @@ "name": "doSucceedingTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1377, + "id": 1425, "nodeType": "ParameterList", "parameters": [], - "src": "1790:2:21" + "src": "1790:2:23" }, "payable": false, "returnParameters": { - "id": 1378, + "id": 1426, "nodeType": "ParameterList", "parameters": [], - "src": "1800:0:21" + "src": "1800:0:23" }, - "scope": 1400, - "src": "1757:90:21", + "scope": 1448, + "src": "1757:90:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1398, + "id": 1446, "nodeType": "Block", - "src": "1889:39:21", + "src": "1889:39:23", "statements": [ { "expression": { @@ -5590,14 +5590,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1394, + "id": 1442, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1918:1:21", + "src": "1918:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5608,14 +5608,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1395, + "id": 1443, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1921:1:21", + "src": "1921:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5637,32 +5637,32 @@ ], "expression": { "argumentTypes": null, - "id": 1391, + "id": 1439, "name": "succeeding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "1895:10:21", + "referencedDeclaration": 1363, + "src": "1895:10:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 1393, + "id": 1441, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeApprove", "nodeType": "MemberAccess", - "referencedDeclaration": 2806, - "src": "1895:22:21", + "referencedDeclaration": 2854, + "src": "1895:22:23", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2479_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2479_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$2527_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$2527_$", "typeString": "function (contract ERC20,address,uint256)" } }, - "id": 1396, + "id": 1444, "isConstant": false, "isLValue": false, "isPure": false, @@ -5670,20 +5670,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1895:28:21", + "src": "1895:28:23", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1397, + "id": 1445, "nodeType": "ExpressionStatement", - "src": "1895:28:21" + "src": "1895:28:23" } ] }, "documentation": null, - "id": 1399, + "id": 1447, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5691,36 +5691,36 @@ "name": "doSucceedingApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1389, + "id": 1437, "nodeType": "ParameterList", "parameters": [], - "src": "1879:2:21" + "src": "1879:2:23" }, "payable": false, "returnParameters": { - "id": 1390, + "id": 1438, "nodeType": "ParameterList", "parameters": [], - "src": "1889:0:21" + "src": "1889:0:23" }, - "scope": 1400, - "src": "1851:77:21", + "scope": 1448, + "src": "1851:77:23", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1401, - "src": "1212:718:21" + "scope": 1449, + "src": "1212:718:23" } ], - "src": "0:1931:21" + "src": "0:1931:23" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.630Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.208Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index 2f42016cc..018763478 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -3,22 +3,22 @@ "abi": [], "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820c21a701330b3213d7b0bf7bea9117168fc0c0242e1a94a0b0d94b0ea3ce1cf9e0029", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820c21a701330b3213d7b0bf7bea9117168fc0c0242e1a94a0b0d94b0ea3ce1cf9e0029", - "sourceMap": "117:1016:1:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", - "deployedSourceMap": "117:1016:1:-;;;;;;;;", + "sourceMap": "117:1016:8:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", + "deployedSourceMap": "117:1016:8:-;;;;;;;;", "source": "pragma solidity ^0.4.21;\n\n\n/**\n * @title SafeMath\n * @dev Math operations with safety checks that throw on error\n */\nlibrary SafeMath {\n\n /**\n * @dev Multiplies two numbers, throws on overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {\n if (a == 0) {\n return 0;\n }\n c = a * b;\n assert(c / a == b);\n return c;\n }\n\n /**\n * @dev Integer division of two numbers, truncating the quotient.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n // assert(b > 0); // Solidity automatically throws when dividing by 0\n // uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n return a / b;\n }\n\n /**\n * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n assert(b <= a);\n return a - b;\n }\n\n /**\n * @dev Adds two numbers, throws on overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256 c) {\n c = a + b;\n assert(c >= a);\n return c;\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 112 + 579 ] }, - "id": 113, + "id": 580, "nodeType": "SourceUnit", "nodes": [ { - "id": 20, + "id": 487, "literals": [ "solidity", "^", @@ -26,7 +26,7 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:1" + "src": "0:24:8" }, { "baseContracts": [], @@ -34,18 +34,18 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error", "fullyImplemented": true, - "id": 112, + "id": 579, "linearizedBaseContracts": [ - 112 + 579 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 52, + "id": 519, "nodeType": "Block", - "src": "272:98:1", + "src": "272:98:8", "statements": [ { "condition": { @@ -54,19 +54,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 31, + "id": 498, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 29, + "id": 496, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "282:1:1", + "referencedDeclaration": 489, + "src": "282:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -77,14 +77,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 30, + "id": 497, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "287:1:1", + "src": "287:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -92,33 +92,33 @@ }, "value": "0" }, - "src": "282:6:1", + "src": "282:6:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 35, + "id": 502, "nodeType": "IfStatement", - "src": "278:35:1", + "src": "278:35:8", "trueBody": { - "id": 34, + "id": 501, "nodeType": "Block", - "src": "290:23:1", + "src": "290:23:8", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 32, + "id": 499, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "305:1:1", + "src": "305:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -126,10 +126,10 @@ }, "value": "0" }, - "functionReturnParameters": 28, - "id": 33, + "functionReturnParameters": 495, + "id": 500, "nodeType": "Return", - "src": "298:8:1" + "src": "298:8:8" } ] } @@ -137,19 +137,19 @@ { "expression": { "argumentTypes": null, - "id": 40, + "id": 507, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 36, + "id": 503, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "318:1:1", + "referencedDeclaration": 494, + "src": "318:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -163,19 +163,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 39, + "id": 506, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 37, + "id": 504, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "322:1:1", + "referencedDeclaration": 489, + "src": "322:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -185,32 +185,32 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 38, + "id": 505, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "326:1:1", + "referencedDeclaration": 491, + "src": "326:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "322:5:1", + "src": "322:5:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "318:9:1", + "src": "318:9:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 41, + "id": 508, "nodeType": "ExpressionStatement", - "src": "318:9:1" + "src": "318:9:8" }, { "expression": { @@ -222,7 +222,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 47, + "id": 514, "isConstant": false, "isLValue": false, "isPure": false, @@ -233,19 +233,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45, + "id": 512, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 43, + "id": 510, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "340:1:1", + "referencedDeclaration": 494, + "src": "340:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -255,18 +255,18 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 44, + "id": 511, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "344:1:1", + "referencedDeclaration": 489, + "src": "344:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "340:5:1", + "src": "340:5:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -276,18 +276,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 46, + "id": 513, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "349:1:1", + "referencedDeclaration": 491, + "src": "349:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "340:10:1", + "src": "340:10:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -301,18 +301,18 @@ "typeString": "bool" } ], - "id": 42, + "id": 509, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "333:6:1", + "referencedDeclaration": 4868, + "src": "333:6:8", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 48, + "id": 515, "isConstant": false, "isLValue": false, "isPure": false, @@ -320,39 +320,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "333:18:1", + "src": "333:18:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 49, + "id": 516, "nodeType": "ExpressionStatement", - "src": "333:18:1" + "src": "333:18:8" }, { "expression": { "argumentTypes": null, - "id": 50, + "id": 517, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "364:1:1", + "referencedDeclaration": 494, + "src": "364:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 28, - "id": 51, + "functionReturnParameters": 495, + "id": 518, "nodeType": "Return", - "src": "357:8:1" + "src": "357:8:8" } ] }, "documentation": "@dev Multiplies two numbers, throws on overflow.", - "id": 53, + "id": 520, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -360,16 +360,16 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 25, + "id": 492, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 22, + "id": 489, "name": "a", "nodeType": "VariableDeclaration", - "scope": 53, - "src": "216:9:1", + "scope": 520, + "src": "216:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -377,10 +377,10 @@ "typeString": "uint256" }, "typeName": { - "id": 21, + "id": 488, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "216:7:1", + "src": "216:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -391,11 +391,11 @@ }, { "constant": false, - "id": 24, + "id": 491, "name": "b", "nodeType": "VariableDeclaration", - "scope": 53, - "src": "227:9:1", + "scope": 520, + "src": "227:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -403,10 +403,10 @@ "typeString": "uint256" }, "typeName": { - "id": 23, + "id": 490, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "227:7:1", + "src": "227:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -416,20 +416,20 @@ "visibility": "internal" } ], - "src": "215:22:1" + "src": "215:22:8" }, "payable": false, "returnParameters": { - "id": 28, + "id": 495, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27, + "id": 494, "name": "c", "nodeType": "VariableDeclaration", - "scope": 53, - "src": "261:9:1", + "scope": 520, + "src": "261:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -437,10 +437,10 @@ "typeString": "uint256" }, "typeName": { - "id": 26, + "id": 493, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "261:7:1", + "src": "261:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -450,19 +450,19 @@ "visibility": "internal" } ], - "src": "260:11:1" + "src": "260:11:8" }, - "scope": 112, - "src": "203:167:1", + "scope": 579, + "src": "203:167:8", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 66, + "id": 533, "nodeType": "Block", - "src": "519:205:1", + "src": "519:205:8", "statements": [ { "expression": { @@ -471,19 +471,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 64, + "id": 531, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 62, + "id": 529, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "714:1:1", + "referencedDeclaration": 522, + "src": "714:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -493,32 +493,32 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 63, + "id": 530, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "718:1:1", + "referencedDeclaration": 524, + "src": "718:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "714:5:1", + "src": "714:5:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 61, - "id": 65, + "functionReturnParameters": 528, + "id": 532, "nodeType": "Return", - "src": "707:12:1" + "src": "707:12:8" } ] }, "documentation": "@dev Integer division of two numbers, truncating the quotient.", - "id": 67, + "id": 534, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -526,16 +526,16 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 58, + "id": 525, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55, + "id": 522, "name": "a", "nodeType": "VariableDeclaration", - "scope": 67, - "src": "465:9:1", + "scope": 534, + "src": "465:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -543,10 +543,10 @@ "typeString": "uint256" }, "typeName": { - "id": 54, + "id": 521, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "465:7:1", + "src": "465:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -557,11 +557,11 @@ }, { "constant": false, - "id": 57, + "id": 524, "name": "b", "nodeType": "VariableDeclaration", - "scope": 67, - "src": "476:9:1", + "scope": 534, + "src": "476:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -569,10 +569,10 @@ "typeString": "uint256" }, "typeName": { - "id": 56, + "id": 523, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "476:7:1", + "src": "476:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -582,20 +582,20 @@ "visibility": "internal" } ], - "src": "464:22:1" + "src": "464:22:8" }, "payable": false, "returnParameters": { - "id": 61, + "id": 528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 60, + "id": 527, "name": "", "nodeType": "VariableDeclaration", - "scope": 67, - "src": "510:7:1", + "scope": 534, + "src": "510:7:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -603,10 +603,10 @@ "typeString": "uint256" }, "typeName": { - "id": 59, + "id": 526, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "510:7:1", + "src": "510:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -616,19 +616,19 @@ "visibility": "internal" } ], - "src": "509:9:1" + "src": "509:9:8" }, - "scope": 112, - "src": "452:272:1", + "scope": 579, + "src": "452:272:8", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 86, + "id": 553, "nodeType": "Block", - "src": "903:43:1", + "src": "903:43:8", "statements": [ { "expression": { @@ -640,19 +640,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 79, + "id": 546, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 77, + "id": 544, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "916:1:1", + "referencedDeclaration": 538, + "src": "916:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -662,18 +662,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 78, + "id": 545, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 69, - "src": "921:1:1", + "referencedDeclaration": 536, + "src": "921:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "916:6:1", + "src": "916:6:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -687,18 +687,18 @@ "typeString": "bool" } ], - "id": 76, + "id": 543, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "909:6:1", + "referencedDeclaration": 4868, + "src": "909:6:8", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 80, + "id": 547, "isConstant": false, "isLValue": false, "isPure": false, @@ -706,15 +706,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "909:14:1", + "src": "909:14:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 81, + "id": 548, "nodeType": "ExpressionStatement", - "src": "909:14:1" + "src": "909:14:8" }, { "expression": { @@ -723,19 +723,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 84, + "id": 551, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 82, + "id": 549, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 69, - "src": "936:1:1", + "referencedDeclaration": 536, + "src": "936:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -745,32 +745,32 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 83, + "id": 550, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "940:1:1", + "referencedDeclaration": 538, + "src": "940:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "936:5:1", + "src": "936:5:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 75, - "id": 85, + "functionReturnParameters": 542, + "id": 552, "nodeType": "Return", - "src": "929:12:1" + "src": "929:12:8" } ] }, "documentation": "@dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).", - "id": 87, + "id": 554, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -778,16 +778,16 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 72, + "id": 539, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 69, + "id": 536, "name": "a", "nodeType": "VariableDeclaration", - "scope": 87, - "src": "849:9:1", + "scope": 554, + "src": "849:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -795,10 +795,10 @@ "typeString": "uint256" }, "typeName": { - "id": 68, + "id": 535, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "849:7:1", + "src": "849:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -809,11 +809,11 @@ }, { "constant": false, - "id": 71, + "id": 538, "name": "b", "nodeType": "VariableDeclaration", - "scope": 87, - "src": "860:9:1", + "scope": 554, + "src": "860:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -821,10 +821,10 @@ "typeString": "uint256" }, "typeName": { - "id": 70, + "id": 537, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "860:7:1", + "src": "860:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -834,20 +834,20 @@ "visibility": "internal" } ], - "src": "848:22:1" + "src": "848:22:8" }, "payable": false, "returnParameters": { - "id": 75, + "id": 542, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 74, + "id": 541, "name": "", "nodeType": "VariableDeclaration", - "scope": 87, - "src": "894:7:1", + "scope": 554, + "src": "894:7:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -855,10 +855,10 @@ "typeString": "uint256" }, "typeName": { - "id": 73, + "id": 540, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "894:7:1", + "src": "894:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -868,36 +868,36 @@ "visibility": "internal" } ], - "src": "893:9:1" + "src": "893:9:8" }, - "scope": 112, - "src": "836:110:1", + "scope": 579, + "src": "836:110:8", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 110, + "id": 577, "nodeType": "Block", - "src": "1077:54:1", + "src": "1077:54:8", "statements": [ { "expression": { "argumentTypes": null, - "id": 100, + "id": 567, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 96, + "id": 563, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 94, - "src": "1083:1:1", + "referencedDeclaration": 561, + "src": "1083:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -911,19 +911,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 99, + "id": 566, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 97, + "id": 564, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 89, - "src": "1087:1:1", + "referencedDeclaration": 556, + "src": "1087:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -933,32 +933,32 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 98, + "id": 565, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 91, - "src": "1091:1:1", + "referencedDeclaration": 558, + "src": "1091:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1087:5:1", + "src": "1087:5:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1083:9:1", + "src": "1083:9:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 101, + "id": 568, "nodeType": "ExpressionStatement", - "src": "1083:9:1" + "src": "1083:9:8" }, { "expression": { @@ -970,19 +970,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 105, + "id": 572, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 103, + "id": 570, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 94, - "src": "1105:1:1", + "referencedDeclaration": 561, + "src": "1105:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -992,18 +992,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 104, + "id": 571, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 89, - "src": "1110:1:1", + "referencedDeclaration": 556, + "src": "1110:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1105:6:1", + "src": "1105:6:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1017,18 +1017,18 @@ "typeString": "bool" } ], - "id": 102, + "id": 569, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "1098:6:1", + "referencedDeclaration": 4868, + "src": "1098:6:8", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 106, + "id": 573, "isConstant": false, "isLValue": false, "isPure": false, @@ -1036,39 +1036,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1098:14:1", + "src": "1098:14:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 107, + "id": 574, "nodeType": "ExpressionStatement", - "src": "1098:14:1" + "src": "1098:14:8" }, { "expression": { "argumentTypes": null, - "id": 108, + "id": 575, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 94, - "src": "1125:1:1", + "referencedDeclaration": 561, + "src": "1125:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 95, - "id": 109, + "functionReturnParameters": 562, + "id": 576, "nodeType": "Return", - "src": "1118:8:1" + "src": "1118:8:8" } ] }, "documentation": "@dev Adds two numbers, throws on overflow.", - "id": 111, + "id": 578, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1076,16 +1076,16 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 92, + "id": 559, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 89, + "id": 556, "name": "a", "nodeType": "VariableDeclaration", - "scope": 111, - "src": "1021:9:1", + "scope": 578, + "src": "1021:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1093,10 +1093,10 @@ "typeString": "uint256" }, "typeName": { - "id": 88, + "id": 555, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1021:7:1", + "src": "1021:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1107,11 +1107,11 @@ }, { "constant": false, - "id": 91, + "id": 558, "name": "b", "nodeType": "VariableDeclaration", - "scope": 111, - "src": "1032:9:1", + "scope": 578, + "src": "1032:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1119,10 +1119,10 @@ "typeString": "uint256" }, "typeName": { - "id": 90, + "id": 557, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1032:7:1", + "src": "1032:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1132,20 +1132,20 @@ "visibility": "internal" } ], - "src": "1020:22:1" + "src": "1020:22:8" }, "payable": false, "returnParameters": { - "id": 95, + "id": 562, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 94, + "id": 561, "name": "c", "nodeType": "VariableDeclaration", - "scope": 111, - "src": "1066:9:1", + "scope": 578, + "src": "1066:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1153,10 +1153,10 @@ "typeString": "uint256" }, "typeName": { - "id": 93, + "id": 560, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1066:7:1", + "src": "1066:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1166,33 +1166,33 @@ "visibility": "internal" } ], - "src": "1065:11:1" + "src": "1065:11:8" }, - "scope": 112, - "src": "1008:123:1", + "scope": 579, + "src": "1008:123:8", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 113, - "src": "117:1016:1" + "scope": 580, + "src": "117:1016:8" } ], - "src": "0:1134:1" + "src": "0:1134:8" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 112 + 579 ] }, - "id": 113, + "id": 580, "nodeType": "SourceUnit", "nodes": [ { - "id": 20, + "id": 487, "literals": [ "solidity", "^", @@ -1200,7 +1200,7 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:1" + "src": "0:24:8" }, { "baseContracts": [], @@ -1208,18 +1208,18 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error", "fullyImplemented": true, - "id": 112, + "id": 579, "linearizedBaseContracts": [ - 112 + 579 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 52, + "id": 519, "nodeType": "Block", - "src": "272:98:1", + "src": "272:98:8", "statements": [ { "condition": { @@ -1228,19 +1228,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 31, + "id": 498, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 29, + "id": 496, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "282:1:1", + "referencedDeclaration": 489, + "src": "282:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1251,14 +1251,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 30, + "id": 497, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "287:1:1", + "src": "287:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1266,33 +1266,33 @@ }, "value": "0" }, - "src": "282:6:1", + "src": "282:6:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 35, + "id": 502, "nodeType": "IfStatement", - "src": "278:35:1", + "src": "278:35:8", "trueBody": { - "id": 34, + "id": 501, "nodeType": "Block", - "src": "290:23:1", + "src": "290:23:8", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 32, + "id": 499, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "305:1:1", + "src": "305:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1300,10 +1300,10 @@ }, "value": "0" }, - "functionReturnParameters": 28, - "id": 33, + "functionReturnParameters": 495, + "id": 500, "nodeType": "Return", - "src": "298:8:1" + "src": "298:8:8" } ] } @@ -1311,19 +1311,19 @@ { "expression": { "argumentTypes": null, - "id": 40, + "id": 507, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 36, + "id": 503, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "318:1:1", + "referencedDeclaration": 494, + "src": "318:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1337,19 +1337,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 39, + "id": 506, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 37, + "id": 504, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "322:1:1", + "referencedDeclaration": 489, + "src": "322:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1359,32 +1359,32 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 38, + "id": 505, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "326:1:1", + "referencedDeclaration": 491, + "src": "326:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "322:5:1", + "src": "322:5:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "318:9:1", + "src": "318:9:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 41, + "id": 508, "nodeType": "ExpressionStatement", - "src": "318:9:1" + "src": "318:9:8" }, { "expression": { @@ -1396,7 +1396,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 47, + "id": 514, "isConstant": false, "isLValue": false, "isPure": false, @@ -1407,19 +1407,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 45, + "id": 512, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 43, + "id": 510, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "340:1:1", + "referencedDeclaration": 494, + "src": "340:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1429,18 +1429,18 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 44, + "id": 511, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "344:1:1", + "referencedDeclaration": 489, + "src": "344:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "340:5:1", + "src": "340:5:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1450,18 +1450,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 46, + "id": 513, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "349:1:1", + "referencedDeclaration": 491, + "src": "349:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "340:10:1", + "src": "340:10:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1475,18 +1475,18 @@ "typeString": "bool" } ], - "id": 42, + "id": 509, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "333:6:1", + "referencedDeclaration": 4868, + "src": "333:6:8", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 48, + "id": 515, "isConstant": false, "isLValue": false, "isPure": false, @@ -1494,39 +1494,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "333:18:1", + "src": "333:18:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 49, + "id": 516, "nodeType": "ExpressionStatement", - "src": "333:18:1" + "src": "333:18:8" }, { "expression": { "argumentTypes": null, - "id": 50, + "id": 517, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "364:1:1", + "referencedDeclaration": 494, + "src": "364:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 28, - "id": 51, + "functionReturnParameters": 495, + "id": 518, "nodeType": "Return", - "src": "357:8:1" + "src": "357:8:8" } ] }, "documentation": "@dev Multiplies two numbers, throws on overflow.", - "id": 53, + "id": 520, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1534,16 +1534,16 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 25, + "id": 492, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 22, + "id": 489, "name": "a", "nodeType": "VariableDeclaration", - "scope": 53, - "src": "216:9:1", + "scope": 520, + "src": "216:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1551,10 +1551,10 @@ "typeString": "uint256" }, "typeName": { - "id": 21, + "id": 488, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "216:7:1", + "src": "216:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1565,11 +1565,11 @@ }, { "constant": false, - "id": 24, + "id": 491, "name": "b", "nodeType": "VariableDeclaration", - "scope": 53, - "src": "227:9:1", + "scope": 520, + "src": "227:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1577,10 +1577,10 @@ "typeString": "uint256" }, "typeName": { - "id": 23, + "id": 490, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "227:7:1", + "src": "227:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1590,20 +1590,20 @@ "visibility": "internal" } ], - "src": "215:22:1" + "src": "215:22:8" }, "payable": false, "returnParameters": { - "id": 28, + "id": 495, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27, + "id": 494, "name": "c", "nodeType": "VariableDeclaration", - "scope": 53, - "src": "261:9:1", + "scope": 520, + "src": "261:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1611,10 +1611,10 @@ "typeString": "uint256" }, "typeName": { - "id": 26, + "id": 493, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "261:7:1", + "src": "261:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1624,19 +1624,19 @@ "visibility": "internal" } ], - "src": "260:11:1" + "src": "260:11:8" }, - "scope": 112, - "src": "203:167:1", + "scope": 579, + "src": "203:167:8", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 66, + "id": 533, "nodeType": "Block", - "src": "519:205:1", + "src": "519:205:8", "statements": [ { "expression": { @@ -1645,19 +1645,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 64, + "id": 531, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 62, + "id": 529, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "714:1:1", + "referencedDeclaration": 522, + "src": "714:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1667,32 +1667,32 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 63, + "id": 530, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "718:1:1", + "referencedDeclaration": 524, + "src": "718:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "714:5:1", + "src": "714:5:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 61, - "id": 65, + "functionReturnParameters": 528, + "id": 532, "nodeType": "Return", - "src": "707:12:1" + "src": "707:12:8" } ] }, "documentation": "@dev Integer division of two numbers, truncating the quotient.", - "id": 67, + "id": 534, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1700,16 +1700,16 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 58, + "id": 525, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55, + "id": 522, "name": "a", "nodeType": "VariableDeclaration", - "scope": 67, - "src": "465:9:1", + "scope": 534, + "src": "465:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1717,10 +1717,10 @@ "typeString": "uint256" }, "typeName": { - "id": 54, + "id": 521, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "465:7:1", + "src": "465:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1731,11 +1731,11 @@ }, { "constant": false, - "id": 57, + "id": 524, "name": "b", "nodeType": "VariableDeclaration", - "scope": 67, - "src": "476:9:1", + "scope": 534, + "src": "476:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1743,10 +1743,10 @@ "typeString": "uint256" }, "typeName": { - "id": 56, + "id": 523, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "476:7:1", + "src": "476:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1756,20 +1756,20 @@ "visibility": "internal" } ], - "src": "464:22:1" + "src": "464:22:8" }, "payable": false, "returnParameters": { - "id": 61, + "id": 528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 60, + "id": 527, "name": "", "nodeType": "VariableDeclaration", - "scope": 67, - "src": "510:7:1", + "scope": 534, + "src": "510:7:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1777,10 +1777,10 @@ "typeString": "uint256" }, "typeName": { - "id": 59, + "id": 526, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "510:7:1", + "src": "510:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1790,19 +1790,19 @@ "visibility": "internal" } ], - "src": "509:9:1" + "src": "509:9:8" }, - "scope": 112, - "src": "452:272:1", + "scope": 579, + "src": "452:272:8", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 86, + "id": 553, "nodeType": "Block", - "src": "903:43:1", + "src": "903:43:8", "statements": [ { "expression": { @@ -1814,19 +1814,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 79, + "id": 546, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 77, + "id": 544, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "916:1:1", + "referencedDeclaration": 538, + "src": "916:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1836,18 +1836,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 78, + "id": 545, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 69, - "src": "921:1:1", + "referencedDeclaration": 536, + "src": "921:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "916:6:1", + "src": "916:6:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1861,18 +1861,18 @@ "typeString": "bool" } ], - "id": 76, + "id": 543, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "909:6:1", + "referencedDeclaration": 4868, + "src": "909:6:8", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 80, + "id": 547, "isConstant": false, "isLValue": false, "isPure": false, @@ -1880,15 +1880,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "909:14:1", + "src": "909:14:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 81, + "id": 548, "nodeType": "ExpressionStatement", - "src": "909:14:1" + "src": "909:14:8" }, { "expression": { @@ -1897,19 +1897,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 84, + "id": 551, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 82, + "id": 549, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 69, - "src": "936:1:1", + "referencedDeclaration": 536, + "src": "936:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1919,32 +1919,32 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 83, + "id": 550, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "940:1:1", + "referencedDeclaration": 538, + "src": "940:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "936:5:1", + "src": "936:5:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 75, - "id": 85, + "functionReturnParameters": 542, + "id": 552, "nodeType": "Return", - "src": "929:12:1" + "src": "929:12:8" } ] }, "documentation": "@dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).", - "id": 87, + "id": 554, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1952,16 +1952,16 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 72, + "id": 539, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 69, + "id": 536, "name": "a", "nodeType": "VariableDeclaration", - "scope": 87, - "src": "849:9:1", + "scope": 554, + "src": "849:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1969,10 +1969,10 @@ "typeString": "uint256" }, "typeName": { - "id": 68, + "id": 535, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "849:7:1", + "src": "849:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1983,11 +1983,11 @@ }, { "constant": false, - "id": 71, + "id": 538, "name": "b", "nodeType": "VariableDeclaration", - "scope": 87, - "src": "860:9:1", + "scope": 554, + "src": "860:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1995,10 +1995,10 @@ "typeString": "uint256" }, "typeName": { - "id": 70, + "id": 537, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "860:7:1", + "src": "860:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2008,20 +2008,20 @@ "visibility": "internal" } ], - "src": "848:22:1" + "src": "848:22:8" }, "payable": false, "returnParameters": { - "id": 75, + "id": 542, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 74, + "id": 541, "name": "", "nodeType": "VariableDeclaration", - "scope": 87, - "src": "894:7:1", + "scope": 554, + "src": "894:7:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2029,10 +2029,10 @@ "typeString": "uint256" }, "typeName": { - "id": 73, + "id": 540, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "894:7:1", + "src": "894:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2042,36 +2042,36 @@ "visibility": "internal" } ], - "src": "893:9:1" + "src": "893:9:8" }, - "scope": 112, - "src": "836:110:1", + "scope": 579, + "src": "836:110:8", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 110, + "id": 577, "nodeType": "Block", - "src": "1077:54:1", + "src": "1077:54:8", "statements": [ { "expression": { "argumentTypes": null, - "id": 100, + "id": 567, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 96, + "id": 563, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 94, - "src": "1083:1:1", + "referencedDeclaration": 561, + "src": "1083:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2085,19 +2085,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 99, + "id": 566, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 97, + "id": 564, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 89, - "src": "1087:1:1", + "referencedDeclaration": 556, + "src": "1087:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2107,32 +2107,32 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 98, + "id": 565, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 91, - "src": "1091:1:1", + "referencedDeclaration": 558, + "src": "1091:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1087:5:1", + "src": "1087:5:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1083:9:1", + "src": "1083:9:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 101, + "id": 568, "nodeType": "ExpressionStatement", - "src": "1083:9:1" + "src": "1083:9:8" }, { "expression": { @@ -2144,19 +2144,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 105, + "id": 572, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 103, + "id": 570, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 94, - "src": "1105:1:1", + "referencedDeclaration": 561, + "src": "1105:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2166,18 +2166,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 104, + "id": 571, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 89, - "src": "1110:1:1", + "referencedDeclaration": 556, + "src": "1110:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1105:6:1", + "src": "1105:6:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2191,18 +2191,18 @@ "typeString": "bool" } ], - "id": 102, + "id": 569, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "1098:6:1", + "referencedDeclaration": 4868, + "src": "1098:6:8", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 106, + "id": 573, "isConstant": false, "isLValue": false, "isPure": false, @@ -2210,39 +2210,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1098:14:1", + "src": "1098:14:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 107, + "id": 574, "nodeType": "ExpressionStatement", - "src": "1098:14:1" + "src": "1098:14:8" }, { "expression": { "argumentTypes": null, - "id": 108, + "id": 575, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 94, - "src": "1125:1:1", + "referencedDeclaration": 561, + "src": "1125:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 95, - "id": 109, + "functionReturnParameters": 562, + "id": 576, "nodeType": "Return", - "src": "1118:8:1" + "src": "1118:8:8" } ] }, "documentation": "@dev Adds two numbers, throws on overflow.", - "id": 111, + "id": 578, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2250,16 +2250,16 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 92, + "id": 559, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 89, + "id": 556, "name": "a", "nodeType": "VariableDeclaration", - "scope": 111, - "src": "1021:9:1", + "scope": 578, + "src": "1021:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2267,10 +2267,10 @@ "typeString": "uint256" }, "typeName": { - "id": 88, + "id": 555, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1021:7:1", + "src": "1021:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2281,11 +2281,11 @@ }, { "constant": false, - "id": 91, + "id": 558, "name": "b", "nodeType": "VariableDeclaration", - "scope": 111, - "src": "1032:9:1", + "scope": 578, + "src": "1032:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2293,10 +2293,10 @@ "typeString": "uint256" }, "typeName": { - "id": 90, + "id": 557, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1032:7:1", + "src": "1032:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2306,20 +2306,20 @@ "visibility": "internal" } ], - "src": "1020:22:1" + "src": "1020:22:8" }, "payable": false, "returnParameters": { - "id": 95, + "id": 562, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 94, + "id": 561, "name": "c", "nodeType": "VariableDeclaration", - "scope": 111, - "src": "1066:9:1", + "scope": 578, + "src": "1066:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2327,10 +2327,10 @@ "typeString": "uint256" }, "typeName": { - "id": 93, + "id": 560, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1066:7:1", + "src": "1066:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2340,20 +2340,20 @@ "visibility": "internal" } ], - "src": "1065:11:1" + "src": "1065:11:8" }, - "scope": 112, - "src": "1008:123:1", + "scope": 579, + "src": "1008:123:8", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 113, - "src": "117:1016:1" + "scope": 580, + "src": "117:1016:8" } ], - "src": "0:1134:1" + "src": "0:1134:8" }, "compiler": { "name": "solc", @@ -2361,5 +2361,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-08-23T17:26:04.151Z" + "updatedAt": "2018-08-27T20:45:00.203Z" } \ No newline at end of file diff --git a/build/contracts/SafeMathMock.json b/build/contracts/SafeMathMock.json index 63b2b707f..7896793ed 100644 --- a/build/contracts/SafeMathMock.json +++ b/build/contracts/SafeMathMock.json @@ -94,24 +94,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50610292806100206000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063771602f714610067578063a391c15b146100b2578063b67d77c5146100fd578063c8a4ac9c14610148575b600080fd5b34801561007357600080fd5b5061009c6004803603810190808035906020019092919080359060200190929190505050610193565b6040518082815260200191505060405180910390f35b3480156100be57600080fd5b506100e760048036038101908080359060200190929190803590602001909291905050506101a7565b6040518082815260200191505060405180910390f35b34801561010957600080fd5b5061013260048036038101908080359060200190929190803590602001909291905050506101bb565b6040518082815260200191505060405180910390f35b34801561015457600080fd5b5061017d60048036038101908080359060200190929190803590602001909291905050506101cf565b6040518082815260200191505060405180910390f35b600061019f83836101e3565b905092915050565b60006101b383836101ff565b905092915050565b60006101c78383610215565b905092915050565b60006101db838361022e565b905092915050565b600081830190508281101515156101f657fe5b80905092915050565b6000818381151561020c57fe5b04905092915050565b600082821115151561022357fe5b818303905092915050565b6000808314156102415760009050610260565b818302905081838281151561025257fe5b0414151561025c57fe5b8090505b929150505600a165627a7a72305820a546ec3e413aa882b92ac0a41e2277b8c4bf2fac164cc1775033322614a930c60029", - "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063771602f714610067578063a391c15b146100b2578063b67d77c5146100fd578063c8a4ac9c14610148575b600080fd5b34801561007357600080fd5b5061009c6004803603810190808035906020019092919080359060200190929190505050610193565b6040518082815260200191505060405180910390f35b3480156100be57600080fd5b506100e760048036038101908080359060200190929190803590602001909291905050506101a7565b6040518082815260200191505060405180910390f35b34801561010957600080fd5b5061013260048036038101908080359060200190929190803590602001909291905050506101bb565b6040518082815260200191505060405180910390f35b34801561015457600080fd5b5061017d60048036038101908080359060200190929190803590602001909291905050506101cf565b6040518082815260200191505060405180910390f35b600061019f83836101e3565b905092915050565b60006101b383836101ff565b905092915050565b60006101c78383610215565b905092915050565b60006101db838361022e565b905092915050565b600081830190508281101515156101f657fe5b80905092915050565b6000818381151561020c57fe5b04905092915050565b600082821115151561022357fe5b818303905092915050565b6000808314156102415760009050610260565b818302905081838281151561025257fe5b0414151561025c57fe5b8090505b929150505600a165627a7a72305820a546ec3e413aa882b92ac0a41e2277b8c4bf2fac164cc1775033322614a930c60029", - "sourceMap": "60:445:22:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;60:445:22;;;;;;;", - "deployedSourceMap": "60:445:22:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;402:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;402:101:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;192;;8:9:-1;5:2;;;30:1;27;20:12;5:2;192:101:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;297;;8:9:-1;5:2;;;30:1;27;20:12;5:2;297:101:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;87:101:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;402;458:7;480:18;493:1;496;480:12;:18::i;:::-;473:25;;402:101;;;;:::o;192:::-;248:7;270:18;283:1;286;270:12;:18::i;:::-;263:25;;192:101;;;;:::o;297:::-;353:7;375:18;388:1;391;375:12;:18::i;:::-;368:25;;297:101;;;;:::o;87:::-;143:7;165:18;178:1;181;165:12;:18::i;:::-;158:25;;87:101;;;;:::o;1008:123:6:-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;452:272::-;510:7;718:1;714;:5;;;;;;;;707:12;;452:272;;;;:::o;836:110::-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;203:167::-;261:9;287:1;282;:6;278:35;;;305:1;298:8;;;;278:35;326:1;322;:5;318:9;;349:1;344;340;:5;;;;;;;;:10;333:18;;;;;;364:1;357:8;;203:167;;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b50610292806100206000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063771602f714610067578063a391c15b146100b2578063b67d77c5146100fd578063c8a4ac9c14610148575b600080fd5b34801561007357600080fd5b5061009c6004803603810190808035906020019092919080359060200190929190505050610193565b6040518082815260200191505060405180910390f35b3480156100be57600080fd5b506100e760048036038101908080359060200190929190803590602001909291905050506101a7565b6040518082815260200191505060405180910390f35b34801561010957600080fd5b5061013260048036038101908080359060200190929190803590602001909291905050506101bb565b6040518082815260200191505060405180910390f35b34801561015457600080fd5b5061017d60048036038101908080359060200190929190803590602001909291905050506101cf565b6040518082815260200191505060405180910390f35b600061019f83836101e3565b905092915050565b60006101b383836101ff565b905092915050565b60006101c78383610215565b905092915050565b60006101db838361022e565b905092915050565b600081830190508281101515156101f657fe5b80905092915050565b6000818381151561020c57fe5b04905092915050565b600082821115151561022357fe5b818303905092915050565b6000808314156102415760009050610260565b818302905081838281151561025257fe5b0414151561025c57fe5b8090505b929150505600a165627a7a72305820a76cbc781f9f5d152fcc2bec6b56eee8bbf2df6a0da014c64e7a1b8f0ba808e20029", + "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063771602f714610067578063a391c15b146100b2578063b67d77c5146100fd578063c8a4ac9c14610148575b600080fd5b34801561007357600080fd5b5061009c6004803603810190808035906020019092919080359060200190929190505050610193565b6040518082815260200191505060405180910390f35b3480156100be57600080fd5b506100e760048036038101908080359060200190929190803590602001909291905050506101a7565b6040518082815260200191505060405180910390f35b34801561010957600080fd5b5061013260048036038101908080359060200190929190803590602001909291905050506101bb565b6040518082815260200191505060405180910390f35b34801561015457600080fd5b5061017d60048036038101908080359060200190929190803590602001909291905050506101cf565b6040518082815260200191505060405180910390f35b600061019f83836101e3565b905092915050565b60006101b383836101ff565b905092915050565b60006101c78383610215565b905092915050565b60006101db838361022e565b905092915050565b600081830190508281101515156101f657fe5b80905092915050565b6000818381151561020c57fe5b04905092915050565b600082821115151561022357fe5b818303905092915050565b6000808314156102415760009050610260565b818302905081838281151561025257fe5b0414151561025c57fe5b8090505b929150505600a165627a7a72305820a76cbc781f9f5d152fcc2bec6b56eee8bbf2df6a0da014c64e7a1b8f0ba808e20029", + "sourceMap": "60:445:24:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;60:445:24;;;;;;;", + "deployedSourceMap": "60:445:24:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;402:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;402:101:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;192;;8:9:-1;5:2;;;30:1;27;20:12;5:2;192:101:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;297;;8:9:-1;5:2;;;30:1;27;20:12;5:2;297:101:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;87:101:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;402;458:7;480:18;493:1;496;480:12;:18::i;:::-;473:25;;402:101;;;;:::o;192:::-;248:7;270:18;283:1;286;270:12;:18::i;:::-;263:25;;192:101;;;;:::o;297:::-;353:7;375:18;388:1;391;375:12;:18::i;:::-;368:25;;297:101;;;;:::o;87:::-;143:7;165:18;178:1;181;165:12;:18::i;:::-;158:25;;87:101;;;;:::o;1008:123:8:-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;452:272::-;510:7;718:1;714;:5;;;;;;;;707:12;;452:272;;;;:::o;836:110::-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;203:167::-;261:9;287:1;282;:6;278:35;;;305:1;298:8;;;;278:35;326:1;322;:5;318:9;;349:1;344;340;:5;;;;;;;;:10;333:18;;;;;;364:1;357:8;;203:167;;;;;:::o", "source": "pragma solidity ^0.4.21;\n\n\nimport \"../math/SafeMath.sol\";\n\n\ncontract SafeMathMock {\n\n function mul(uint256 a, uint256 b) public pure returns (uint256) {\n return SafeMath.mul(a, b);\n }\n\n function div(uint256 a, uint256 b) public pure returns (uint256) {\n return SafeMath.div(a, b);\n }\n\n function sub(uint256 a, uint256 b) public pure returns (uint256) {\n return SafeMath.sub(a, b);\n }\n\n function add(uint256 a, uint256 b) public pure returns (uint256) {\n return SafeMath.add(a, b);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/SafeMathMock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/SafeMathMock.sol", "exportedSymbols": { "SafeMathMock": [ - 1468 + 1516 ] }, - "id": 1469, + "id": 1517, "nodeType": "SourceUnit", "nodes": [ { - "id": 1402, + "id": 1450, "literals": [ "solidity", "^", @@ -119,16 +119,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:22" + "src": "0:24:24" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "file": "../math/SafeMath.sol", - "id": 1403, + "id": 1451, "nodeType": "ImportDirective", - "scope": 1469, - "sourceUnit": 537, - "src": "27:30:22", + "scope": 1517, + "sourceUnit": 580, + "src": "27:30:24", "symbolAliases": [], "unitAlias": "" }, @@ -138,627 +138,18 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1468, + "id": 1516, "linearizedBaseContracts": [ - 1468 + 1516 ], "name": "SafeMathMock", "nodeType": "ContractDefinition", "nodes": [ - { - "body": { - "id": 1418, - "nodeType": "Block", - "src": "152:36:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1414, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "178:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1415, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1407, - "src": "181:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1412, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "165:8:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SafeMath_$536_$", - "typeString": "type(library SafeMath)" - } - }, - "id": 1413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 477, - "src": "165:12:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "165:18:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1411, - "id": 1417, - "nodeType": "Return", - "src": "158:25:22" - } - ] - }, - "documentation": null, - "id": 1419, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1408, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1405, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "100:9:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "100:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1407, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "111:9:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1406, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "111:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "99:22:22" - }, - "payable": false, - "returnParameters": { - "id": 1411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1410, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "143:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1409, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "143:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "142:9:22" - }, - "scope": 1468, - "src": "87:101:22", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1434, - "nodeType": "Block", - "src": "257:36:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1430, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1421, - "src": "283:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1431, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1423, - "src": "286:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1428, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "270:8:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SafeMath_$536_$", - "typeString": "type(library SafeMath)" - } - }, - "id": 1429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 491, - "src": "270:12:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "270:18:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1427, - "id": 1433, - "nodeType": "Return", - "src": "263:25:22" - } - ] - }, - "documentation": null, - "id": 1435, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1424, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1421, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 1435, - "src": "205:9:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1420, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "205:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1423, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 1435, - "src": "216:9:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "216:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "204:22:22" - }, - "payable": false, - "returnParameters": { - "id": 1427, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1426, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1435, - "src": "248:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "248:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "247:9:22" - }, - "scope": 1468, - "src": "192:101:22", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1450, - "nodeType": "Block", - "src": "362:36:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1446, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1437, - "src": "388:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1447, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1439, - "src": "391:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1444, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "375:8:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SafeMath_$536_$", - "typeString": "type(library SafeMath)" - } - }, - "id": 1445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "375:12:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "375:18:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1443, - "id": 1449, - "nodeType": "Return", - "src": "368:25:22" - } - ] - }, - "documentation": null, - "id": 1451, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1437, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 1451, - "src": "310:9:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1436, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "310:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1439, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 1451, - "src": "321:9:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "321:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "309:22:22" - }, - "payable": false, - "returnParameters": { - "id": 1443, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1442, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1451, - "src": "353:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "353:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "352:9:22" - }, - "scope": 1468, - "src": "297:101:22", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, { "body": { "id": 1466, "nodeType": "Block", - "src": "467:36:22", + "src": "152:36:24", "statements": [ { "expression": { @@ -771,7 +162,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1453, - "src": "493:1:22", + "src": "178:1:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -784,7 +175,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1455, - "src": "496:1:22", + "src": "181:1:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -808,10 +199,10 @@ "name": "SafeMath", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "480:8:22", + "referencedDeclaration": 579, + "src": "165:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SafeMath_$536_$", + "typeIdentifier": "t_type$_t_contract$_SafeMath_$579_$", "typeString": "type(library SafeMath)" } }, @@ -820,10 +211,10 @@ "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "add", + "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "480:12:22", + "referencedDeclaration": 520, + "src": "165:12:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -837,7 +228,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "480:18:22", + "src": "165:18:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -846,7 +237,7 @@ "functionReturnParameters": 1459, "id": 1465, "nodeType": "Return", - "src": "473:25:22" + "src": "158:25:24" } ] }, @@ -856,7 +247,7 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "add", + "name": "mul", "nodeType": "FunctionDefinition", "parameters": { "id": 1456, @@ -868,7 +259,7 @@ "name": "a", "nodeType": "VariableDeclaration", "scope": 1467, - "src": "415:9:22", + "src": "100:9:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -879,7 +270,7 @@ "id": 1452, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "415:7:22", + "src": "100:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -894,7 +285,7 @@ "name": "b", "nodeType": "VariableDeclaration", "scope": 1467, - "src": "426:9:22", + "src": "111:9:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -905,7 +296,7 @@ "id": 1454, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "426:7:22", + "src": "111:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -915,7 +306,7 @@ "visibility": "internal" } ], - "src": "414:22:22" + "src": "99:22:24" }, "payable": false, "returnParameters": { @@ -928,7 +319,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1467, - "src": "458:7:22", + "src": "143:7:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -939,7 +330,7 @@ "id": 1457, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "458:7:22", + "src": "143:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -949,33 +340,642 @@ "visibility": "internal" } ], - "src": "457:9:22" + "src": "142:9:24" }, - "scope": 1468, - "src": "402:101:22", + "scope": 1516, + "src": "87:101:24", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1482, + "nodeType": "Block", + "src": "257:36:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1478, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1469, + "src": "283:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1479, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "286:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1476, + "name": "SafeMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "270:8:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeMath_$579_$", + "typeString": "type(library SafeMath)" + } + }, + "id": 1477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 534, + "src": "270:12:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "270:18:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1475, + "id": 1481, + "nodeType": "Return", + "src": "263:25:24" + } + ] + }, + "documentation": null, + "id": 1483, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1469, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 1483, + "src": "205:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1468, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "205:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1471, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 1483, + "src": "216:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "216:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "204:22:24" + }, + "payable": false, + "returnParameters": { + "id": 1475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1474, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1483, + "src": "248:7:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "248:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "247:9:24" + }, + "scope": 1516, + "src": "192:101:24", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1498, + "nodeType": "Block", + "src": "362:36:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1494, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "388:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1495, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1487, + "src": "391:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1492, + "name": "SafeMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "375:8:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeMath_$579_$", + "typeString": "type(library SafeMath)" + } + }, + "id": 1493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 554, + "src": "375:12:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "375:18:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1491, + "id": 1497, + "nodeType": "Return", + "src": "368:25:24" + } + ] + }, + "documentation": null, + "id": 1499, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1488, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1485, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 1499, + "src": "310:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1484, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "310:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1487, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 1499, + "src": "321:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1486, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "321:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "309:22:24" + }, + "payable": false, + "returnParameters": { + "id": 1491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1490, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1499, + "src": "353:7:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1489, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "353:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "352:9:24" + }, + "scope": 1516, + "src": "297:101:24", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1514, + "nodeType": "Block", + "src": "467:36:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1510, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "493:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1511, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1503, + "src": "496:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1508, + "name": "SafeMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "480:8:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeMath_$579_$", + "typeString": "type(library SafeMath)" + } + }, + "id": 1509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 578, + "src": "480:12:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "480:18:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1507, + "id": 1513, + "nodeType": "Return", + "src": "473:25:24" + } + ] + }, + "documentation": null, + "id": 1515, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1504, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1501, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 1515, + "src": "415:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1500, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "415:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1503, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 1515, + "src": "426:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1502, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "426:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "414:22:24" + }, + "payable": false, + "returnParameters": { + "id": 1507, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1506, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1515, + "src": "458:7:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1505, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "458:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "457:9:24" + }, + "scope": 1516, + "src": "402:101:24", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], - "scope": 1469, - "src": "60:445:22" + "scope": 1517, + "src": "60:445:24" } ], - "src": "0:506:22" + "src": "0:506:24" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/SafeMathMock.sol", "exportedSymbols": { "SafeMathMock": [ - 1468 + 1516 ] }, - "id": 1469, + "id": 1517, "nodeType": "SourceUnit", "nodes": [ { - "id": 1402, + "id": 1450, "literals": [ "solidity", "^", @@ -983,16 +983,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:22" + "src": "0:24:24" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "file": "../math/SafeMath.sol", - "id": 1403, + "id": 1451, "nodeType": "ImportDirective", - "scope": 1469, - "sourceUnit": 537, - "src": "27:30:22", + "scope": 1517, + "sourceUnit": 580, + "src": "27:30:24", "symbolAliases": [], "unitAlias": "" }, @@ -1002,627 +1002,18 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1468, + "id": 1516, "linearizedBaseContracts": [ - 1468 + 1516 ], "name": "SafeMathMock", "nodeType": "ContractDefinition", "nodes": [ - { - "body": { - "id": 1418, - "nodeType": "Block", - "src": "152:36:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1414, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "178:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1415, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1407, - "src": "181:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1412, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "165:8:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SafeMath_$536_$", - "typeString": "type(library SafeMath)" - } - }, - "id": 1413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 477, - "src": "165:12:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "165:18:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1411, - "id": 1417, - "nodeType": "Return", - "src": "158:25:22" - } - ] - }, - "documentation": null, - "id": 1419, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1408, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1405, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "100:9:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "100:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1407, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "111:9:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1406, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "111:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "99:22:22" - }, - "payable": false, - "returnParameters": { - "id": 1411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1410, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "143:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1409, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "143:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "142:9:22" - }, - "scope": 1468, - "src": "87:101:22", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1434, - "nodeType": "Block", - "src": "257:36:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1430, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1421, - "src": "283:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1431, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1423, - "src": "286:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1428, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "270:8:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SafeMath_$536_$", - "typeString": "type(library SafeMath)" - } - }, - "id": 1429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 491, - "src": "270:12:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "270:18:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1427, - "id": 1433, - "nodeType": "Return", - "src": "263:25:22" - } - ] - }, - "documentation": null, - "id": 1435, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1424, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1421, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 1435, - "src": "205:9:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1420, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "205:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1423, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 1435, - "src": "216:9:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "216:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "204:22:22" - }, - "payable": false, - "returnParameters": { - "id": 1427, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1426, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1435, - "src": "248:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "248:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "247:9:22" - }, - "scope": 1468, - "src": "192:101:22", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1450, - "nodeType": "Block", - "src": "362:36:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1446, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1437, - "src": "388:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1447, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1439, - "src": "391:1:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1444, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "375:8:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SafeMath_$536_$", - "typeString": "type(library SafeMath)" - } - }, - "id": 1445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "375:12:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "375:18:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1443, - "id": 1449, - "nodeType": "Return", - "src": "368:25:22" - } - ] - }, - "documentation": null, - "id": 1451, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1437, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 1451, - "src": "310:9:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1436, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "310:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1439, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 1451, - "src": "321:9:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "321:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "309:22:22" - }, - "payable": false, - "returnParameters": { - "id": 1443, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1442, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1451, - "src": "353:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "353:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "352:9:22" - }, - "scope": 1468, - "src": "297:101:22", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, { "body": { "id": 1466, "nodeType": "Block", - "src": "467:36:22", + "src": "152:36:24", "statements": [ { "expression": { @@ -1635,7 +1026,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1453, - "src": "493:1:22", + "src": "178:1:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1648,7 +1039,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1455, - "src": "496:1:22", + "src": "181:1:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1672,10 +1063,10 @@ "name": "SafeMath", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "480:8:22", + "referencedDeclaration": 579, + "src": "165:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SafeMath_$536_$", + "typeIdentifier": "t_type$_t_contract$_SafeMath_$579_$", "typeString": "type(library SafeMath)" } }, @@ -1684,10 +1075,10 @@ "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "add", + "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "480:12:22", + "referencedDeclaration": 520, + "src": "165:12:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -1701,7 +1092,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "480:18:22", + "src": "165:18:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1710,7 +1101,7 @@ "functionReturnParameters": 1459, "id": 1465, "nodeType": "Return", - "src": "473:25:22" + "src": "158:25:24" } ] }, @@ -1720,7 +1111,7 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "add", + "name": "mul", "nodeType": "FunctionDefinition", "parameters": { "id": 1456, @@ -1732,7 +1123,7 @@ "name": "a", "nodeType": "VariableDeclaration", "scope": 1467, - "src": "415:9:22", + "src": "100:9:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1743,7 +1134,7 @@ "id": 1452, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "415:7:22", + "src": "100:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1758,7 +1149,7 @@ "name": "b", "nodeType": "VariableDeclaration", "scope": 1467, - "src": "426:9:22", + "src": "111:9:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1769,7 +1160,7 @@ "id": 1454, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "426:7:22", + "src": "111:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1779,7 +1170,7 @@ "visibility": "internal" } ], - "src": "414:22:22" + "src": "99:22:24" }, "payable": false, "returnParameters": { @@ -1792,7 +1183,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1467, - "src": "458:7:22", + "src": "143:7:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1803,7 +1194,7 @@ "id": 1457, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "458:7:22", + "src": "143:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1813,26 +1204,635 @@ "visibility": "internal" } ], - "src": "457:9:22" + "src": "142:9:24" }, - "scope": 1468, - "src": "402:101:22", + "scope": 1516, + "src": "87:101:24", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1482, + "nodeType": "Block", + "src": "257:36:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1478, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1469, + "src": "283:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1479, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "286:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1476, + "name": "SafeMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "270:8:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeMath_$579_$", + "typeString": "type(library SafeMath)" + } + }, + "id": 1477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 534, + "src": "270:12:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "270:18:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1475, + "id": 1481, + "nodeType": "Return", + "src": "263:25:24" + } + ] + }, + "documentation": null, + "id": 1483, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1469, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 1483, + "src": "205:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1468, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "205:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1471, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 1483, + "src": "216:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "216:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "204:22:24" + }, + "payable": false, + "returnParameters": { + "id": 1475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1474, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1483, + "src": "248:7:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "248:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "247:9:24" + }, + "scope": 1516, + "src": "192:101:24", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1498, + "nodeType": "Block", + "src": "362:36:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1494, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "388:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1495, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1487, + "src": "391:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1492, + "name": "SafeMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "375:8:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeMath_$579_$", + "typeString": "type(library SafeMath)" + } + }, + "id": 1493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 554, + "src": "375:12:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "375:18:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1491, + "id": 1497, + "nodeType": "Return", + "src": "368:25:24" + } + ] + }, + "documentation": null, + "id": 1499, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1488, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1485, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 1499, + "src": "310:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1484, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "310:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1487, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 1499, + "src": "321:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1486, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "321:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "309:22:24" + }, + "payable": false, + "returnParameters": { + "id": 1491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1490, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1499, + "src": "353:7:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1489, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "353:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "352:9:24" + }, + "scope": 1516, + "src": "297:101:24", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1514, + "nodeType": "Block", + "src": "467:36:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1510, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "493:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1511, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1503, + "src": "496:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1508, + "name": "SafeMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "480:8:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeMath_$579_$", + "typeString": "type(library SafeMath)" + } + }, + "id": 1509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 578, + "src": "480:12:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "480:18:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1507, + "id": 1513, + "nodeType": "Return", + "src": "473:25:24" + } + ] + }, + "documentation": null, + "id": 1515, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1504, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1501, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 1515, + "src": "415:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1500, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "415:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1503, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 1515, + "src": "426:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1502, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "426:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "414:22:24" + }, + "payable": false, + "returnParameters": { + "id": 1507, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1506, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1515, + "src": "458:7:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1505, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "458:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "457:9:24" + }, + "scope": 1516, + "src": "402:101:24", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], - "scope": 1469, - "src": "60:445:22" + "scope": 1517, + "src": "60:445:24" } ], - "src": "0:506:22" + "src": "0:506:24" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.625Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.209Z" } \ No newline at end of file diff --git a/build/contracts/SignatureBouncer.json b/build/contracts/SignatureBouncer.json index 8757c618d..c902c3fa3 100644 --- a/build/contracts/SignatureBouncer.json +++ b/build/contracts/SignatureBouncer.json @@ -218,10 +218,10 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50611320806100206000396000f300608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c1461009e5780631479290e14610127578063217fe6c61461016a578063888764c81461020b5780638da5cb5b1461024e578063c0bac1a8146102a5578063c4d66de81461036c578063d466ab6b146103af578063f2fde38b1461043f575b600080fd5b3480156100aa57600080fd5b50610125600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610482565b005b34801561013357600080fd5b50610168600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610503565b005b34801561017657600080fd5b506101f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506105dd565b604051808215151515815260200191505060405180910390f35b34801561021757600080fd5b5061024c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610664565b005b34801561025a57600080fd5b5061026361073e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102b157600080fd5b50610352600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610764565b604051808215151515815260200191505060405180910390f35b34801561037857600080fd5b506103ad600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061084f565b005b3480156103bb57600080fd5b506103c4610ad5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104045780820151818401526020810190506103e9565b50505050905090810190601f1680156104315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561044b57600080fd5b50610480600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b0e565b005b6104ff826002836040518082805190602001908083835b6020831015156104be5780518252602082019150602081019050602083039250610499565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610c6690919063ffffffff16565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561055f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561059b57600080fd5b6105da816040805190810160405280600781526020017f626f756e63657200000000000000000000000000000000000000000000000000815250610c7f565b50565b600061065c836002846040518082805190602001908083835b60208310151561061b57805182526020820191506020810190506020830392506105f6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610dd090919063ffffffff16565b905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106c057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156106fc57600080fd5b61073b816040805190810160405280600781526020017f626f756e63657200000000000000000000000000000000000000000000000000815250610e29565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080836040518082805190602001908083835b60208310151561079d5780518252602082019150602081019050602083039250610778565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561080657805182526020820191506020810190506020830392506107e1565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280601081526020017f5369676e6174757265426f756e636572000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506108c58282610764565b1515156108d157600080fd5b6108da83610f7a565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610941578082015181840152602081019050610926565b50505050905090810190601f16801561096e5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156109a757808201518184015260208101905061098c565b50505050905090810190601f1680156109d45780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610a1d57805182526020820191506020810190506020830392506109f8565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610a865780518252602082019150602081019050602083039250610a61565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6040805190810160405280600781526020017f626f756e6365720000000000000000000000000000000000000000000000000081525081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b6a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610ba657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610c708282610dd0565b1515610c7b57600080fd5b5050565b610cfc826002836040518082805190602001908083835b602083101515610cbb5780518252602082019150602081019050602083039250610c96565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061123890919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d91578082015181840152602081019050610d76565b50505050905090810190601f168015610dbe5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610ea6826002836040518082805190602001908083835b602083101515610e655780518252602082019150602081019050602083039250610e40565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061129690919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610f3b578082015181840152602081019050610f20565b50505050905090810190601f168015610f685780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610ff08282610764565b151515610ffc57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156110a4578082015181840152602081019050611089565b50505050905090810190601f1680156110d15780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561110a5780820151818401526020810190506110ef565b50505050905090810190601f1680156111375780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611180578051825260208201915060208101905060208303925061115b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156111e957805182526020820191506020810190506020830392506111c4565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505600a165627a7a72305820bf302a2d04cff8ad1edb8498b372df0fee4a63c158b74deb540777c919d78b660029", - "deployedBytecode": "0x608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c1461009e5780631479290e14610127578063217fe6c61461016a578063888764c81461020b5780638da5cb5b1461024e578063c0bac1a8146102a5578063c4d66de81461036c578063d466ab6b146103af578063f2fde38b1461043f575b600080fd5b3480156100aa57600080fd5b50610125600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610482565b005b34801561013357600080fd5b50610168600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610503565b005b34801561017657600080fd5b506101f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506105dd565b604051808215151515815260200191505060405180910390f35b34801561021757600080fd5b5061024c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610664565b005b34801561025a57600080fd5b5061026361073e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102b157600080fd5b50610352600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610764565b604051808215151515815260200191505060405180910390f35b34801561037857600080fd5b506103ad600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061084f565b005b3480156103bb57600080fd5b506103c4610ad5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104045780820151818401526020810190506103e9565b50505050905090810190601f1680156104315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561044b57600080fd5b50610480600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b0e565b005b6104ff826002836040518082805190602001908083835b6020831015156104be5780518252602082019150602081019050602083039250610499565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610c6690919063ffffffff16565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561055f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561059b57600080fd5b6105da816040805190810160405280600781526020017f626f756e63657200000000000000000000000000000000000000000000000000815250610c7f565b50565b600061065c836002846040518082805190602001908083835b60208310151561061b57805182526020820191506020810190506020830392506105f6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610dd090919063ffffffff16565b905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106c057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156106fc57600080fd5b61073b816040805190810160405280600781526020017f626f756e63657200000000000000000000000000000000000000000000000000815250610e29565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080836040518082805190602001908083835b60208310151561079d5780518252602082019150602081019050602083039250610778565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561080657805182526020820191506020810190506020830392506107e1565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280601081526020017f5369676e6174757265426f756e636572000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506108c58282610764565b1515156108d157600080fd5b6108da83610f7a565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610941578082015181840152602081019050610926565b50505050905090810190601f16801561096e5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156109a757808201518184015260208101905061098c565b50505050905090810190601f1680156109d45780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610a1d57805182526020820191506020810190506020830392506109f8565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610a865780518252602082019150602081019050602083039250610a61565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6040805190810160405280600781526020017f626f756e6365720000000000000000000000000000000000000000000000000081525081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b6a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610ba657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610c708282610dd0565b1515610c7b57600080fd5b5050565b610cfc826002836040518082805190602001908083835b602083101515610cbb5780518252602082019150602081019050602083039250610c96565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061123890919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d91578082015181840152602081019050610d76565b50505050905090810190601f168015610dbe5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610ea6826002836040518082805190602001908083835b602083101515610e655780518252602082019150602081019050602083039250610e40565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061129690919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610f3b578082015181840152602081019050610f20565b50505050905090810190601f168015610f685780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610ff08282610764565b151515610ffc57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156110a4578082015181840152602081019050611089565b50505050905090810190601f1680156110d15780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561110a5780820151818401526020810190506110ef565b50505050905090810190601f1680156111375780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611180578051825260208201915060208101905060208303925061115b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156111e957805182526020820191506020810190506020830392506111c4565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505600a165627a7a72305820bf302a2d04cff8ad1edb8498b372df0fee4a63c158b74deb540777c919d78b660029", + "bytecode": "0x608060405234801561001057600080fd5b50611320806100206000396000f300608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c1461009e5780631479290e14610127578063217fe6c61461016a578063888764c81461020b5780638da5cb5b1461024e578063c0bac1a8146102a5578063c4d66de81461036c578063d466ab6b146103af578063f2fde38b1461043f575b600080fd5b3480156100aa57600080fd5b50610125600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610482565b005b34801561013357600080fd5b50610168600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610503565b005b34801561017657600080fd5b506101f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506105dd565b604051808215151515815260200191505060405180910390f35b34801561021757600080fd5b5061024c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610664565b005b34801561025a57600080fd5b5061026361073e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102b157600080fd5b50610352600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610764565b604051808215151515815260200191505060405180910390f35b34801561037857600080fd5b506103ad600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061084f565b005b3480156103bb57600080fd5b506103c4610ad5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104045780820151818401526020810190506103e9565b50505050905090810190601f1680156104315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561044b57600080fd5b50610480600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b0e565b005b6104ff826002836040518082805190602001908083835b6020831015156104be5780518252602082019150602081019050602083039250610499565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610c6690919063ffffffff16565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561055f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561059b57600080fd5b6105da816040805190810160405280600781526020017f626f756e63657200000000000000000000000000000000000000000000000000815250610c7f565b50565b600061065c836002846040518082805190602001908083835b60208310151561061b57805182526020820191506020810190506020830392506105f6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610dd090919063ffffffff16565b905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106c057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156106fc57600080fd5b61073b816040805190810160405280600781526020017f626f756e63657200000000000000000000000000000000000000000000000000815250610e29565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080836040518082805190602001908083835b60208310151561079d5780518252602082019150602081019050602083039250610778565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561080657805182526020820191506020810190506020830392506107e1565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280601081526020017f5369676e6174757265426f756e636572000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506108c58282610764565b1515156108d157600080fd5b6108da83610f7a565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610941578082015181840152602081019050610926565b50505050905090810190601f16801561096e5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156109a757808201518184015260208101905061098c565b50505050905090810190601f1680156109d45780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610a1d57805182526020820191506020810190506020830392506109f8565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610a865780518252602082019150602081019050602083039250610a61565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6040805190810160405280600781526020017f626f756e6365720000000000000000000000000000000000000000000000000081525081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b6a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610ba657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610c708282610dd0565b1515610c7b57600080fd5b5050565b610cfc826002836040518082805190602001908083835b602083101515610cbb5780518252602082019150602081019050602083039250610c96565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061123890919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d91578082015181840152602081019050610d76565b50505050905090810190601f168015610dbe5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610ea6826002836040518082805190602001908083835b602083101515610e655780518252602082019150602081019050602083039250610e40565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061129690919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610f3b578082015181840152602081019050610f20565b50505050905090810190601f168015610f685780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610ff08282610764565b151515610ffc57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156110a4578082015181840152602081019050611089565b50505050905090810190601f1680156110d15780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561110a5780820151818401526020810190506110ef565b50505050905090810190601f1680156111375780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611180578051825260208201915060208101905060208303925061115b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156111e957805182526020820191506020810190506020830392506111c4565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505600a165627a7a72305820da24712f17f123068239eb9f3bfc1f899bffbf9b51dbafde283e5bc86dd459720029", + "deployedBytecode": "0x608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c1461009e5780631479290e14610127578063217fe6c61461016a578063888764c81461020b5780638da5cb5b1461024e578063c0bac1a8146102a5578063c4d66de81461036c578063d466ab6b146103af578063f2fde38b1461043f575b600080fd5b3480156100aa57600080fd5b50610125600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610482565b005b34801561013357600080fd5b50610168600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610503565b005b34801561017657600080fd5b506101f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506105dd565b604051808215151515815260200191505060405180910390f35b34801561021757600080fd5b5061024c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610664565b005b34801561025a57600080fd5b5061026361073e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102b157600080fd5b50610352600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610764565b604051808215151515815260200191505060405180910390f35b34801561037857600080fd5b506103ad600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061084f565b005b3480156103bb57600080fd5b506103c4610ad5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104045780820151818401526020810190506103e9565b50505050905090810190601f1680156104315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561044b57600080fd5b50610480600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b0e565b005b6104ff826002836040518082805190602001908083835b6020831015156104be5780518252602082019150602081019050602083039250610499565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610c6690919063ffffffff16565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561055f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561059b57600080fd5b6105da816040805190810160405280600781526020017f626f756e63657200000000000000000000000000000000000000000000000000815250610c7f565b50565b600061065c836002846040518082805190602001908083835b60208310151561061b57805182526020820191506020810190506020830392506105f6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610dd090919063ffffffff16565b905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106c057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156106fc57600080fd5b61073b816040805190810160405280600781526020017f626f756e63657200000000000000000000000000000000000000000000000000815250610e29565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080836040518082805190602001908083835b60208310151561079d5780518252602082019150602081019050602083039250610778565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561080657805182526020820191506020810190506020830392506107e1565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280601081526020017f5369676e6174757265426f756e636572000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506108c58282610764565b1515156108d157600080fd5b6108da83610f7a565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610941578082015181840152602081019050610926565b50505050905090810190601f16801561096e5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156109a757808201518184015260208101905061098c565b50505050905090810190601f1680156109d45780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610a1d57805182526020820191506020810190506020830392506109f8565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610a865780518252602082019150602081019050602083039250610a61565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6040805190810160405280600781526020017f626f756e6365720000000000000000000000000000000000000000000000000081525081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b6a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610ba657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610c708282610dd0565b1515610c7b57600080fd5b5050565b610cfc826002836040518082805190602001908083835b602083101515610cbb5780518252602082019150602081019050602083039250610c96565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061123890919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d91578082015181840152602081019050610d76565b50505050905090810190601f168015610dbe5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610ea6826002836040518082805190602001908083835b602083101515610e655780518252602082019150602081019050602083039250610e40565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061129690919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610f3b578082015181840152602081019050610f20565b50505050905090810190601f168015610f685780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610ff08282610764565b151515610ffc57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156110a4578082015181840152602081019050611089565b50505050905090810190601f1680156110d15780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561110a5780820151818401526020810190506110ef565b50505050905090810190601f1680156111375780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611180578051825260208201915060208101905060208303925061115b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156111e957805182526020820191506020810190506020830392506111c4565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505600a165627a7a72305820da24712f17f123068239eb9f3bfc1f899bffbf9b51dbafde283e5bc86dd459720029", "sourceMap": "1082:1605:3:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1082:1605:3;;;;;;;", - "deployedSourceMap": "1082:1605:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;941:110:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1842:150:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1842:150:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;1189:132:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1189:132:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1627:144:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1627:144:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:25;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1226:135:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1226:135:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;1174:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1174:47:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1174:47:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110:26;1019:27;1041:4;1019:5;1025:8;1019:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1019:15:26;;;;;;;;;;;;;;;;;;;;;:21;;:27;;;;:::i;:::-;941:110;;:::o;1842:150:3:-;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1944:1:3;1924:22;;:8;:22;;;;1916:31;;;;;;;;1953:34;1964:8;1974:12;;;;;;;;;;;;;;;;;;1953:10;:34::i;:::-;1842:150;:::o;1189:132:26:-;1270:4;1291:25;1311:4;1291:5;1297:8;1291:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1291:15:26;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1284:32;;1189:132;;;;:::o;1627:144:3:-;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1726:1:3;1706:22;;:8;:22;;;;1698:31;;;;;;;;1735;1743:8;1753:12;;;;;;;;;;;;;;;;;;1735:7;:31::i;:::-;1627:144;:::o;307:20:25:-;;;;;;;;;;;;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;1226:135:3:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;1329:27:3;1348:7;1329:18;:27::i;:::-;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;1226:135:3;;;:::o;1174:47::-;;;;;;;;;;;;;;;;;;;;:::o;949:174:25:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;663:107:28:-;749:15;753:4;759;749:3;:15::i;:::-;741:24;;;;;;;;663:107;;:::o;1697:143:26:-;1769:28;1792:4;1769:5;1775:8;1769:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1769:15:26;;;;;;;;;;;;;;;;;;;;;:22;;:28;;;;:::i;:::-;1808:27;1820:4;1826:8;1808:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1808:27:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1697:143;;:::o;848:124:28:-;929:4;950;:11;;:17;962:4;950:17;;;;;;;;;;;;;;;;;;;;;;;;;943:24;;848:124;;;;:::o;1439:135:26:-;1508:25;1528:4;1508:5;1514:8;1508:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1508:15:26;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1544;1554:4;1560:8;1544:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1544:25:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1439:135;;:::o;537:104:25:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:25;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:25;;;:::o;487:100:28:-;577:5;557:4;:11;;:17;569:4;557:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;487:100;;:::o;326:96::-;413:4;393;:11;;:17;405:4;393:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;326:96;;:::o", + "deployedSourceMap": "1082:1605:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;941:110:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1842:150:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1842:150:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;1189:132:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1189:132:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1627:144:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1627:144:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:27;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1226:135:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1226:135:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;1174:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1174:47:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1174:47:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110:28;1019:27;1041:4;1019:5;1025:8;1019:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1019:15:28;;;;;;;;;;;;;;;;;;;;;:21;;:27;;;;:::i;:::-;941:110;;:::o;1842:150:3:-;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1944:1:3;1924:22;;:8;:22;;;;1916:31;;;;;;;;1953:34;1964:8;1974:12;;;;;;;;;;;;;;;;;;1953:10;:34::i;:::-;1842:150;:::o;1189:132:28:-;1270:4;1291:25;1311:4;1291:5;1297:8;1291:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1291:15:28;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1284:32;;1189:132;;;;:::o;1627:144:3:-;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1726:1:3;1706:22;;:8;:22;;;;1698:31;;;;;;;;1735;1743:8;1753:12;;;;;;;;;;;;;;;;;;1735:7;:31::i;:::-;1627:144;:::o;307:20:27:-;;;;;;;;;;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;1226:135:3:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;1329:27:3;1348:7;1329:18;:27::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;1226:135:3;;;:::o;1174:47::-;;;;;;;;;;;;;;;;;;;;:::o;949:174:27:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;663:107:30:-;749:15;753:4;759;749:3;:15::i;:::-;741:24;;;;;;;;663:107;;:::o;1697:143:28:-;1769:28;1792:4;1769:5;1775:8;1769:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1769:15:28;;;;;;;;;;;;;;;;;;;;;:22;;:28;;;;:::i;:::-;1808:27;1820:4;1826:8;1808:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1808:27:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1697:143;;:::o;848:124:30:-;929:4;950;:11;;:17;962:4;950:17;;;;;;;;;;;;;;;;;;;;;;;;;943:24;;848:124;;;;:::o;1439:135:28:-;1508:25;1528:4;1508:5;1514:8;1508:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1508:15:28;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1544;1554:4;1560:8;1544:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1544:25:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1439:135;;:::o;537:104:27:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:27;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:27;;;:::o;487:100:30:-;577:5;557:4;:11;;:17;569:4;557:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;487:100;;:::o;326:96::-;413:4;393;:11;;:17;405:4;393:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;326:96;;:::o", "source": "pragma solidity ^0.4.18;\n\nimport \"../ownership/Ownable.sol\";\nimport \"../ownership/rbac/RBAC.sol\";\nimport \"../ECRecovery.sol\";\n\n\n/**\n * @title SignatureBouncer\n * @author PhABC and Shrugs\n * @dev Bouncer allows users to submit a signature as a permission to do an action.\n * @dev If the signature is from one of the authorized bouncer addresses, the signature\n * @dev is valid. The owner of the contract adds/removes bouncers.\n * @dev Bouncer addresses can be individual servers signing grants or different\n * @dev users within a decentralized club that have permission to invite other members.\n * @dev\n * @dev This technique is useful for whitelists and airdrops; instead of putting all\n * @dev valid addresses on-chain, simply sign a grant of the form\n * @dev keccak256(`:contractAddress` + `:granteeAddress`) using a valid bouncer address.\n * @dev Then restrict access to your crowdsale/whitelist/airdrop using the\n * @dev `onlyValidSignature` modifier (or implement your own using isValidSignature).\n * @dev\n * @dev See the tests Bouncer.test.js for specific usage examples.\n */\ncontract SignatureBouncer is Migratable, Ownable, RBAC {\n using ECRecovery for bytes32;\n\n string public constant ROLE_BOUNCER = \"bouncer\";\n\n function initialize(address _sender)\n isInitializer(\"SignatureBouncer\", \"1.9.0\")\n public\n {\n Ownable.initialize(_sender);\n }\n\n /**\n * @dev requires that a valid signature of a bouncer was provided\n */\n modifier onlyValidSignature(bytes _sig)\n {\n require(isValidSignature(msg.sender, _sig));\n _;\n }\n\n /**\n * @dev allows the owner to add additional bouncer addresses\n */\n function addBouncer(address _bouncer)\n onlyOwner\n public\n {\n require(_bouncer != address(0));\n addRole(_bouncer, ROLE_BOUNCER);\n }\n\n /**\n * @dev allows the owner to remove bouncer addresses\n */\n function removeBouncer(address _bouncer)\n onlyOwner\n public\n {\n require(_bouncer != address(0));\n removeRole(_bouncer, ROLE_BOUNCER);\n }\n\n /**\n * @dev is the signature of `this + sender` from a bouncer?\n * @return bool\n */\n function isValidSignature(address _address, bytes _sig)\n internal\n view\n returns (bool)\n {\n return isValidDataHash(\n keccak256(address(this), _address),\n _sig\n );\n }\n\n /**\n * @dev internal function to convert a hash to an eth signed message\n * @dev and then recover the signature and check it against the bouncer role\n * @return bool\n */\n function isValidDataHash(bytes32 hash, bytes _sig)\n internal\n view\n returns (bool)\n {\n address signer = hash\n .toEthSignedMessageHash()\n .recover(_sig);\n return hasRole(signer, ROLE_BOUNCER);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/access/SignatureBouncer.sol", "ast": { @@ -251,7 +251,7 @@ "id": 162, "nodeType": "ImportDirective", "scope": 294, - "sourceUnit": 1581, + "sourceUnit": 1629, "src": "26:34:3", "symbolAliases": [], "unitAlias": "" @@ -262,7 +262,7 @@ "id": 163, "nodeType": "ImportDirective", "scope": 294, - "sourceUnit": 1688, + "sourceUnit": 1736, "src": "61:36:3", "symbolAliases": [], "unitAlias": "" @@ -287,10 +287,10 @@ "id": 165, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, + "referencedDeclaration": 4864, "src": "1111:10:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, @@ -305,10 +305,10 @@ "id": 167, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1580, + "referencedDeclaration": 1628, "src": "1123:7:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$1580", + "typeIdentifier": "t_contract$_Ownable_$1628", "typeString": "contract Ownable" } }, @@ -323,10 +323,10 @@ "id": 169, "name": "RBAC", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1687, + "referencedDeclaration": 1735, "src": "1132:4:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_RBAC_$1687", + "typeIdentifier": "t_contract$_RBAC_$1735", "typeString": "contract RBAC" } }, @@ -336,9 +336,9 @@ } ], "contractDependencies": [ - 1580, - 1687, - 4769 + 1628, + 1735, + 4864 ], "contractKind": "contract", "documentation": "@title SignatureBouncer\n@author PhABC and Shrugs\n@dev Bouncer allows users to submit a signature as a permission to do an action.\n@dev If the signature is from one of the authorized bouncer addresses, the signature\n@dev is valid. The owner of the contract adds/removes bouncers.\n@dev Bouncer addresses can be individual servers signing grants or different\n@dev users within a decentralized club that have permission to invite other members.\n@dev\n@dev This technique is useful for whitelists and airdrops; instead of putting all\n@dev valid addresses on-chain, simply sign a grant of the form\n@dev keccak256(`:contractAddress` + `:granteeAddress`) using a valid bouncer address.\n@dev Then restrict access to your crowdsale/whitelist/airdrop using the\n@dev `onlyValidSignature` modifier (or implement your own using isValidSignature).\n@dev\n@dev See the tests Bouncer.test.js for specific usage examples.", @@ -346,9 +346,9 @@ "id": 293, "linearizedBaseContracts": [ 293, - 1687, - 1580, - 4769 + 1735, + 1628, + 4864 ], "name": "SignatureBouncer", "nodeType": "ContractDefinition", @@ -460,10 +460,10 @@ "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1580, + "referencedDeclaration": 1628, "src": "1329:7:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Ownable_$1580_$", + "typeIdentifier": "t_type$_t_contract$_Ownable_$1628_$", "typeString": "type(contract Ownable)" } }, @@ -474,7 +474,7 @@ "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1543, + "referencedDeclaration": 1591, "src": "1329:18:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", @@ -553,7 +553,7 @@ "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, + "referencedDeclaration": 4811, "src": "1267:13:3", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", @@ -609,7 +609,7 @@ "scope": 293, "src": "1226:135:3", "stateMutability": "nonpayable", - "superFunction": 1543, + "superFunction": 1591, "visibility": "public" }, { @@ -633,7 +633,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, + "referencedDeclaration": 4879, "src": "1518:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -716,10 +716,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, + "referencedDeclaration": 4882, "src": "1493:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -901,10 +901,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, + "referencedDeclaration": 4882, "src": "1698:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -975,7 +975,7 @@ "name": "addRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1654, + "referencedDeclaration": 1702, "src": "1735:7:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", @@ -1017,7 +1017,7 @@ "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1554, + "referencedDeclaration": 1602, "src": "1669:9:3", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -1186,10 +1186,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, + "referencedDeclaration": 4882, "src": "1916:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -1260,7 +1260,7 @@ "name": "removeRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1674, + "referencedDeclaration": 1722, "src": "1953:10:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", @@ -1302,7 +1302,7 @@ "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1554, + "referencedDeclaration": 1602, "src": "1887:9:3", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -1383,7 +1383,7 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4811, + "referencedDeclaration": 4906, "src": "2241:4:3", "typeDescriptions": { "typeIdentifier": "t_contract$_SignatureBouncer_$293", @@ -1454,7 +1454,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4778, + "referencedDeclaration": 4873, "src": "2223:9:3", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -1825,7 +1825,7 @@ "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1634, + "referencedDeclaration": 1682, "src": "2651:7:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$", @@ -1994,7 +1994,7 @@ "id": 162, "nodeType": "ImportDirective", "scope": 294, - "sourceUnit": 1581, + "sourceUnit": 1629, "src": "26:34:3", "symbolAliases": [], "unitAlias": "" @@ -2005,7 +2005,7 @@ "id": 163, "nodeType": "ImportDirective", "scope": 294, - "sourceUnit": 1688, + "sourceUnit": 1736, "src": "61:36:3", "symbolAliases": [], "unitAlias": "" @@ -2030,10 +2030,10 @@ "id": 165, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, + "referencedDeclaration": 4864, "src": "1111:10:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, @@ -2048,10 +2048,10 @@ "id": 167, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1580, + "referencedDeclaration": 1628, "src": "1123:7:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$1580", + "typeIdentifier": "t_contract$_Ownable_$1628", "typeString": "contract Ownable" } }, @@ -2066,10 +2066,10 @@ "id": 169, "name": "RBAC", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1687, + "referencedDeclaration": 1735, "src": "1132:4:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_RBAC_$1687", + "typeIdentifier": "t_contract$_RBAC_$1735", "typeString": "contract RBAC" } }, @@ -2079,9 +2079,9 @@ } ], "contractDependencies": [ - 1580, - 1687, - 4769 + 1628, + 1735, + 4864 ], "contractKind": "contract", "documentation": "@title SignatureBouncer\n@author PhABC and Shrugs\n@dev Bouncer allows users to submit a signature as a permission to do an action.\n@dev If the signature is from one of the authorized bouncer addresses, the signature\n@dev is valid. The owner of the contract adds/removes bouncers.\n@dev Bouncer addresses can be individual servers signing grants or different\n@dev users within a decentralized club that have permission to invite other members.\n@dev\n@dev This technique is useful for whitelists and airdrops; instead of putting all\n@dev valid addresses on-chain, simply sign a grant of the form\n@dev keccak256(`:contractAddress` + `:granteeAddress`) using a valid bouncer address.\n@dev Then restrict access to your crowdsale/whitelist/airdrop using the\n@dev `onlyValidSignature` modifier (or implement your own using isValidSignature).\n@dev\n@dev See the tests Bouncer.test.js for specific usage examples.", @@ -2089,9 +2089,9 @@ "id": 293, "linearizedBaseContracts": [ 293, - 1687, - 1580, - 4769 + 1735, + 1628, + 4864 ], "name": "SignatureBouncer", "nodeType": "ContractDefinition", @@ -2203,10 +2203,10 @@ "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1580, + "referencedDeclaration": 1628, "src": "1329:7:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Ownable_$1580_$", + "typeIdentifier": "t_type$_t_contract$_Ownable_$1628_$", "typeString": "type(contract Ownable)" } }, @@ -2217,7 +2217,7 @@ "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1543, + "referencedDeclaration": 1591, "src": "1329:18:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", @@ -2296,7 +2296,7 @@ "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, + "referencedDeclaration": 4811, "src": "1267:13:3", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", @@ -2352,7 +2352,7 @@ "scope": 293, "src": "1226:135:3", "stateMutability": "nonpayable", - "superFunction": 1543, + "superFunction": 1591, "visibility": "public" }, { @@ -2376,7 +2376,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, + "referencedDeclaration": 4879, "src": "1518:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2459,10 +2459,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, + "referencedDeclaration": 4882, "src": "1493:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -2644,10 +2644,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, + "referencedDeclaration": 4882, "src": "1698:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -2718,7 +2718,7 @@ "name": "addRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1654, + "referencedDeclaration": 1702, "src": "1735:7:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", @@ -2760,7 +2760,7 @@ "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1554, + "referencedDeclaration": 1602, "src": "1669:9:3", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -2929,10 +2929,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, + "referencedDeclaration": 4882, "src": "1916:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -3003,7 +3003,7 @@ "name": "removeRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1674, + "referencedDeclaration": 1722, "src": "1953:10:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", @@ -3045,7 +3045,7 @@ "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1554, + "referencedDeclaration": 1602, "src": "1887:9:3", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -3126,7 +3126,7 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4811, + "referencedDeclaration": 4906, "src": "2241:4:3", "typeDescriptions": { "typeIdentifier": "t_contract$_SignatureBouncer_$293", @@ -3197,7 +3197,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4778, + "referencedDeclaration": 4873, "src": "2223:9:3", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -3568,7 +3568,7 @@ "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1634, + "referencedDeclaration": 1682, "src": "2651:7:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$", @@ -3712,9 +3712,9 @@ }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.616Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.202Z" } \ No newline at end of file diff --git a/build/contracts/SignatureBouncerMock.json b/build/contracts/SignatureBouncerMock.json index 88ebd328d..180ad09e1 100644 --- a/build/contracts/SignatureBouncerMock.json +++ b/build/contracts/SignatureBouncerMock.json @@ -255,24 +255,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50611952806100206000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c146100b45780631479290e1461013d578063217fe6c61461018057806368b51ac7146102215780636d5b9427146102c2578063888764c81461032b5780638da5cb5b1461036e578063c0bac1a8146103c5578063c4d66de81461048c578063d466ab6b146104cf578063f2fde38b1461055f575b600080fd5b3480156100c057600080fd5b5061013b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506105a2565b005b34801561014957600080fd5b5061017e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610623565b005b34801561018c57600080fd5b50610207600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506106fd565b604051808215151515815260200191505060405180910390f35b34801561022d57600080fd5b506102a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610784565b604051808215151515815260200191505060405180910390f35b3480156102ce57600080fd5b50610329600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610798565b005b34801561033757600080fd5b5061036c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107b2565b005b34801561037a57600080fd5b5061038361088c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103d157600080fd5b50610472600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108b2565b604051808215151515815260200191505060405180910390f35b34801561049857600080fd5b506104cd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061099d565b005b3480156104db57600080fd5b506104e4610c23565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610524578082015181840152602081019050610509565b50505050905090810190601f1680156105515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561056b57600080fd5b506105a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c5c565b005b61061f826002836040518082805190602001908083835b6020831015156105de57805182526020820191506020810190506020830392506105b9565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610db490919063ffffffff16565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561067f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156106bb57600080fd5b6106fa816040805190810160405280600781526020017f626f756e63657200000000000000000000000000000000000000000000000000815250610dcd565b50565b600061077c836002846040518082805190602001908083835b60208310151561073b5780518252602082019150602081019050602083039250610716565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610f1e90919063ffffffff16565b905092915050565b60006107908383610f77565b905092915050565b806107a33382610f77565b15156107ae57600080fd5b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561084a57600080fd5b610889816040805190810160405280600781526020017f626f756e6365720000000000000000000000000000000000000000000000000081525061101e565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080836040518082805190602001908083835b6020831015156108eb57805182526020820191506020810190506020830392506108c6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610954578051825260208201915060208101905060208303925061092f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280601481526020017f5369676e6174757265426f756e6365724d6f636b0000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610a1382826108b2565b151515610a1f57600080fd5b610a288361116f565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a8f578082015181840152602081019050610a74565b50505050905090810190601f168015610abc5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610af5578082015181840152602081019050610ada565b50505050905090810190601f168015610b225780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610b6b5780518252602082019150602081019050602083039250610b46565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610bd45780518252602082019150602081019050602083039250610baf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6040805190810160405280600781526020017f626f756e6365720000000000000000000000000000000000000000000000000081525081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610cf457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610dbe8282610f1e565b1515610dc957600080fd5b5050565b610e4a826002836040518082805190602001908083835b602083101515610e095780518252602082019150602081019050602083039250610de4565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206113f590919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610edf578082015181840152602081019050610ec4565b50505050905090810190601f168015610f0c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60006110163084604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140192505050604051809103902083611453565b905092915050565b61109b826002836040518082805190602001908083835b60208310151561105a5780518252602082019150602081019050602083039250611035565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206114c390919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611130578082015181840152602081019050611115565b50505050905090810190601f16801561115d5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6040805190810160405280601081526020017f5369676e6174757265426f756e636572000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506111e582826108b2565b1515156111f157600080fd5b6111fa83611521565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611261578082015181840152602081019050611246565b50505050905090810190601f16801561128e5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156112c75780820151818401526020810190506112ac565b50505050905090810190601f1680156112f45780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561133d5780518252602082019150602081019050602083039250611318565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156113a65780518252602082019150602081019050602083039250611381565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000806114798361146786600019166117df565b6000191661182e90919063ffffffff16565b90506114ba816040805190810160405280600781526020017f626f756e636572000000000000000000000000000000000000000000000000008152506106fd565b91505092915050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061159782826108b2565b1515156115a357600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561164b578082015181840152602081019050611630565b50505050905090810190601f1680156116785780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156116b1578082015181840152602081019050611696565b50505050905090810190601f1680156116de5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156117275780518252602082019150602081019050602083039250611702565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611790578051825260208201915060208101905060208303925061176b565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60008160405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01826000191660001916815260200191505060405180910390209050919050565b60008060008060418551141515611848576000935061191d565b6020850151925060408501519150606085015160001a9050601b8160ff16101561187357601b810190505b601b8160ff161415801561188b5750601c8160ff1614155b15611899576000935061191d565b600186828585604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015611910573d6000803e3d6000fd5b5050506020604051035193505b505050929150505600a165627a7a72305820cc50f9a94cedb13abef7e31870bae5d5f63944f04ed793f839d7b3148c25f0240029", - "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c146100b45780631479290e1461013d578063217fe6c61461018057806368b51ac7146102215780636d5b9427146102c2578063888764c81461032b5780638da5cb5b1461036e578063c0bac1a8146103c5578063c4d66de81461048c578063d466ab6b146104cf578063f2fde38b1461055f575b600080fd5b3480156100c057600080fd5b5061013b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506105a2565b005b34801561014957600080fd5b5061017e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610623565b005b34801561018c57600080fd5b50610207600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506106fd565b604051808215151515815260200191505060405180910390f35b34801561022d57600080fd5b506102a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610784565b604051808215151515815260200191505060405180910390f35b3480156102ce57600080fd5b50610329600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610798565b005b34801561033757600080fd5b5061036c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107b2565b005b34801561037a57600080fd5b5061038361088c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103d157600080fd5b50610472600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108b2565b604051808215151515815260200191505060405180910390f35b34801561049857600080fd5b506104cd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061099d565b005b3480156104db57600080fd5b506104e4610c23565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610524578082015181840152602081019050610509565b50505050905090810190601f1680156105515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561056b57600080fd5b506105a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c5c565b005b61061f826002836040518082805190602001908083835b6020831015156105de57805182526020820191506020810190506020830392506105b9565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610db490919063ffffffff16565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561067f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156106bb57600080fd5b6106fa816040805190810160405280600781526020017f626f756e63657200000000000000000000000000000000000000000000000000815250610dcd565b50565b600061077c836002846040518082805190602001908083835b60208310151561073b5780518252602082019150602081019050602083039250610716565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610f1e90919063ffffffff16565b905092915050565b60006107908383610f77565b905092915050565b806107a33382610f77565b15156107ae57600080fd5b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561084a57600080fd5b610889816040805190810160405280600781526020017f626f756e6365720000000000000000000000000000000000000000000000000081525061101e565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080836040518082805190602001908083835b6020831015156108eb57805182526020820191506020810190506020830392506108c6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610954578051825260208201915060208101905060208303925061092f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280601481526020017f5369676e6174757265426f756e6365724d6f636b0000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610a1382826108b2565b151515610a1f57600080fd5b610a288361116f565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a8f578082015181840152602081019050610a74565b50505050905090810190601f168015610abc5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610af5578082015181840152602081019050610ada565b50505050905090810190601f168015610b225780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610b6b5780518252602082019150602081019050602083039250610b46565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610bd45780518252602082019150602081019050602083039250610baf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6040805190810160405280600781526020017f626f756e6365720000000000000000000000000000000000000000000000000081525081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610cf457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610dbe8282610f1e565b1515610dc957600080fd5b5050565b610e4a826002836040518082805190602001908083835b602083101515610e095780518252602082019150602081019050602083039250610de4565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206113f590919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610edf578082015181840152602081019050610ec4565b50505050905090810190601f168015610f0c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60006110163084604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140192505050604051809103902083611453565b905092915050565b61109b826002836040518082805190602001908083835b60208310151561105a5780518252602082019150602081019050602083039250611035565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206114c390919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611130578082015181840152602081019050611115565b50505050905090810190601f16801561115d5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6040805190810160405280601081526020017f5369676e6174757265426f756e636572000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506111e582826108b2565b1515156111f157600080fd5b6111fa83611521565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611261578082015181840152602081019050611246565b50505050905090810190601f16801561128e5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156112c75780820151818401526020810190506112ac565b50505050905090810190601f1680156112f45780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561133d5780518252602082019150602081019050602083039250611318565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156113a65780518252602082019150602081019050602083039250611381565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000806114798361146786600019166117df565b6000191661182e90919063ffffffff16565b90506114ba816040805190810160405280600781526020017f626f756e636572000000000000000000000000000000000000000000000000008152506106fd565b91505092915050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061159782826108b2565b1515156115a357600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561164b578082015181840152602081019050611630565b50505050905090810190601f1680156116785780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156116b1578082015181840152602081019050611696565b50505050905090810190601f1680156116de5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156117275780518252602082019150602081019050602083039250611702565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611790578051825260208201915060208101905060208303925061176b565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60008160405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01826000191660001916815260200191505060405180910390209050919050565b60008060008060418551141515611848576000935061191d565b6020850151925060408501519150606085015160001a9050601b8160ff16101561187357601b810190505b601b8160ff161415801561188b5750601c8160ff1614155b15611899576000935061191d565b600186828585604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015611910573d6000803e3d6000fd5b5050506020604051035193505b505050929150505600a165627a7a72305820cc50f9a94cedb13abef7e31870bae5d5f63944f04ed793f839d7b3148c25f0240029", - "sourceMap": "69:463:8:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;69:463:8;;;;;;;", - "deployedSourceMap": "69:463:8:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;941:110:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1842:150:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1842:150:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;1189:132:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1189:132:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;275:150:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;275:150:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;429:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;429:101:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1627:144:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1627:144:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:25;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;123:148:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;123:148:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;1174:47:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1174:47:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1174:47:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110:26;1019:27;1041:4;1019:5;1025:8;1019:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1019:15:26;;;;;;;;;;;;;;;;;;;;;:21;;:27;;;;:::i;:::-;941:110;;:::o;1842:150:3:-;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1944:1:3;1924:22;;:8;:22;;;;1916:31;;;;;;;;1953:34;1964:8;1974:12;;;;;;;;;;;;;;;;;;1953:10;:34::i;:::-;1842:150;:::o;1189:132:26:-;1270:4;1291:25;1311:4;1291:5;1297:8;1291:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1291:15:26;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1284:32;;1189:132;;;;:::o;275:150:8:-;367:4;388:32;405:8;415:4;388:16;:32::i;:::-;381:39;;275:150;;;;:::o;429:101::-;496:4;1501:34:3;1518:10;1530:4;1501:16;:34::i;:::-;1493:43;;;;;;;;429:101:8;;:::o;1627:144:3:-;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1726:1:3;1706:22;;:8;:22;;;;1698:31;;;;;;;;1735;1743:8;1753:12;;;;;;;;;;;;;;;;;;1735:7;:31::i;:::-;1627:144;:::o;307:20:25:-;;;;;;;;;;;;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;123:148:8:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;230:36:8;258:7;230:27;:36::i;:::-;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;123:148:8;;;:::o;1174:47:3:-;;;;;;;;;;;;;;;;;;;;:::o;949:174:25:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;663:107:28:-;749:15;753:4;759;749:3;:15::i;:::-;741:24;;;;;;;;663:107;;:::o;1697:143:26:-;1769:28;1792:4;1769:5;1775:8;1769:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1769:15:26;;;;;;;;;;;;;;;;;;;;;:22;;:28;;;;:::i;:::-;1808:27;1820:4;1826:8;1808:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1808:27:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1697:143;;:::o;848:124:28:-;929:4;950;:11;;:17;962:4;950:17;;;;;;;;;;;;;;;;;;;;;;;;;943:24;;848:124;;;;:::o;2088:192:3:-;2179:4;2200:75;2241:4;2248:8;2223:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2265:4;2200:15;:75::i;:::-;2193:82;;2088:192;;;;:::o;1439:135:26:-;1508:25;1528:4;1508:5;1514:8;1508:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1508:15:26;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1544;1554:4;1560:8;1544:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1544:25:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1439:135;;:::o;1226::3:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;1329:27:3;1348:7;1329:18;:27::i;:::-;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;1226:135:3;;;:::o;487:100:28:-;577:5;557:4;:11;;:17;569:4;557:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;487:100;;:::o;2464:221:3:-;2550:4;2564:14;2581:57;2633:4;2581:36;:4;:34;;;;:36::i;:::-;:51;;;;;:57;;;;:::i;:::-;2564:74;;2651:29;2659:6;2667:12;;;;;;;;;;;;;;;;;;2651:7;:29::i;:::-;2644:36;;2464:221;;;;;:::o;326:96:28:-;413:4;393;:11;;:17;405:4;393:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;326:96;;:::o;537:104:25:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:25;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:25;;;:::o;1682:265:1:-;1763:7;1932:4;1873:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:76;;1682:265;;;:::o;607:932::-;684:7;701:9;716;731:7;797:2;783:3;:10;:16;;779:56;;;825:1;809:19;;;;779:56;1105:2;1100:3;1096:12;1090:19;1085:24;;1136:2;1131:3;1127:12;1121:19;1116:24;;1175:2;1170:3;1166:12;1160:19;1157:1;1152:28;1147:33;;1287:2;1283:1;:6;;;1279:34;;;1304:2;1299:7;;;;1279:34;1387:2;1382:1;:7;;;;:18;;;;;1398:2;1393:1;:7;;;;1382:18;1378:157;;;1426:1;1410:19;;;;1378:157;1504:24;1514:4;1520:1;1523;1526;1504:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1504:24:1;;;;;;;;1497:31;;607:932;;;;;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b50611952806100206000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c146100b45780631479290e1461013d578063217fe6c61461018057806368b51ac7146102215780636d5b9427146102c2578063888764c81461032b5780638da5cb5b1461036e578063c0bac1a8146103c5578063c4d66de81461048c578063d466ab6b146104cf578063f2fde38b1461055f575b600080fd5b3480156100c057600080fd5b5061013b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506105a2565b005b34801561014957600080fd5b5061017e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610623565b005b34801561018c57600080fd5b50610207600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506106fd565b604051808215151515815260200191505060405180910390f35b34801561022d57600080fd5b506102a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610784565b604051808215151515815260200191505060405180910390f35b3480156102ce57600080fd5b50610329600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610798565b005b34801561033757600080fd5b5061036c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107b2565b005b34801561037a57600080fd5b5061038361088c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103d157600080fd5b50610472600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108b2565b604051808215151515815260200191505060405180910390f35b34801561049857600080fd5b506104cd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061099d565b005b3480156104db57600080fd5b506104e4610c23565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610524578082015181840152602081019050610509565b50505050905090810190601f1680156105515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561056b57600080fd5b506105a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c5c565b005b61061f826002836040518082805190602001908083835b6020831015156105de57805182526020820191506020810190506020830392506105b9565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610db490919063ffffffff16565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561067f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156106bb57600080fd5b6106fa816040805190810160405280600781526020017f626f756e63657200000000000000000000000000000000000000000000000000815250610dcd565b50565b600061077c836002846040518082805190602001908083835b60208310151561073b5780518252602082019150602081019050602083039250610716565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610f1e90919063ffffffff16565b905092915050565b60006107908383610f77565b905092915050565b806107a33382610f77565b15156107ae57600080fd5b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561084a57600080fd5b610889816040805190810160405280600781526020017f626f756e6365720000000000000000000000000000000000000000000000000081525061101e565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080836040518082805190602001908083835b6020831015156108eb57805182526020820191506020810190506020830392506108c6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610954578051825260208201915060208101905060208303925061092f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280601481526020017f5369676e6174757265426f756e6365724d6f636b0000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610a1382826108b2565b151515610a1f57600080fd5b610a288361116f565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a8f578082015181840152602081019050610a74565b50505050905090810190601f168015610abc5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610af5578082015181840152602081019050610ada565b50505050905090810190601f168015610b225780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610b6b5780518252602082019150602081019050602083039250610b46565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610bd45780518252602082019150602081019050602083039250610baf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6040805190810160405280600781526020017f626f756e6365720000000000000000000000000000000000000000000000000081525081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610cf457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610dbe8282610f1e565b1515610dc957600080fd5b5050565b610e4a826002836040518082805190602001908083835b602083101515610e095780518252602082019150602081019050602083039250610de4565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206113f590919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610edf578082015181840152602081019050610ec4565b50505050905090810190601f168015610f0c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60006110163084604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140192505050604051809103902083611453565b905092915050565b61109b826002836040518082805190602001908083835b60208310151561105a5780518252602082019150602081019050602083039250611035565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206114c390919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611130578082015181840152602081019050611115565b50505050905090810190601f16801561115d5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6040805190810160405280601081526020017f5369676e6174757265426f756e636572000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506111e582826108b2565b1515156111f157600080fd5b6111fa83611521565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611261578082015181840152602081019050611246565b50505050905090810190601f16801561128e5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156112c75780820151818401526020810190506112ac565b50505050905090810190601f1680156112f45780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561133d5780518252602082019150602081019050602083039250611318565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156113a65780518252602082019150602081019050602083039250611381565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000806114798361146786600019166117df565b6000191661182e90919063ffffffff16565b90506114ba816040805190810160405280600781526020017f626f756e636572000000000000000000000000000000000000000000000000008152506106fd565b91505092915050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061159782826108b2565b1515156115a357600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561164b578082015181840152602081019050611630565b50505050905090810190601f1680156116785780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156116b1578082015181840152602081019050611696565b50505050905090810190601f1680156116de5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156117275780518252602082019150602081019050602083039250611702565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611790578051825260208201915060208101905060208303925061176b565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60008160405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01826000191660001916815260200191505060405180910390209050919050565b60008060008060418551141515611848576000935061191d565b6020850151925060408501519150606085015160001a9050601b8160ff16101561187357601b810190505b601b8160ff161415801561188b5750601c8160ff1614155b15611899576000935061191d565b600186828585604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015611910573d6000803e3d6000fd5b5050506020604051035193505b505050929150505600a165627a7a723058204aeea3c8b0b8f94fc3fa5c99b36a00f701e23a92d223a2e40a5d7f15a3cd0e7f0029", + "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988ca8c146100b45780631479290e1461013d578063217fe6c61461018057806368b51ac7146102215780636d5b9427146102c2578063888764c81461032b5780638da5cb5b1461036e578063c0bac1a8146103c5578063c4d66de81461048c578063d466ab6b146104cf578063f2fde38b1461055f575b600080fd5b3480156100c057600080fd5b5061013b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506105a2565b005b34801561014957600080fd5b5061017e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610623565b005b34801561018c57600080fd5b50610207600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506106fd565b604051808215151515815260200191505060405180910390f35b34801561022d57600080fd5b506102a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610784565b604051808215151515815260200191505060405180910390f35b3480156102ce57600080fd5b50610329600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610798565b005b34801561033757600080fd5b5061036c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107b2565b005b34801561037a57600080fd5b5061038361088c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103d157600080fd5b50610472600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108b2565b604051808215151515815260200191505060405180910390f35b34801561049857600080fd5b506104cd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061099d565b005b3480156104db57600080fd5b506104e4610c23565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610524578082015181840152602081019050610509565b50505050905090810190601f1680156105515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561056b57600080fd5b506105a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c5c565b005b61061f826002836040518082805190602001908083835b6020831015156105de57805182526020820191506020810190506020830392506105b9565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610db490919063ffffffff16565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561067f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156106bb57600080fd5b6106fa816040805190810160405280600781526020017f626f756e63657200000000000000000000000000000000000000000000000000815250610dcd565b50565b600061077c836002846040518082805190602001908083835b60208310151561073b5780518252602082019150602081019050602083039250610716565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020610f1e90919063ffffffff16565b905092915050565b60006107908383610f77565b905092915050565b806107a33382610f77565b15156107ae57600080fd5b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561084a57600080fd5b610889816040805190810160405280600781526020017f626f756e6365720000000000000000000000000000000000000000000000000081525061101e565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080836040518082805190602001908083835b6020831015156108eb57805182526020820191506020810190506020830392506108c6565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610954578051825260208201915060208101905060208303925061092f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280601481526020017f5369676e6174757265426f756e6365724d6f636b0000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610a1382826108b2565b151515610a1f57600080fd5b610a288361116f565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a8f578082015181840152602081019050610a74565b50505050905090810190601f168015610abc5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610af5578082015181840152602081019050610ada565b50505050905090810190601f168015610b225780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610b6b5780518252602082019150602081019050602083039250610b46565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610bd45780518252602082019150602081019050602083039250610baf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b6040805190810160405280600781526020017f626f756e6365720000000000000000000000000000000000000000000000000081525081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610cf457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610dbe8282610f1e565b1515610dc957600080fd5b5050565b610e4a826002836040518082805190602001908083835b602083101515610e095780518252602082019150602081019050602083039250610de4565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206113f590919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610edf578082015181840152602081019050610ec4565b50505050905090810190601f168015610f0c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60006110163084604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140192505050604051809103902083611453565b905092915050565b61109b826002836040518082805190602001908083835b60208310151561105a5780518252602082019150602081019050602083039250611035565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206114c390919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611130578082015181840152602081019050611115565b50505050905090810190601f16801561115d5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6040805190810160405280601081526020017f5369676e6174757265426f756e636572000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506111e582826108b2565b1515156111f157600080fd5b6111fa83611521565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611261578082015181840152602081019050611246565b50505050905090810190601f16801561128e5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156112c75780820151818401526020810190506112ac565b50505050905090810190601f1680156112f45780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561133d5780518252602082019150602081019050602083039250611318565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156113a65780518252602082019150602081019050602083039250611381565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000806114798361146786600019166117df565b6000191661182e90919063ffffffff16565b90506114ba816040805190810160405280600781526020017f626f756e636572000000000000000000000000000000000000000000000000008152506106fd565b91505092915050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061159782826108b2565b1515156115a357600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561164b578082015181840152602081019050611630565b50505050905090810190601f1680156116785780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156116b1578082015181840152602081019050611696565b50505050905090810190601f1680156116de5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156117275780518252602082019150602081019050602083039250611702565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611790578051825260208201915060208101905060208303925061176b565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b60008160405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01826000191660001916815260200191505060405180910390209050919050565b60008060008060418551141515611848576000935061191d565b6020850151925060408501519150606085015160001a9050601b8160ff16101561187357601b810190505b601b8160ff161415801561188b5750601c8160ff1614155b15611899576000935061191d565b600186828585604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015611910573d6000803e3d6000fd5b5050506020604051035193505b505050929150505600a165627a7a723058204aeea3c8b0b8f94fc3fa5c99b36a00f701e23a92d223a2e40a5d7f15a3cd0e7f0029", + "sourceMap": "69:463:10:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;69:463:10;;;;;;;", + "deployedSourceMap": "69:463:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;941:110:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1842:150:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1842:150:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;1189:132:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1189:132:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;275:150:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;275:150:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;429:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;429:101:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1627:144:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1627:144:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:27;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;123:148:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;123:148:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;1174:47:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1174:47:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1174:47:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:110:28;1019:27;1041:4;1019:5;1025:8;1019:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1019:15:28;;;;;;;;;;;;;;;;;;;;;:21;;:27;;;;:::i;:::-;941:110;;:::o;1842:150:3:-;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1944:1:3;1924:22;;:8;:22;;;;1916:31;;;;;;;;1953:34;1964:8;1974:12;;;;;;;;;;;;;;;;;;1953:10;:34::i;:::-;1842:150;:::o;1189:132:28:-;1270:4;1291:25;1311:4;1291:5;1297:8;1291:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1291:15:28;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1284:32;;1189:132;;;;:::o;275:150:10:-;367:4;388:32;405:8;415:4;388:16;:32::i;:::-;381:39;;275:150;;;;:::o;429:101::-;496:4;1501:34:3;1518:10;1530:4;1501:16;:34::i;:::-;1493:43;;;;;;;;429:101:10;;:::o;1627:144:3:-;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1726:1:3;1706:22;;:8;:22;;;;1698:31;;;;;;;;1735;1743:8;1753:12;;;;;;;;;;;;;;;;;;1735:7;:31::i;:::-;1627:144;:::o;307:20:27:-;;;;;;;;;;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;123:148:10:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;230:36:10;258:7;230:27;:36::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;123:148:10;;;:::o;1174:47:3:-;;;;;;;;;;;;;;;;;;;;:::o;949:174:27:-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;663:107:30:-;749:15;753:4;759;749:3;:15::i;:::-;741:24;;;;;;;;663:107;;:::o;1697:143:28:-;1769:28;1792:4;1769:5;1775:8;1769:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1769:15:28;;;;;;;;;;;;;;;;;;;;;:22;;:28;;;;:::i;:::-;1808:27;1820:4;1826:8;1808:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1808:27:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1697:143;;:::o;848:124:30:-;929:4;950;:11;;:17;962:4;950:17;;;;;;;;;;;;;;;;;;;;;;;;;943:24;;848:124;;;;:::o;2088:192:3:-;2179:4;2200:75;2241:4;2248:8;2223:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2265:4;2200:15;:75::i;:::-;2193:82;;2088:192;;;;:::o;1439:135:28:-;1508:25;1528:4;1508:5;1514:8;1508:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1508:15:28;;;;;;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;1544;1554:4;1560:8;1544:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1544:25:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1439:135;;:::o;1226::3:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;1329:27:3;1348:7;1329:18;:27::i;:::-;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;1226:135:3;;;:::o;487:100:30:-;577:5;557:4;:11;;:17;569:4;557:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;487:100;;:::o;2464:221:3:-;2550:4;2564:14;2581:57;2633:4;2581:36;:4;:34;;;;:36::i;:::-;:51;;;;;:57;;;;:::i;:::-;2564:74;;2651:29;2659:6;2667:12;;;;;;;;;;;;;;;;;;2651:7;:29::i;:::-;2644:36;;2464:221;;;;;:::o;326:96:30:-;413:4;393;:11;;:17;405:4;393:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;326:96;;:::o;537:104:27:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:27;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:27;;;:::o;1682:265:1:-;1763:7;1932:4;1873:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:76;;1682:265;;;:::o;607:932::-;684:7;701:9;716;731:7;797:2;783:3;:10;:16;;779:56;;;825:1;809:19;;;;779:56;1105:2;1100:3;1096:12;1090:19;1085:24;;1136:2;1131:3;1127:12;1121:19;1116:24;;1175:2;1170:3;1166:12;1160:19;1157:1;1152:28;1147:33;;1287:2;1283:1;:6;;;1279:34;;;1304:2;1299:7;;;;1279:34;1387:2;1382:1;:7;;;;:18;;;;;1398:2;1393:1;:7;;;;1382:18;1378:157;;;1426:1;1410:19;;;;1378:157;1504:24;1514:4;1520:1;1523;1526;1504:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1504:24:1;;;;;;;;1497:31;;607:932;;;;;;;;:::o", "source": "pragma solidity ^0.4.18;\n\nimport \"../access/SignatureBouncer.sol\";\n\n\ncontract SignatureBouncerMock is SignatureBouncer {\n function initialize(address _sender)\n isInitializer(\"SignatureBouncerMock\", \"1.9.0\")\n public\n {\n SignatureBouncer.initialize(_sender);\n }\n\n function checkValidSignature(address _address, bytes _sig)\n public\n view\n returns (bool)\n {\n return isValidSignature(_address, _sig);\n }\n\n function onlyWithValidSignature(bytes _sig)\n onlyValidSignature(_sig)\n public\n view\n {\n\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/BouncerMock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/BouncerMock.sol", "exportedSymbols": { "SignatureBouncerMock": [ - 606 + 649 ] }, - "id": 607, + "id": 650, "nodeType": "SourceUnit", "nodes": [ { - "id": 562, + "id": 605, "literals": [ "solidity", "^", @@ -280,16 +280,16 @@ ".18" ], "nodeType": "PragmaDirective", - "src": "0:24:8" + "src": "0:24:10" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/access/SignatureBouncer.sol", "file": "../access/SignatureBouncer.sol", - "id": 563, + "id": 606, "nodeType": "ImportDirective", - "scope": 607, + "scope": 650, "sourceUnit": 294, - "src": "26:40:8", + "src": "26:40:10", "symbolAliases": [], "unitAlias": "" }, @@ -299,46 +299,46 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 564, + "id": 607, "name": "SignatureBouncer", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 293, - "src": "102:16:8", + "src": "102:16:10", "typeDescriptions": { "typeIdentifier": "t_contract$_SignatureBouncer_$293", "typeString": "contract SignatureBouncer" } }, - "id": 565, + "id": 608, "nodeType": "InheritanceSpecifier", - "src": "102:16:8" + "src": "102:16:10" } ], "contractDependencies": [ 293, - 1580, - 1687, - 4769 + 1628, + 1735, + 4864 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 606, + "id": 649, "linearizedBaseContracts": [ - 606, + 649, 293, - 1687, - 1580, - 4769 + 1735, + 1628, + 4864 ], "name": "SignatureBouncerMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 580, + "id": 623, "nodeType": "Block", - "src": "224:47:8", + "src": "224:47:10", "statements": [ { "expression": { @@ -346,12 +346,12 @@ "arguments": [ { "argumentTypes": null, - "id": 577, + "id": 620, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 567, - "src": "258:7:8", + "referencedDeclaration": 610, + "src": "258:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -367,18 +367,18 @@ ], "expression": { "argumentTypes": null, - "id": 574, + "id": 617, "name": "SignatureBouncer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 293, - "src": "230:16:8", + "src": "230:16:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_SignatureBouncer_$293_$", "typeString": "type(contract SignatureBouncer)" } }, - "id": 576, + "id": 619, "isConstant": false, "isLValue": false, "isPure": false, @@ -386,13 +386,13 @@ "memberName": "initialize", "nodeType": "MemberAccess", "referencedDeclaration": 192, - "src": "230:27:8", + "src": "230:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 578, + "id": 621, "isConstant": false, "isLValue": false, "isPure": false, @@ -400,20 +400,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "230:36:8", + "src": "230:36:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 579, + "id": 622, "nodeType": "ExpressionStatement", - "src": "230:36:8" + "src": "230:36:10" } ] }, "documentation": null, - "id": 581, + "id": 624, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -423,14 +423,14 @@ { "argumentTypes": null, "hexValue": "5369676e6174757265426f756e6365724d6f636b", - "id": 570, + "id": 613, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "178:22:8", + "src": "178:22:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_def3e2d0c234a1dee24a95a55ec15ac9c67055cc2ced7e7cda54a12c2986ac59", @@ -441,14 +441,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 571, + "id": 614, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "202:7:8", + "src": "202:7:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -457,37 +457,37 @@ "value": "1.9.0" } ], - "id": 572, + "id": 615, "modifierName": { "argumentTypes": null, - "id": 569, + "id": 612, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "164:13:8", + "referencedDeclaration": 4811, + "src": "164:13:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "164:46:8" + "src": "164:46:10" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 568, + "id": 611, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 567, + "id": 610, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 581, - "src": "143:15:8", + "scope": 624, + "src": "143:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -495,10 +495,10 @@ "typeString": "address" }, "typeName": { - "id": 566, + "id": 609, "name": "address", "nodeType": "ElementaryTypeName", - "src": "143:7:8", + "src": "143:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -508,26 +508,26 @@ "visibility": "internal" } ], - "src": "142:17:8" + "src": "142:17:10" }, "payable": false, "returnParameters": { - "id": 573, + "id": 616, "nodeType": "ParameterList", "parameters": [], - "src": "224:0:8" + "src": "224:0:10" }, - "scope": 606, - "src": "123:148:8", + "scope": 649, + "src": "123:148:10", "stateMutability": "nonpayable", "superFunction": 192, "visibility": "public" }, { "body": { - "id": 595, + "id": 638, "nodeType": "Block", - "src": "375:50:8", + "src": "375:50:10", "statements": [ { "expression": { @@ -535,12 +535,12 @@ "arguments": [ { "argumentTypes": null, - "id": 591, + "id": 634, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 583, - "src": "405:8:8", + "referencedDeclaration": 626, + "src": "405:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -548,12 +548,12 @@ }, { "argumentTypes": null, - "id": 592, + "id": 635, "name": "_sig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 585, - "src": "415:4:8", + "referencedDeclaration": 628, + "src": "415:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -571,18 +571,18 @@ "typeString": "bytes memory" } ], - "id": 590, + "id": 633, "name": "isValidSignature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 268, - "src": "388:16:8", + "src": "388:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,bytes memory) view returns (bool)" } }, - "id": 593, + "id": 636, "isConstant": false, "isLValue": false, "isPure": false, @@ -590,21 +590,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "388:32:8", + "src": "388:32:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 589, - "id": 594, + "functionReturnParameters": 632, + "id": 637, "nodeType": "Return", - "src": "381:39:8" + "src": "381:39:10" } ] }, "documentation": null, - "id": 596, + "id": 639, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -612,16 +612,16 @@ "name": "checkValidSignature", "nodeType": "FunctionDefinition", "parameters": { - "id": 586, + "id": 629, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 583, + "id": 626, "name": "_address", "nodeType": "VariableDeclaration", - "scope": 596, - "src": "304:16:8", + "scope": 639, + "src": "304:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -629,10 +629,10 @@ "typeString": "address" }, "typeName": { - "id": 582, + "id": 625, "name": "address", "nodeType": "ElementaryTypeName", - "src": "304:7:8", + "src": "304:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -643,11 +643,11 @@ }, { "constant": false, - "id": 585, + "id": 628, "name": "_sig", "nodeType": "VariableDeclaration", - "scope": 596, - "src": "322:10:8", + "scope": 639, + "src": "322:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -655,10 +655,10 @@ "typeString": "bytes" }, "typeName": { - "id": 584, + "id": 627, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "322:5:8", + "src": "322:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -668,20 +668,20 @@ "visibility": "internal" } ], - "src": "303:30:8" + "src": "303:30:10" }, "payable": false, "returnParameters": { - "id": 589, + "id": 632, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 588, + "id": 631, "name": "", "nodeType": "VariableDeclaration", - "scope": 596, - "src": "367:4:8", + "scope": 639, + "src": "367:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -689,10 +689,10 @@ "typeString": "bool" }, "typeName": { - "id": 587, + "id": 630, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "367:4:8", + "src": "367:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -702,23 +702,23 @@ "visibility": "internal" } ], - "src": "366:6:8" + "src": "366:6:10" }, - "scope": 606, - "src": "275:150:8", + "scope": 649, + "src": "275:150:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 604, + "id": 647, "nodeType": "Block", - "src": "524:6:8", + "src": "524:6:10", "statements": [] }, "documentation": null, - "id": 605, + "id": 648, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -727,49 +727,49 @@ "arguments": [ { "argumentTypes": null, - "id": 601, + "id": 644, "name": "_sig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 598, - "src": "496:4:8", + "referencedDeclaration": 641, + "src": "496:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], - "id": 602, + "id": 645, "modifierName": { "argumentTypes": null, - "id": 600, + "id": 643, "name": "onlyValidSignature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 206, - "src": "477:18:8", + "src": "477:18:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes_memory_ptr_$", "typeString": "modifier (bytes memory)" } }, "nodeType": "ModifierInvocation", - "src": "477:24:8" + "src": "477:24:10" } ], "name": "onlyWithValidSignature", "nodeType": "FunctionDefinition", "parameters": { - "id": 599, + "id": 642, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 598, + "id": 641, "name": "_sig", "nodeType": "VariableDeclaration", - "scope": 605, - "src": "461:10:8", + "scope": 648, + "src": "461:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -777,10 +777,10 @@ "typeString": "bytes" }, "typeName": { - "id": 597, + "id": 640, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "461:5:8", + "src": "461:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -790,40 +790,40 @@ "visibility": "internal" } ], - "src": "460:12:8" + "src": "460:12:10" }, "payable": false, "returnParameters": { - "id": 603, + "id": 646, "nodeType": "ParameterList", "parameters": [], - "src": "524:0:8" + "src": "524:0:10" }, - "scope": 606, - "src": "429:101:8", + "scope": 649, + "src": "429:101:10", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 607, - "src": "69:463:8" + "scope": 650, + "src": "69:463:10" } ], - "src": "0:533:8" + "src": "0:533:10" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/BouncerMock.sol", "exportedSymbols": { "SignatureBouncerMock": [ - 606 + 649 ] }, - "id": 607, + "id": 650, "nodeType": "SourceUnit", "nodes": [ { - "id": 562, + "id": 605, "literals": [ "solidity", "^", @@ -831,16 +831,16 @@ ".18" ], "nodeType": "PragmaDirective", - "src": "0:24:8" + "src": "0:24:10" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/access/SignatureBouncer.sol", "file": "../access/SignatureBouncer.sol", - "id": 563, + "id": 606, "nodeType": "ImportDirective", - "scope": 607, + "scope": 650, "sourceUnit": 294, - "src": "26:40:8", + "src": "26:40:10", "symbolAliases": [], "unitAlias": "" }, @@ -850,46 +850,46 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 564, + "id": 607, "name": "SignatureBouncer", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 293, - "src": "102:16:8", + "src": "102:16:10", "typeDescriptions": { "typeIdentifier": "t_contract$_SignatureBouncer_$293", "typeString": "contract SignatureBouncer" } }, - "id": 565, + "id": 608, "nodeType": "InheritanceSpecifier", - "src": "102:16:8" + "src": "102:16:10" } ], "contractDependencies": [ 293, - 1580, - 1687, - 4769 + 1628, + 1735, + 4864 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 606, + "id": 649, "linearizedBaseContracts": [ - 606, + 649, 293, - 1687, - 1580, - 4769 + 1735, + 1628, + 4864 ], "name": "SignatureBouncerMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 580, + "id": 623, "nodeType": "Block", - "src": "224:47:8", + "src": "224:47:10", "statements": [ { "expression": { @@ -897,12 +897,12 @@ "arguments": [ { "argumentTypes": null, - "id": 577, + "id": 620, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 567, - "src": "258:7:8", + "referencedDeclaration": 610, + "src": "258:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -918,18 +918,18 @@ ], "expression": { "argumentTypes": null, - "id": 574, + "id": 617, "name": "SignatureBouncer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 293, - "src": "230:16:8", + "src": "230:16:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_SignatureBouncer_$293_$", "typeString": "type(contract SignatureBouncer)" } }, - "id": 576, + "id": 619, "isConstant": false, "isLValue": false, "isPure": false, @@ -937,13 +937,13 @@ "memberName": "initialize", "nodeType": "MemberAccess", "referencedDeclaration": 192, - "src": "230:27:8", + "src": "230:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 578, + "id": 621, "isConstant": false, "isLValue": false, "isPure": false, @@ -951,20 +951,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "230:36:8", + "src": "230:36:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 579, + "id": 622, "nodeType": "ExpressionStatement", - "src": "230:36:8" + "src": "230:36:10" } ] }, "documentation": null, - "id": 581, + "id": 624, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -974,14 +974,14 @@ { "argumentTypes": null, "hexValue": "5369676e6174757265426f756e6365724d6f636b", - "id": 570, + "id": 613, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "178:22:8", + "src": "178:22:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_def3e2d0c234a1dee24a95a55ec15ac9c67055cc2ced7e7cda54a12c2986ac59", @@ -992,14 +992,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 571, + "id": 614, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "202:7:8", + "src": "202:7:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -1008,37 +1008,37 @@ "value": "1.9.0" } ], - "id": 572, + "id": 615, "modifierName": { "argumentTypes": null, - "id": 569, + "id": 612, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "164:13:8", + "referencedDeclaration": 4811, + "src": "164:13:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "164:46:8" + "src": "164:46:10" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 568, + "id": 611, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 567, + "id": 610, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 581, - "src": "143:15:8", + "scope": 624, + "src": "143:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1046,10 +1046,10 @@ "typeString": "address" }, "typeName": { - "id": 566, + "id": 609, "name": "address", "nodeType": "ElementaryTypeName", - "src": "143:7:8", + "src": "143:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1059,26 +1059,26 @@ "visibility": "internal" } ], - "src": "142:17:8" + "src": "142:17:10" }, "payable": false, "returnParameters": { - "id": 573, + "id": 616, "nodeType": "ParameterList", "parameters": [], - "src": "224:0:8" + "src": "224:0:10" }, - "scope": 606, - "src": "123:148:8", + "scope": 649, + "src": "123:148:10", "stateMutability": "nonpayable", "superFunction": 192, "visibility": "public" }, { "body": { - "id": 595, + "id": 638, "nodeType": "Block", - "src": "375:50:8", + "src": "375:50:10", "statements": [ { "expression": { @@ -1086,12 +1086,12 @@ "arguments": [ { "argumentTypes": null, - "id": 591, + "id": 634, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 583, - "src": "405:8:8", + "referencedDeclaration": 626, + "src": "405:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1099,12 +1099,12 @@ }, { "argumentTypes": null, - "id": 592, + "id": 635, "name": "_sig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 585, - "src": "415:4:8", + "referencedDeclaration": 628, + "src": "415:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -1122,18 +1122,18 @@ "typeString": "bytes memory" } ], - "id": 590, + "id": 633, "name": "isValidSignature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 268, - "src": "388:16:8", + "src": "388:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,bytes memory) view returns (bool)" } }, - "id": 593, + "id": 636, "isConstant": false, "isLValue": false, "isPure": false, @@ -1141,21 +1141,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "388:32:8", + "src": "388:32:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 589, - "id": 594, + "functionReturnParameters": 632, + "id": 637, "nodeType": "Return", - "src": "381:39:8" + "src": "381:39:10" } ] }, "documentation": null, - "id": 596, + "id": 639, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1163,16 +1163,16 @@ "name": "checkValidSignature", "nodeType": "FunctionDefinition", "parameters": { - "id": 586, + "id": 629, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 583, + "id": 626, "name": "_address", "nodeType": "VariableDeclaration", - "scope": 596, - "src": "304:16:8", + "scope": 639, + "src": "304:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1180,10 +1180,10 @@ "typeString": "address" }, "typeName": { - "id": 582, + "id": 625, "name": "address", "nodeType": "ElementaryTypeName", - "src": "304:7:8", + "src": "304:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1194,11 +1194,11 @@ }, { "constant": false, - "id": 585, + "id": 628, "name": "_sig", "nodeType": "VariableDeclaration", - "scope": 596, - "src": "322:10:8", + "scope": 639, + "src": "322:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1206,10 +1206,10 @@ "typeString": "bytes" }, "typeName": { - "id": 584, + "id": 627, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "322:5:8", + "src": "322:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1219,20 +1219,20 @@ "visibility": "internal" } ], - "src": "303:30:8" + "src": "303:30:10" }, "payable": false, "returnParameters": { - "id": 589, + "id": 632, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 588, + "id": 631, "name": "", "nodeType": "VariableDeclaration", - "scope": 596, - "src": "367:4:8", + "scope": 639, + "src": "367:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1240,10 +1240,10 @@ "typeString": "bool" }, "typeName": { - "id": 587, + "id": 630, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "367:4:8", + "src": "367:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1253,23 +1253,23 @@ "visibility": "internal" } ], - "src": "366:6:8" + "src": "366:6:10" }, - "scope": 606, - "src": "275:150:8", + "scope": 649, + "src": "275:150:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 604, + "id": 647, "nodeType": "Block", - "src": "524:6:8", + "src": "524:6:10", "statements": [] }, "documentation": null, - "id": 605, + "id": 648, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1278,49 +1278,49 @@ "arguments": [ { "argumentTypes": null, - "id": 601, + "id": 644, "name": "_sig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 598, - "src": "496:4:8", + "referencedDeclaration": 641, + "src": "496:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], - "id": 602, + "id": 645, "modifierName": { "argumentTypes": null, - "id": 600, + "id": 643, "name": "onlyValidSignature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 206, - "src": "477:18:8", + "src": "477:18:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes_memory_ptr_$", "typeString": "modifier (bytes memory)" } }, "nodeType": "ModifierInvocation", - "src": "477:24:8" + "src": "477:24:10" } ], "name": "onlyWithValidSignature", "nodeType": "FunctionDefinition", "parameters": { - "id": 599, + "id": 642, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 598, + "id": 641, "name": "_sig", "nodeType": "VariableDeclaration", - "scope": 605, - "src": "461:10:8", + "scope": 648, + "src": "461:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1328,10 +1328,10 @@ "typeString": "bytes" }, "typeName": { - "id": 597, + "id": 640, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "461:5:8", + "src": "461:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1341,33 +1341,33 @@ "visibility": "internal" } ], - "src": "460:12:8" + "src": "460:12:10" }, "payable": false, "returnParameters": { - "id": 603, + "id": 646, "nodeType": "ParameterList", "parameters": [], - "src": "524:0:8" + "src": "524:0:10" }, - "scope": 606, - "src": "429:101:8", + "scope": 649, + "src": "429:101:10", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 607, - "src": "69:463:8" + "scope": 650, + "src": "69:463:10" } ], - "src": "0:533:8" + "src": "0:533:10" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.618Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.204Z" } \ No newline at end of file diff --git a/build/contracts/SplitPayment.json b/build/contracts/SplitPayment.json index e00555b47..177951338 100644 --- a/build/contracts/SplitPayment.json +++ b/build/contracts/SplitPayment.json @@ -159,24 +159,24 @@ "type": "function" } ], - "bytecode": "0x60806040526000600155600060025534801561001a57600080fd5b50610c448061002a6000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633a98ef39146100905780634e71d92d146100bb57806363037b0c146100d25780637fbbe46f1461013f5780639852595c146101db578063c0bac1a814610232578063ce7c2ac2146102f9578063e33b7de314610350575b005b34801561009c57600080fd5b506100a561037b565b6040518082815260200191505060405180910390f35b3480156100c757600080fd5b506100d0610381565b005b3480156100de57600080fd5b506100fd600480360381019080803590602001909291905050506105f0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101d9600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061062e565b005b3480156101e757600080fd5b5061021c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610912565b6040518082815260200191505060405180910390f35b34801561023e57600080fd5b506102df600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061092a565b604051808215151515815260200191505060405180910390f35b34801561030557600080fd5b5061033a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a15565b6040518082815260200191505060405180910390f35b34801561035c57600080fd5b50610365610a2d565b6040518082815260200191505060405180910390f35b60015481565b60008060003392506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115156103d757600080fd5b6104036002543073ffffffffffffffffffffffffffffffffffffffff1631610a3390919063ffffffff16565b91506104bc600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104ae6001546104a0600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487610a4f90919063ffffffff16565b610a8790919063ffffffff16565b610a9d90919063ffffffff16565b9050600081141515156104ce57600080fd5b803073ffffffffffffffffffffffffffffffffffffffff1631101515156104f457600080fd5b61054681600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a3390919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061059e81600254610a3390919063ffffffff16565b6002819055508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156105ea573d6000803e3d6000fd5b50505050565b6005818154811015156105ff57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006040805190810160405280600c81526020017f53706c69745061796d656e7400000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506106a6828261092a565b1515156106b257600080fd5b835185511415156106c257600080fd5b600092505b84518310156107155761070885848151811015156106e157fe5b9060200190602002015185858151811015156106f957fe5b90602001906020020151610ab6565b82806001019350506106c7565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561077c578082015181840152602081019050610761565b50505050905090810190601f1680156107a95780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156107e25780820151818401526020810190506107c7565b50505050905090810190601f16801561080f5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156108585780518252602082019150602081019050602083039250610833565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156108c1578051825260208201915060208101905060208303925061089c565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b60046020528060005260406000206000915090505481565b600080836040518082805190602001908083835b602083101515610963578051825260208201915060208101905060208303925061093e565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156109cc57805182526020820191506020810190506020830392506109a7565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b60036020528060005260406000206000915090505481565b60025481565b60008183019050828110151515610a4657fe5b80905092915050565b600080831415610a625760009050610a81565b8183029050818382811515610a7357fe5b04141515610a7d57fe5b8090505b92915050565b60008183811515610a9457fe5b04905092915050565b6000828211151515610aab57fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610af257600080fd5b600081111515610b0157600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515610b4f57600080fd5b60058290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c0e81600154610a3390919063ffffffff16565b60018190555050505600a165627a7a7230582045475b68c5e9b392767dbdc59d33c11e9d4a45e956a1aaebe932bb5223bb13ef0029", - "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633a98ef39146100905780634e71d92d146100bb57806363037b0c146100d25780637fbbe46f1461013f5780639852595c146101db578063c0bac1a814610232578063ce7c2ac2146102f9578063e33b7de314610350575b005b34801561009c57600080fd5b506100a561037b565b6040518082815260200191505060405180910390f35b3480156100c757600080fd5b506100d0610381565b005b3480156100de57600080fd5b506100fd600480360381019080803590602001909291905050506105f0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101d9600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061062e565b005b3480156101e757600080fd5b5061021c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610912565b6040518082815260200191505060405180910390f35b34801561023e57600080fd5b506102df600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061092a565b604051808215151515815260200191505060405180910390f35b34801561030557600080fd5b5061033a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a15565b6040518082815260200191505060405180910390f35b34801561035c57600080fd5b50610365610a2d565b6040518082815260200191505060405180910390f35b60015481565b60008060003392506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115156103d757600080fd5b6104036002543073ffffffffffffffffffffffffffffffffffffffff1631610a3390919063ffffffff16565b91506104bc600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104ae6001546104a0600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487610a4f90919063ffffffff16565b610a8790919063ffffffff16565b610a9d90919063ffffffff16565b9050600081141515156104ce57600080fd5b803073ffffffffffffffffffffffffffffffffffffffff1631101515156104f457600080fd5b61054681600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a3390919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061059e81600254610a3390919063ffffffff16565b6002819055508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156105ea573d6000803e3d6000fd5b50505050565b6005818154811015156105ff57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006040805190810160405280600c81526020017f53706c69745061796d656e7400000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506106a6828261092a565b1515156106b257600080fd5b835185511415156106c257600080fd5b600092505b84518310156107155761070885848151811015156106e157fe5b9060200190602002015185858151811015156106f957fe5b90602001906020020151610ab6565b82806001019350506106c7565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561077c578082015181840152602081019050610761565b50505050905090810190601f1680156107a95780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156107e25780820151818401526020810190506107c7565b50505050905090810190601f16801561080f5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156108585780518252602082019150602081019050602083039250610833565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156108c1578051825260208201915060208101905060208303925061089c565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b60046020528060005260406000206000915090505481565b600080836040518082805190602001908083835b602083101515610963578051825260208201915060208101905060208303925061093e565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156109cc57805182526020820191506020810190506020830392506109a7565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b60036020528060005260406000206000915090505481565b60025481565b60008183019050828110151515610a4657fe5b80905092915050565b600080831415610a625760009050610a81565b8183029050818382811515610a7357fe5b04141515610a7d57fe5b8090505b92915050565b60008183811515610a9457fe5b04905092915050565b6000828211151515610aab57fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610af257600080fd5b600081111515610b0157600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515610b4f57600080fd5b60058290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c0e81600154610a3390919063ffffffff16565b60018190555050505600a165627a7a7230582045475b68c5e9b392767dbdc59d33c11e9d4a45e956a1aaebe932bb5223bb13ef0029", - "sourceMap": "274:1602:30:-;;;374:1;345:30;;410:1;379:32;;274:1602;8:9:-1;5:2;;;30:1;27;20:12;5:2;274:1602:30;;;;;;;", - "deployedSourceMap": "274:1602:30:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;345:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;345:30:30;;;;;;;;;;;;;;;;;;;;;;;977:465;;8:9:-1;5:2;;;30:1;27;20:12;5:2;977:465:30;;;;;;508:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;508:23:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;570:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;461:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;461:43:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;416:41:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;416:41:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;379:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;379:32:30;;;;;;;;;;;;;;;;;;;;;;;345:30;;;;:::o;977:465::-;1007:13;1073:21;1143:15;1023:10;1007:26;;1064:1;1048:6;:13;1055:5;1048:13;;;;;;;;;;;;;;;;:17;1040:26;;;;;;;;1097:40;1123:13;;1105:4;1097:21;;;:25;;:40;;;;:::i;:::-;1073:64;;1161:70;1215:8;:15;1224:5;1215:15;;;;;;;;;;;;;;;;1161:49;1198:11;;1161:32;1179:6;:13;1186:5;1179:13;;;;;;;;;;;;;;;;1161;:17;;:32;;;;:::i;:::-;:36;;:49;;;;:::i;:::-;:53;;:70;;;;:::i;:::-;1143:88;;1257:1;1246:7;:12;;1238:21;;;;;;;;1298:7;1281:4;1273:21;;;:32;;1265:41;;;;;;;;1331:28;1351:7;1331:8;:15;1340:5;1331:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;1313:8;:15;1322:5;1313:15;;;;;;;;;;;;;;;:46;;;;1381:26;1399:7;1381:13;;:17;;:26;;;;:::i;:::-;1365:13;:42;;;;1414:5;:14;;:23;1429:7;1414:23;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1414:23:30;977:465;;;:::o;508:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;570:276::-;755:9;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;728:7:30;:14;710:7;:14;:32;702:41;;;;;;;;767:1;755:13;;750:92;774:7;:14;770:1;:18;750:92;;;803:32;812:7;820:1;812:10;;;;;;;;;;;;;;;;;;824:7;832:1;824:10;;;;;;;;;;;;;;;;;;803:8;:32::i;:::-;790:3;;;;;;;750:92;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;570:276:30;;;;;:::o;461:43::-;;;;;;;;;;;;;;;;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;416:41:30:-;;;;;;;;;;;;;;;;;:::o;379:32::-;;;;:::o;1008:123:6:-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;203:167::-;261:9;287:1;282;:6;278:35;;;305:1;298:8;;;;278:35;326:1;322;:5;318:9;;349:1;344;340;:5;;;;;;;;:10;333:18;;;;;;364:1;357:8;;203:167;;;;;:::o;452:272::-;510:7;718:1;714;:5;;;;;;;;707:12;;452:272;;;;:::o;836:110::-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1614:260:30:-;1706:1;1688:20;;:6;:20;;;;1680:29;;;;;;;;1733:1;1723:7;:11;1715:20;;;;;;;;1767:1;1749:6;:14;1756:6;1749:14;;;;;;;;;;;;;;;;:19;1741:28;;;;;;;;1776:6;1788;1776:19;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1776:19:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1818:7;1801:6;:14;1808:6;1801:14;;;;;;;;;;;;;;;:24;;;;1845;1861:7;1845:11;;:15;;:24;;;;:::i;:::-;1831:11;:38;;;;1614:260;;:::o", + "bytecode": "0x60806040526000600155600060025534801561001a57600080fd5b50610c448061002a6000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633a98ef39146100905780634e71d92d146100bb57806363037b0c146100d25780637fbbe46f1461013f5780639852595c146101db578063c0bac1a814610232578063ce7c2ac2146102f9578063e33b7de314610350575b005b34801561009c57600080fd5b506100a561037b565b6040518082815260200191505060405180910390f35b3480156100c757600080fd5b506100d0610381565b005b3480156100de57600080fd5b506100fd600480360381019080803590602001909291905050506105f0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101d9600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061062e565b005b3480156101e757600080fd5b5061021c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610912565b6040518082815260200191505060405180910390f35b34801561023e57600080fd5b506102df600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061092a565b604051808215151515815260200191505060405180910390f35b34801561030557600080fd5b5061033a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a15565b6040518082815260200191505060405180910390f35b34801561035c57600080fd5b50610365610a2d565b6040518082815260200191505060405180910390f35b60015481565b60008060003392506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115156103d757600080fd5b6104036002543073ffffffffffffffffffffffffffffffffffffffff1631610a3390919063ffffffff16565b91506104bc600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104ae6001546104a0600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487610a4f90919063ffffffff16565b610a8790919063ffffffff16565b610a9d90919063ffffffff16565b9050600081141515156104ce57600080fd5b803073ffffffffffffffffffffffffffffffffffffffff1631101515156104f457600080fd5b61054681600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a3390919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061059e81600254610a3390919063ffffffff16565b6002819055508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156105ea573d6000803e3d6000fd5b50505050565b6005818154811015156105ff57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006040805190810160405280600c81526020017f53706c69745061796d656e7400000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506106a6828261092a565b1515156106b257600080fd5b835185511415156106c257600080fd5b600092505b84518310156107155761070885848151811015156106e157fe5b9060200190602002015185858151811015156106f957fe5b90602001906020020151610ab6565b82806001019350506106c7565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561077c578082015181840152602081019050610761565b50505050905090810190601f1680156107a95780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156107e25780820151818401526020810190506107c7565b50505050905090810190601f16801561080f5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156108585780518252602082019150602081019050602083039250610833565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156108c1578051825260208201915060208101905060208303925061089c565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b60046020528060005260406000206000915090505481565b600080836040518082805190602001908083835b602083101515610963578051825260208201915060208101905060208303925061093e565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156109cc57805182526020820191506020810190506020830392506109a7565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b60036020528060005260406000206000915090505481565b60025481565b60008183019050828110151515610a4657fe5b80905092915050565b600080831415610a625760009050610a81565b8183029050818382811515610a7357fe5b04141515610a7d57fe5b8090505b92915050565b60008183811515610a9457fe5b04905092915050565b6000828211151515610aab57fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610af257600080fd5b600081111515610b0157600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515610b4f57600080fd5b60058290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c0e81600154610a3390919063ffffffff16565b60018190555050505600a165627a7a723058207b67bdcd2bdf6f80dcd16b315b81f7892e56dd7695e8a944b902dc335cbf48c80029", + "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633a98ef39146100905780634e71d92d146100bb57806363037b0c146100d25780637fbbe46f1461013f5780639852595c146101db578063c0bac1a814610232578063ce7c2ac2146102f9578063e33b7de314610350575b005b34801561009c57600080fd5b506100a561037b565b6040518082815260200191505060405180910390f35b3480156100c757600080fd5b506100d0610381565b005b3480156100de57600080fd5b506100fd600480360381019080803590602001909291905050506105f0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101d9600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061062e565b005b3480156101e757600080fd5b5061021c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610912565b6040518082815260200191505060405180910390f35b34801561023e57600080fd5b506102df600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061092a565b604051808215151515815260200191505060405180910390f35b34801561030557600080fd5b5061033a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a15565b6040518082815260200191505060405180910390f35b34801561035c57600080fd5b50610365610a2d565b6040518082815260200191505060405180910390f35b60015481565b60008060003392506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115156103d757600080fd5b6104036002543073ffffffffffffffffffffffffffffffffffffffff1631610a3390919063ffffffff16565b91506104bc600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104ae6001546104a0600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487610a4f90919063ffffffff16565b610a8790919063ffffffff16565b610a9d90919063ffffffff16565b9050600081141515156104ce57600080fd5b803073ffffffffffffffffffffffffffffffffffffffff1631101515156104f457600080fd5b61054681600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a3390919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061059e81600254610a3390919063ffffffff16565b6002819055508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156105ea573d6000803e3d6000fd5b50505050565b6005818154811015156105ff57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006040805190810160405280600c81526020017f53706c69745061796d656e7400000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506106a6828261092a565b1515156106b257600080fd5b835185511415156106c257600080fd5b600092505b84518310156107155761070885848151811015156106e157fe5b9060200190602002015185858151811015156106f957fe5b90602001906020020151610ab6565b82806001019350506106c7565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561077c578082015181840152602081019050610761565b50505050905090810190601f1680156107a95780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156107e25780820151818401526020810190506107c7565b50505050905090810190601f16801561080f5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156108585780518252602082019150602081019050602083039250610833565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156108c1578051825260208201915060208101905060208303925061089c565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b60046020528060005260406000206000915090505481565b600080836040518082805190602001908083835b602083101515610963578051825260208201915060208101905060208303925061093e565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156109cc57805182526020820191506020810190506020830392506109a7565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b60036020528060005260406000206000915090505481565b60025481565b60008183019050828110151515610a4657fe5b80905092915050565b600080831415610a625760009050610a81565b8183029050818382811515610a7357fe5b04141515610a7d57fe5b8090505b92915050565b60008183811515610a9457fe5b04905092915050565b6000828211151515610aab57fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610af257600080fd5b600081111515610b0157600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515610b4f57600080fd5b60058290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c0e81600154610a3390919063ffffffff16565b60018190555050505600a165627a7a723058207b67bdcd2bdf6f80dcd16b315b81f7892e56dd7695e8a944b902dc335cbf48c80029", + "sourceMap": "274:1602:32:-;;;374:1;345:30;;410:1;379:32;;274:1602;8:9:-1;5:2;;;30:1;27;20:12;5:2;274:1602:32;;;;;;;", + "deployedSourceMap": "274:1602:32:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;345:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;345:30:32;;;;;;;;;;;;;;;;;;;;;;;977:465;;8:9:-1;5:2;;;30:1;27;20:12;5:2;977:465:32;;;;;;508:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;508:23:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;570:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;461:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;461:43:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;416:41:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;416:41:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;379:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;379:32:32;;;;;;;;;;;;;;;;;;;;;;;345:30;;;;:::o;977:465::-;1007:13;1073:21;1143:15;1023:10;1007:26;;1064:1;1048:6;:13;1055:5;1048:13;;;;;;;;;;;;;;;;:17;1040:26;;;;;;;;1097:40;1123:13;;1105:4;1097:21;;;:25;;:40;;;;:::i;:::-;1073:64;;1161:70;1215:8;:15;1224:5;1215:15;;;;;;;;;;;;;;;;1161:49;1198:11;;1161:32;1179:6;:13;1186:5;1179:13;;;;;;;;;;;;;;;;1161;:17;;:32;;;;:::i;:::-;:36;;:49;;;;:::i;:::-;:53;;:70;;;;:::i;:::-;1143:88;;1257:1;1246:7;:12;;1238:21;;;;;;;;1298:7;1281:4;1273:21;;;:32;;1265:41;;;;;;;;1331:28;1351:7;1331:8;:15;1340:5;1331:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;1313:8;:15;1322:5;1313:15;;;;;;;;;;;;;;;:46;;;;1381:26;1399:7;1381:13;;:17;;:26;;;;:::i;:::-;1365:13;:42;;;;1414:5;:14;;:23;1429:7;1414:23;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1414:23:32;977:465;;;:::o;508:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;570:276::-;755:9;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;728:7:32;:14;710:7;:14;:32;702:41;;;;;;;;767:1;755:13;;750:92;774:7;:14;770:1;:18;750:92;;;803:32;812:7;820:1;812:10;;;;;;;;;;;;;;;;;;824:7;832:1;824:10;;;;;;;;;;;;;;;;;;803:8;:32::i;:::-;790:3;;;;;;;750:92;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;570:276:32;;;;;:::o;461:43::-;;;;;;;;;;;;;;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;416:41:32:-;;;;;;;;;;;;;;;;;:::o;379:32::-;;;;:::o;1008:123:8:-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;203:167::-;261:9;287:1;282;:6;278:35;;;305:1;298:8;;;;278:35;326:1;322;:5;318:9;;349:1;344;340;:5;;;;;;;;:10;333:18;;;;;;364:1;357:8;;203:167;;;;;:::o;452:272::-;510:7;718:1;714;:5;;;;;;;;707:12;;452:272;;;;:::o;836:110::-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1614:260:32:-;1706:1;1688:20;;:6;:20;;;;1680:29;;;;;;;;1733:1;1723:7;:11;1715:20;;;;;;;;1767:1;1749:6;:14;1756:6;1749:14;;;;;;;;;;;;;;;;:19;1741:28;;;;;;;;1776:6;1788;1776:19;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1776:19:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1818:7;1801:6;:14;1808:6;1801:14;;;;;;;;;;;;;;;:24;;;;1845;1861:7;1845:11;;:15;;:24;;;;:::i;:::-;1831:11;:38;;;;1614:260;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"../math/SafeMath.sol\";\nimport \"zos-lib/contracts/migrations/Migratable.sol\";\n\n\n/**\n * @title SplitPayment\n * @dev Base contract that supports multiple payees claiming funds sent to this contract\n * according to the proportion they own.\n */\ncontract SplitPayment is Migratable {\n using SafeMath for uint256;\n\n uint256 public totalShares = 0;\n uint256 public totalReleased = 0;\n\n mapping(address => uint256) public shares;\n mapping(address => uint256) public released;\n address[] public payees;\n\n /**\n * @dev Constructor\n */\n function initialize(address[] _payees, uint256[] _shares)\n isInitializer(\"SplitPayment\", \"1.9.0\")\n public\n payable\n {\n require(_payees.length == _shares.length);\n\n for (uint256 i = 0; i < _payees.length; i++) {\n addPayee(_payees[i], _shares[i]);\n }\n }\n\n /**\n * @dev payable fallback\n */\n function () public payable {}\n\n /**\n * @dev Claim your share of the balance.\n */\n function claim() public {\n address payee = msg.sender;\n\n require(shares[payee] > 0);\n\n uint256 totalReceived = address(this).balance.add(totalReleased);\n uint256 payment = totalReceived.mul(shares[payee]).div(totalShares).sub(released[payee]);\n\n require(payment != 0);\n require(address(this).balance >= payment);\n\n released[payee] = released[payee].add(payment);\n totalReleased = totalReleased.add(payment);\n\n payee.transfer(payment);\n }\n\n /**\n * @dev Add a new payee to the contract.\n * @param _payee The address of the payee to add.\n * @param _shares The number of shares owned by the payee.\n */\n function addPayee(address _payee, uint256 _shares) internal {\n require(_payee != address(0));\n require(_shares > 0);\n require(shares[_payee] == 0);\n\n payees.push(_payee);\n shares[_payee] = _shares;\n totalShares = totalShares.add(_shares);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/payment/SplitPayment.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/payment/SplitPayment.sol", "exportedSymbols": { "SplitPayment": [ - 2119 + 2167 ] }, - "id": 2120, + "id": 2168, "nodeType": "SourceUnit", "nodes": [ { - "id": 1914, + "id": 1962, "literals": [ "solidity", "^", @@ -184,27 +184,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:30" + "src": "0:24:32" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "file": "../math/SafeMath.sol", - "id": 1915, + "id": 1963, "nodeType": "ImportDirective", - "scope": 2120, - "sourceUnit": 537, - "src": "26:30:30", + "scope": 2168, + "sourceUnit": 580, + "src": "26:30:32", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 1916, + "id": 1964, "nodeType": "ImportDirective", - "scope": 2120, - "sourceUnit": 4770, - "src": "57:53:30", + "scope": 2168, + "sourceUnit": 4865, + "src": "57:53:32", "symbolAliases": [], "unitAlias": "" }, @@ -214,56 +214,56 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1917, + "id": 1965, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "299:10:30", + "referencedDeclaration": 4864, + "src": "299:10:32", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 1918, + "id": 1966, "nodeType": "InheritanceSpecifier", - "src": "299:10:30" + "src": "299:10:32" } ], "contractDependencies": [ - 4769 + 4864 ], "contractKind": "contract", "documentation": "@title SplitPayment\n@dev Base contract that supports multiple payees claiming funds sent to this contract\naccording to the proportion they own.", "fullyImplemented": true, - "id": 2119, + "id": 2167, "linearizedBaseContracts": [ - 2119, - 4769 + 2167, + 4864 ], "name": "SplitPayment", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1921, + "id": 1969, "libraryName": { "contractScope": null, - "id": 1919, + "id": 1967, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 536, - "src": "320:8:30", + "referencedDeclaration": 579, + "src": "320:8:32", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$536", + "typeIdentifier": "t_contract$_SafeMath_$579", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "314:27:30", + "src": "314:27:32", "typeName": { - "id": 1920, + "id": 1968, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "333:7:30", + "src": "333:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -272,11 +272,11 @@ }, { "constant": false, - "id": 1924, + "id": 1972, "name": "totalShares", "nodeType": "VariableDeclaration", - "scope": 2119, - "src": "345:30:30", + "scope": 2167, + "src": "345:30:32", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -284,10 +284,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1922, + "id": 1970, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "345:7:30", + "src": "345:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -296,14 +296,14 @@ "value": { "argumentTypes": null, "hexValue": "30", - "id": 1923, + "id": 1971, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "374:1:30", + "src": "374:1:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -315,11 +315,11 @@ }, { "constant": false, - "id": 1927, + "id": 1975, "name": "totalReleased", "nodeType": "VariableDeclaration", - "scope": 2119, - "src": "379:32:30", + "scope": 2167, + "src": "379:32:32", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -327,10 +327,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1925, + "id": 1973, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "379:7:30", + "src": "379:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -339,14 +339,14 @@ "value": { "argumentTypes": null, "hexValue": "30", - "id": 1926, + "id": 1974, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "410:1:30", + "src": "410:1:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -358,11 +358,11 @@ }, { "constant": false, - "id": 1931, + "id": 1979, "name": "shares", "nodeType": "VariableDeclaration", - "scope": 2119, - "src": "416:41:30", + "scope": 2167, + "src": "416:41:32", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -370,28 +370,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 1930, + "id": 1978, "keyType": { - "id": 1928, + "id": 1976, "name": "address", "nodeType": "ElementaryTypeName", - "src": "424:7:30", + "src": "424:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "416:27:30", + "src": "416:27:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 1929, + "id": 1977, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "435:7:30", + "src": "435:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -403,11 +403,11 @@ }, { "constant": false, - "id": 1935, + "id": 1983, "name": "released", "nodeType": "VariableDeclaration", - "scope": 2119, - "src": "461:43:30", + "scope": 2167, + "src": "461:43:32", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -415,28 +415,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 1934, + "id": 1982, "keyType": { - "id": 1932, + "id": 1980, "name": "address", "nodeType": "ElementaryTypeName", - "src": "469:7:30", + "src": "469:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "461:27:30", + "src": "461:27:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 1933, + "id": 1981, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "480:7:30", + "src": "480:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -448,11 +448,11 @@ }, { "constant": false, - "id": 1938, + "id": 1986, "name": "payees", "nodeType": "VariableDeclaration", - "scope": 2119, - "src": "508:23:30", + "scope": 2167, + "src": "508:23:32", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -461,19 +461,19 @@ }, "typeName": { "baseType": { - "id": 1936, + "id": 1984, "name": "address", "nodeType": "ElementaryTypeName", - "src": "508:7:30", + "src": "508:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1937, + "id": 1985, "length": null, "nodeType": "ArrayTypeName", - "src": "508:9:30", + "src": "508:9:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -484,9 +484,9 @@ }, { "body": { - "id": 1981, + "id": 2029, "nodeType": "Block", - "src": "696:150:30", + "src": "696:150:32", "statements": [ { "expression": { @@ -498,7 +498,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1956, + "id": 2004, "isConstant": false, "isLValue": false, "isPure": false, @@ -507,18 +507,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1952, + "id": 2000, "name": "_payees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1941, - "src": "710:7:30", + "referencedDeclaration": 1989, + "src": "710:7:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 1953, + "id": 2001, "isConstant": false, "isLValue": false, "isPure": false, @@ -526,7 +526,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "710:14:30", + "src": "710:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -538,18 +538,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1954, + "id": 2002, "name": "_shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1944, - "src": "728:7:30", + "referencedDeclaration": 1992, + "src": "728:7:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1955, + "id": 2003, "isConstant": false, "isLValue": false, "isPure": false, @@ -557,13 +557,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "728:14:30", + "src": "728:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "710:32:30", + "src": "710:32:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -577,21 +577,21 @@ "typeString": "bool" } ], - "id": 1951, + "id": 1999, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "702:7:30", + "referencedDeclaration": 4882, + "src": "702:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1957, + "id": 2005, "isConstant": false, "isLValue": false, "isPure": false, @@ -599,21 +599,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "702:41:30", + "src": "702:41:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1958, + "id": 2006, "nodeType": "ExpressionStatement", - "src": "702:41:30" + "src": "702:41:32" }, { "body": { - "id": 1979, + "id": 2027, "nodeType": "Block", - "src": "795:47:30", + "src": "795:47:32", "statements": [ { "expression": { @@ -623,26 +623,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1971, + "id": 2019, "name": "_payees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1941, - "src": "812:7:30", + "referencedDeclaration": 1989, + "src": "812:7:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 1973, + "id": 2021, "indexExpression": { "argumentTypes": null, - "id": 1972, + "id": 2020, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1960, - "src": "820:1:30", + "referencedDeclaration": 2008, + "src": "820:1:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -653,7 +653,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "812:10:30", + "src": "812:10:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -663,26 +663,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1974, + "id": 2022, "name": "_shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1944, - "src": "824:7:30", + "referencedDeclaration": 1992, + "src": "824:7:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1976, + "id": 2024, "indexExpression": { "argumentTypes": null, - "id": 1975, + "id": 2023, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1960, - "src": "832:1:30", + "referencedDeclaration": 2008, + "src": "832:1:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -693,7 +693,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "824:10:30", + "src": "824:10:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -711,18 +711,18 @@ "typeString": "uint256" } ], - "id": 1970, + "id": 2018, "name": "addPayee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2118, - "src": "803:8:30", + "referencedDeclaration": 2166, + "src": "803:8:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1977, + "id": 2025, "isConstant": false, "isLValue": false, "isPure": false, @@ -730,15 +730,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "803:32:30", + "src": "803:32:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1978, + "id": 2026, "nodeType": "ExpressionStatement", - "src": "803:32:30" + "src": "803:32:32" } ] }, @@ -748,19 +748,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1966, + "id": 2014, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1963, + "id": 2011, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1960, - "src": "770:1:30", + "referencedDeclaration": 2008, + "src": "770:1:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -772,18 +772,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1964, + "id": 2012, "name": "_payees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1941, - "src": "774:7:30", + "referencedDeclaration": 1989, + "src": "774:7:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 1965, + "id": 2013, "isConstant": false, "isLValue": false, "isPure": false, @@ -791,31 +791,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "774:14:30", + "src": "774:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "770:18:30", + "src": "770:18:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1980, + "id": 2028, "initializationExpression": { "assignments": [ - 1960 + 2008 ], "declarations": [ { "constant": false, - "id": 1960, + "id": 2008, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1982, - "src": "755:9:30", + "scope": 2030, + "src": "755:9:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -823,10 +823,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1959, + "id": 2007, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "755:7:30", + "src": "755:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -836,18 +836,18 @@ "visibility": "internal" } ], - "id": 1962, + "id": 2010, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 1961, + "id": 2009, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "767:1:30", + "src": "767:1:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -856,12 +856,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "755:13:30" + "src": "755:13:32" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 1968, + "id": 2016, "isConstant": false, "isLValue": false, "isPure": false, @@ -869,15 +869,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "790:3:30", + "src": "790:3:32", "subExpression": { "argumentTypes": null, - "id": 1967, + "id": 2015, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1960, - "src": "790:1:30", + "referencedDeclaration": 2008, + "src": "790:1:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -888,17 +888,17 @@ "typeString": "uint256" } }, - "id": 1969, + "id": 2017, "nodeType": "ExpressionStatement", - "src": "790:3:30" + "src": "790:3:32" }, "nodeType": "ForStatement", - "src": "750:92:30" + "src": "750:92:32" } ] }, "documentation": "@dev Constructor", - "id": 1982, + "id": 2030, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -908,14 +908,14 @@ { "argumentTypes": null, "hexValue": "53706c69745061796d656e74", - "id": 1947, + "id": 1995, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "646:14:30", + "src": "646:14:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b60630cc6e8bf8cded4efdaf68aa37ef2d37ee92c72162f90d45b8ea5779f3b", @@ -926,14 +926,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 1948, + "id": 1996, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "662:7:30", + "src": "662:7:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -942,37 +942,37 @@ "value": "1.9.0" } ], - "id": 1949, + "id": 1997, "modifierName": { "argumentTypes": null, - "id": 1946, + "id": 1994, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "632:13:30", + "referencedDeclaration": 4811, + "src": "632:13:32", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "632:38:30" + "src": "632:38:32" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 1945, + "id": 1993, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1941, + "id": 1989, "name": "_payees", "nodeType": "VariableDeclaration", - "scope": 1982, - "src": "590:17:30", + "scope": 2030, + "src": "590:17:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -981,19 +981,19 @@ }, "typeName": { "baseType": { - "id": 1939, + "id": 1987, "name": "address", "nodeType": "ElementaryTypeName", - "src": "590:7:30", + "src": "590:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1940, + "id": 1988, "length": null, "nodeType": "ArrayTypeName", - "src": "590:9:30", + "src": "590:9:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -1004,11 +1004,11 @@ }, { "constant": false, - "id": 1944, + "id": 1992, "name": "_shares", "nodeType": "VariableDeclaration", - "scope": 1982, - "src": "609:17:30", + "scope": 2030, + "src": "609:17:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1017,19 +1017,19 @@ }, "typeName": { "baseType": { - "id": 1942, + "id": 1990, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "609:7:30", + "src": "609:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1943, + "id": 1991, "length": null, "nodeType": "ArrayTypeName", - "src": "609:9:30", + "src": "609:9:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -1039,30 +1039,30 @@ "visibility": "internal" } ], - "src": "589:38:30" + "src": "589:38:32" }, "payable": true, "returnParameters": { - "id": 1950, + "id": 1998, "nodeType": "ParameterList", "parameters": [], - "src": "696:0:30" + "src": "696:0:32" }, - "scope": 2119, - "src": "570:276:30", + "scope": 2167, + "src": "570:276:32", "stateMutability": "payable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1985, + "id": 2033, "nodeType": "Block", - "src": "916:2:30", + "src": "916:2:32", "statements": [] }, "documentation": "@dev payable fallback", - "id": 1986, + "id": 2034, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1070,42 +1070,42 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 1983, + "id": 2031, "nodeType": "ParameterList", "parameters": [], - "src": "898:2:30" + "src": "898:2:32" }, "payable": true, "returnParameters": { - "id": 1984, + "id": 2032, "nodeType": "ParameterList", "parameters": [], - "src": "916:0:30" + "src": "916:0:32" }, - "scope": 2119, - "src": "889:29:30", + "scope": 2167, + "src": "889:29:32", "stateMutability": "payable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 2068, + "id": 2116, "nodeType": "Block", - "src": "1001:441:30", + "src": "1001:441:32", "statements": [ { "assignments": [ - 1990 + 2038 ], "declarations": [ { "constant": false, - "id": 1990, + "id": 2038, "name": "payee", "nodeType": "VariableDeclaration", - "scope": 2069, - "src": "1007:13:30", + "scope": 2117, + "src": "1007:13:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1113,10 +1113,10 @@ "typeString": "address" }, "typeName": { - "id": 1989, + "id": 2037, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1007:7:30", + "src": "1007:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1126,23 +1126,23 @@ "visibility": "internal" } ], - "id": 1993, + "id": 2041, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1991, + "id": 2039, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "1023:3:30", + "referencedDeclaration": 4879, + "src": "1023:3:32", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1992, + "id": 2040, "isConstant": false, "isLValue": false, "isPure": false, @@ -1150,14 +1150,14 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1023:10:30", + "src": "1023:10:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "1007:26:30" + "src": "1007:26:32" }, { "expression": { @@ -1169,7 +1169,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1999, + "id": 2047, "isConstant": false, "isLValue": false, "isPure": false, @@ -1178,26 +1178,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1995, + "id": 2043, "name": "shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1931, - "src": "1048:6:30", + "referencedDeclaration": 1979, + "src": "1048:6:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1997, + "id": 2045, "indexExpression": { "argumentTypes": null, - "id": 1996, + "id": 2044, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "1055:5:30", + "referencedDeclaration": 2038, + "src": "1055:5:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1208,7 +1208,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1048:13:30", + "src": "1048:13:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1219,14 +1219,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1998, + "id": 2046, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1064:1:30", + "src": "1064:1:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1234,7 +1234,7 @@ }, "value": "0" }, - "src": "1048:17:30", + "src": "1048:17:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1248,21 +1248,21 @@ "typeString": "bool" } ], - "id": 1994, + "id": 2042, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1040:7:30", + "referencedDeclaration": 4882, + "src": "1040:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2000, + "id": 2048, "isConstant": false, "isLValue": false, "isPure": false, @@ -1270,28 +1270,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1040:26:30", + "src": "1040:26:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2001, + "id": 2049, "nodeType": "ExpressionStatement", - "src": "1040:26:30" + "src": "1040:26:32" }, { "assignments": [ - 2003 + 2051 ], "declarations": [ { "constant": false, - "id": 2003, + "id": 2051, "name": "totalReceived", "nodeType": "VariableDeclaration", - "scope": 2069, - "src": "1073:21:30", + "scope": 2117, + "src": "1073:21:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1299,10 +1299,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2002, + "id": 2050, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1073:7:30", + "src": "1073:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1312,18 +1312,18 @@ "visibility": "internal" } ], - "id": 2011, + "id": 2059, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2009, + "id": 2057, "name": "totalReleased", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1927, - "src": "1123:13:30", + "referencedDeclaration": 1975, + "src": "1123:13:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1344,14 +1344,14 @@ "arguments": [ { "argumentTypes": null, - "id": 2005, + "id": 2053, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4895, - "src": "1105:4:30", + "referencedDeclaration": 4994, + "src": "1105:4:32", "typeDescriptions": { - "typeIdentifier": "t_contract$_SplitPayment_$2119", + "typeIdentifier": "t_contract$_SplitPayment_$2167", "typeString": "contract SplitPayment" } } @@ -1359,24 +1359,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SplitPayment_$2119", + "typeIdentifier": "t_contract$_SplitPayment_$2167", "typeString": "contract SplitPayment" } ], - "id": 2004, + "id": 2052, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1097:7:30", + "src": "1097:7:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 2006, + "id": 2054, "isConstant": false, "isLValue": false, "isPure": false, @@ -1384,13 +1384,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1097:13:30", + "src": "1097:13:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 2007, + "id": 2055, "isConstant": false, "isLValue": false, "isPure": false, @@ -1398,27 +1398,27 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1097:21:30", + "src": "1097:21:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2008, + "id": 2056, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1097:25:30", + "referencedDeclaration": 578, + "src": "1097:25:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2010, + "id": 2058, "isConstant": false, "isLValue": false, "isPure": false, @@ -1426,27 +1426,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1097:40:30", + "src": "1097:40:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1073:64:30" + "src": "1073:64:32" }, { "assignments": [ - 2013 + 2061 ], "declarations": [ { "constant": false, - "id": 2013, + "id": 2061, "name": "payment", "nodeType": "VariableDeclaration", - "scope": 2069, - "src": "1143:15:30", + "scope": 2117, + "src": "1143:15:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1454,10 +1454,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2012, + "id": 2060, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1143:7:30", + "src": "1143:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1467,7 +1467,7 @@ "visibility": "internal" } ], - "id": 2028, + "id": 2076, "initialValue": { "argumentTypes": null, "arguments": [ @@ -1475,26 +1475,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2024, + "id": 2072, "name": "released", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "1215:8:30", + "referencedDeclaration": 1983, + "src": "1215:8:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2026, + "id": 2074, "indexExpression": { "argumentTypes": null, - "id": 2025, + "id": 2073, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "1224:5:30", + "referencedDeclaration": 2038, + "src": "1224:5:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1505,7 +1505,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1215:15:30", + "src": "1215:15:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1524,12 +1524,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2021, + "id": 2069, "name": "totalShares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "1198:11:30", + "referencedDeclaration": 1972, + "src": "1198:11:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1550,26 +1550,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2016, + "id": 2064, "name": "shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1931, - "src": "1179:6:30", + "referencedDeclaration": 1979, + "src": "1179:6:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2018, + "id": 2066, "indexExpression": { "argumentTypes": null, - "id": 2017, + "id": 2065, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "1186:5:30", + "referencedDeclaration": 2038, + "src": "1186:5:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1580,7 +1580,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1179:13:30", + "src": "1179:13:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1596,32 +1596,32 @@ ], "expression": { "argumentTypes": null, - "id": 2014, + "id": 2062, "name": "totalReceived", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2003, - "src": "1161:13:30", + "referencedDeclaration": 2051, + "src": "1161:13:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2015, + "id": 2063, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 477, - "src": "1161:17:30", + "referencedDeclaration": 520, + "src": "1161:17:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2019, + "id": 2067, "isConstant": false, "isLValue": false, "isPure": false, @@ -1629,27 +1629,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1161:32:30", + "src": "1161:32:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2020, + "id": 2068, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 491, - "src": "1161:36:30", + "referencedDeclaration": 534, + "src": "1161:36:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2022, + "id": 2070, "isConstant": false, "isLValue": false, "isPure": false, @@ -1657,27 +1657,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1161:49:30", + "src": "1161:49:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2023, + "id": 2071, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "1161:53:30", + "referencedDeclaration": 554, + "src": "1161:53:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2027, + "id": 2075, "isConstant": false, "isLValue": false, "isPure": false, @@ -1685,14 +1685,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1161:70:30", + "src": "1161:70:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1143:88:30" + "src": "1143:88:32" }, { "expression": { @@ -1704,19 +1704,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2032, + "id": 2080, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2030, + "id": 2078, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "1246:7:30", + "referencedDeclaration": 2061, + "src": "1246:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1727,14 +1727,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2031, + "id": 2079, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1257:1:30", + "src": "1257:1:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1742,7 +1742,7 @@ }, "value": "0" }, - "src": "1246:12:30", + "src": "1246:12:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1756,21 +1756,21 @@ "typeString": "bool" } ], - "id": 2029, + "id": 2077, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1238:7:30", + "referencedDeclaration": 4882, + "src": "1238:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2033, + "id": 2081, "isConstant": false, "isLValue": false, "isPure": false, @@ -1778,15 +1778,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1238:21:30", + "src": "1238:21:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2034, + "id": 2082, "nodeType": "ExpressionStatement", - "src": "1238:21:30" + "src": "1238:21:32" }, { "expression": { @@ -1798,7 +1798,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2041, + "id": 2089, "isConstant": false, "isLValue": false, "isPure": false, @@ -1810,14 +1810,14 @@ "arguments": [ { "argumentTypes": null, - "id": 2037, + "id": 2085, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4895, - "src": "1281:4:30", + "referencedDeclaration": 4994, + "src": "1281:4:32", "typeDescriptions": { - "typeIdentifier": "t_contract$_SplitPayment_$2119", + "typeIdentifier": "t_contract$_SplitPayment_$2167", "typeString": "contract SplitPayment" } } @@ -1825,24 +1825,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SplitPayment_$2119", + "typeIdentifier": "t_contract$_SplitPayment_$2167", "typeString": "contract SplitPayment" } ], - "id": 2036, + "id": 2084, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1273:7:30", + "src": "1273:7:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 2038, + "id": 2086, "isConstant": false, "isLValue": false, "isPure": false, @@ -1850,13 +1850,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1273:13:30", + "src": "1273:13:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 2039, + "id": 2087, "isConstant": false, "isLValue": false, "isPure": false, @@ -1864,7 +1864,7 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1273:21:30", + "src": "1273:21:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1874,18 +1874,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 2040, + "id": 2088, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "1298:7:30", + "referencedDeclaration": 2061, + "src": "1298:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1273:32:30", + "src": "1273:32:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1899,21 +1899,21 @@ "typeString": "bool" } ], - "id": 2035, + "id": 2083, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1265:7:30", + "referencedDeclaration": 4882, + "src": "1265:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2042, + "id": 2090, "isConstant": false, "isLValue": false, "isPure": false, @@ -1921,20 +1921,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1265:41:30", + "src": "1265:41:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2043, + "id": 2091, "nodeType": "ExpressionStatement", - "src": "1265:41:30" + "src": "1265:41:32" }, { "expression": { "argumentTypes": null, - "id": 2053, + "id": 2101, "isConstant": false, "isLValue": false, "isPure": false, @@ -1943,26 +1943,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2044, + "id": 2092, "name": "released", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "1313:8:30", + "referencedDeclaration": 1983, + "src": "1313:8:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2046, + "id": 2094, "indexExpression": { "argumentTypes": null, - "id": 2045, + "id": 2093, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "1322:5:30", + "referencedDeclaration": 2038, + "src": "1322:5:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1973,7 +1973,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1313:15:30", + "src": "1313:15:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1986,12 +1986,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2051, + "id": 2099, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "1351:7:30", + "referencedDeclaration": 2061, + "src": "1351:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2009,26 +2009,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2047, + "id": 2095, "name": "released", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "1331:8:30", + "referencedDeclaration": 1983, + "src": "1331:8:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2049, + "id": 2097, "indexExpression": { "argumentTypes": null, - "id": 2048, + "id": 2096, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "1340:5:30", + "referencedDeclaration": 2038, + "src": "1340:5:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2039,27 +2039,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1331:15:30", + "src": "1331:15:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2050, + "id": 2098, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1331:19:30", + "referencedDeclaration": 578, + "src": "1331:19:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2052, + "id": 2100, "isConstant": false, "isLValue": false, "isPure": false, @@ -2067,38 +2067,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1331:28:30", + "src": "1331:28:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1313:46:30", + "src": "1313:46:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2054, + "id": 2102, "nodeType": "ExpressionStatement", - "src": "1313:46:30" + "src": "1313:46:32" }, { "expression": { "argumentTypes": null, - "id": 2060, + "id": 2108, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2055, + "id": 2103, "name": "totalReleased", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1927, - "src": "1365:13:30", + "referencedDeclaration": 1975, + "src": "1365:13:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2111,12 +2111,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2058, + "id": 2106, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "1399:7:30", + "referencedDeclaration": 2061, + "src": "1399:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2132,32 +2132,32 @@ ], "expression": { "argumentTypes": null, - "id": 2056, + "id": 2104, "name": "totalReleased", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1927, - "src": "1381:13:30", + "referencedDeclaration": 1975, + "src": "1381:13:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2057, + "id": 2105, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1381:17:30", + "referencedDeclaration": 578, + "src": "1381:17:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2059, + "id": 2107, "isConstant": false, "isLValue": false, "isPure": false, @@ -2165,21 +2165,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1381:26:30", + "src": "1381:26:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1365:42:30", + "src": "1365:42:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2061, + "id": 2109, "nodeType": "ExpressionStatement", - "src": "1365:42:30" + "src": "1365:42:32" }, { "expression": { @@ -2187,12 +2187,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2065, + "id": 2113, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "1429:7:30", + "referencedDeclaration": 2061, + "src": "1429:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2208,18 +2208,18 @@ ], "expression": { "argumentTypes": null, - "id": 2062, + "id": 2110, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "1414:5:30", + "referencedDeclaration": 2038, + "src": "1414:5:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 2064, + "id": 2112, "isConstant": false, "isLValue": false, "isPure": false, @@ -2227,13 +2227,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1414:14:30", + "src": "1414:14:32", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 2066, + "id": 2114, "isConstant": false, "isLValue": false, "isPure": false, @@ -2241,20 +2241,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1414:23:30", + "src": "1414:23:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2067, + "id": 2115, "nodeType": "ExpressionStatement", - "src": "1414:23:30" + "src": "1414:23:32" } ] }, "documentation": "@dev Claim your share of the balance.", - "id": 2069, + "id": 2117, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2262,29 +2262,29 @@ "name": "claim", "nodeType": "FunctionDefinition", "parameters": { - "id": 1987, + "id": 2035, "nodeType": "ParameterList", "parameters": [], - "src": "991:2:30" + "src": "991:2:32" }, "payable": false, "returnParameters": { - "id": 1988, + "id": 2036, "nodeType": "ParameterList", "parameters": [], - "src": "1001:0:30" + "src": "1001:0:32" }, - "scope": 2119, - "src": "977:465:30", + "scope": 2167, + "src": "977:465:32", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 2117, + "id": 2165, "nodeType": "Block", - "src": "1674:200:30", + "src": "1674:200:32", "statements": [ { "expression": { @@ -2296,19 +2296,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2081, + "id": 2129, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2077, + "id": 2125, "name": "_payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2071, - "src": "1688:6:30", + "referencedDeclaration": 2119, + "src": "1688:6:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2322,14 +2322,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2079, + "id": 2127, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1706:1:30", + "src": "1706:1:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2345,20 +2345,20 @@ "typeString": "int_const 0" } ], - "id": 2078, + "id": 2126, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1698:7:30", + "src": "1698:7:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 2080, + "id": 2128, "isConstant": false, "isLValue": false, "isPure": true, @@ -2366,13 +2366,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1698:10:30", + "src": "1698:10:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1688:20:30", + "src": "1688:20:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2386,21 +2386,21 @@ "typeString": "bool" } ], - "id": 2076, + "id": 2124, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1680:7:30", + "referencedDeclaration": 4882, + "src": "1680:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2082, + "id": 2130, "isConstant": false, "isLValue": false, "isPure": false, @@ -2408,15 +2408,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1680:29:30", + "src": "1680:29:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2083, + "id": 2131, "nodeType": "ExpressionStatement", - "src": "1680:29:30" + "src": "1680:29:32" }, { "expression": { @@ -2428,19 +2428,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2087, + "id": 2135, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2085, + "id": 2133, "name": "_shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2073, - "src": "1723:7:30", + "referencedDeclaration": 2121, + "src": "1723:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2451,14 +2451,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2086, + "id": 2134, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1733:1:30", + "src": "1733:1:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2466,7 +2466,7 @@ }, "value": "0" }, - "src": "1723:11:30", + "src": "1723:11:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2480,21 +2480,21 @@ "typeString": "bool" } ], - "id": 2084, + "id": 2132, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1715:7:30", + "referencedDeclaration": 4882, + "src": "1715:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2088, + "id": 2136, "isConstant": false, "isLValue": false, "isPure": false, @@ -2502,15 +2502,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1715:20:30", + "src": "1715:20:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2089, + "id": 2137, "nodeType": "ExpressionStatement", - "src": "1715:20:30" + "src": "1715:20:32" }, { "expression": { @@ -2522,7 +2522,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2095, + "id": 2143, "isConstant": false, "isLValue": false, "isPure": false, @@ -2531,26 +2531,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2091, + "id": 2139, "name": "shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1931, - "src": "1749:6:30", + "referencedDeclaration": 1979, + "src": "1749:6:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2093, + "id": 2141, "indexExpression": { "argumentTypes": null, - "id": 2092, + "id": 2140, "name": "_payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2071, - "src": "1756:6:30", + "referencedDeclaration": 2119, + "src": "1756:6:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2561,7 +2561,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1749:14:30", + "src": "1749:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2572,14 +2572,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2094, + "id": 2142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1767:1:30", + "src": "1767:1:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2587,7 +2587,7 @@ }, "value": "0" }, - "src": "1749:19:30", + "src": "1749:19:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2601,21 +2601,21 @@ "typeString": "bool" } ], - "id": 2090, + "id": 2138, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1741:7:30", + "referencedDeclaration": 4882, + "src": "1741:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2096, + "id": 2144, "isConstant": false, "isLValue": false, "isPure": false, @@ -2623,15 +2623,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1741:28:30", + "src": "1741:28:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2097, + "id": 2145, "nodeType": "ExpressionStatement", - "src": "1741:28:30" + "src": "1741:28:32" }, { "expression": { @@ -2639,12 +2639,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2101, + "id": 2149, "name": "_payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2071, - "src": "1788:6:30", + "referencedDeclaration": 2119, + "src": "1788:6:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2660,18 +2660,18 @@ ], "expression": { "argumentTypes": null, - "id": 2098, + "id": 2146, "name": "payees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1938, - "src": "1776:6:30", + "referencedDeclaration": 1986, + "src": "1776:6:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 2100, + "id": 2148, "isConstant": false, "isLValue": false, "isPure": false, @@ -2679,13 +2679,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1776:11:30", + "src": "1776:11:32", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" } }, - "id": 2102, + "id": 2150, "isConstant": false, "isLValue": false, "isPure": false, @@ -2693,20 +2693,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1776:19:30", + "src": "1776:19:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2103, + "id": 2151, "nodeType": "ExpressionStatement", - "src": "1776:19:30" + "src": "1776:19:32" }, { "expression": { "argumentTypes": null, - "id": 2108, + "id": 2156, "isConstant": false, "isLValue": false, "isPure": false, @@ -2715,26 +2715,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2104, + "id": 2152, "name": "shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1931, - "src": "1801:6:30", + "referencedDeclaration": 1979, + "src": "1801:6:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2106, + "id": 2154, "indexExpression": { "argumentTypes": null, - "id": 2105, + "id": 2153, "name": "_payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2071, - "src": "1808:6:30", + "referencedDeclaration": 2119, + "src": "1808:6:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2745,7 +2745,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1801:14:30", + "src": "1801:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2755,43 +2755,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2107, + "id": 2155, "name": "_shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2073, - "src": "1818:7:30", + "referencedDeclaration": 2121, + "src": "1818:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1801:24:30", + "src": "1801:24:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2109, + "id": 2157, "nodeType": "ExpressionStatement", - "src": "1801:24:30" + "src": "1801:24:32" }, { "expression": { "argumentTypes": null, - "id": 2115, + "id": 2163, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2110, + "id": 2158, "name": "totalShares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "1831:11:30", + "referencedDeclaration": 1972, + "src": "1831:11:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2804,12 +2804,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2113, + "id": 2161, "name": "_shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2073, - "src": "1861:7:30", + "referencedDeclaration": 2121, + "src": "1861:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2825,32 +2825,32 @@ ], "expression": { "argumentTypes": null, - "id": 2111, + "id": 2159, "name": "totalShares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "1845:11:30", + "referencedDeclaration": 1972, + "src": "1845:11:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2112, + "id": 2160, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1845:15:30", + "referencedDeclaration": 578, + "src": "1845:15:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2114, + "id": 2162, "isConstant": false, "isLValue": false, "isPure": false, @@ -2858,26 +2858,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1845:24:30", + "src": "1845:24:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1831:38:30", + "src": "1831:38:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2116, + "id": 2164, "nodeType": "ExpressionStatement", - "src": "1831:38:30" + "src": "1831:38:32" } ] }, "documentation": "@dev Add a new payee to the contract.\n@param _payee The address of the payee to add.\n@param _shares The number of shares owned by the payee.", - "id": 2118, + "id": 2166, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2885,16 +2885,16 @@ "name": "addPayee", "nodeType": "FunctionDefinition", "parameters": { - "id": 2074, + "id": 2122, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2071, + "id": 2119, "name": "_payee", "nodeType": "VariableDeclaration", - "scope": 2118, - "src": "1632:14:30", + "scope": 2166, + "src": "1632:14:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2902,10 +2902,10 @@ "typeString": "address" }, "typeName": { - "id": 2070, + "id": 2118, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1632:7:30", + "src": "1632:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2916,11 +2916,11 @@ }, { "constant": false, - "id": 2073, + "id": 2121, "name": "_shares", "nodeType": "VariableDeclaration", - "scope": 2118, - "src": "1648:15:30", + "scope": 2166, + "src": "1648:15:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2928,10 +2928,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2072, + "id": 2120, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1648:7:30", + "src": "1648:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2941,40 +2941,40 @@ "visibility": "internal" } ], - "src": "1631:33:30" + "src": "1631:33:32" }, "payable": false, "returnParameters": { - "id": 2075, + "id": 2123, "nodeType": "ParameterList", "parameters": [], - "src": "1674:0:30" + "src": "1674:0:32" }, - "scope": 2119, - "src": "1614:260:30", + "scope": 2167, + "src": "1614:260:32", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 2120, - "src": "274:1602:30" + "scope": 2168, + "src": "274:1602:32" } ], - "src": "0:1877:30" + "src": "0:1877:32" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/payment/SplitPayment.sol", "exportedSymbols": { "SplitPayment": [ - 2119 + 2167 ] }, - "id": 2120, + "id": 2168, "nodeType": "SourceUnit", "nodes": [ { - "id": 1914, + "id": 1962, "literals": [ "solidity", "^", @@ -2982,27 +2982,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:30" + "src": "0:24:32" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "file": "../math/SafeMath.sol", - "id": 1915, + "id": 1963, "nodeType": "ImportDirective", - "scope": 2120, - "sourceUnit": 537, - "src": "26:30:30", + "scope": 2168, + "sourceUnit": 580, + "src": "26:30:32", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 1916, + "id": 1964, "nodeType": "ImportDirective", - "scope": 2120, - "sourceUnit": 4770, - "src": "57:53:30", + "scope": 2168, + "sourceUnit": 4865, + "src": "57:53:32", "symbolAliases": [], "unitAlias": "" }, @@ -3012,56 +3012,56 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1917, + "id": 1965, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "299:10:30", + "referencedDeclaration": 4864, + "src": "299:10:32", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 1918, + "id": 1966, "nodeType": "InheritanceSpecifier", - "src": "299:10:30" + "src": "299:10:32" } ], "contractDependencies": [ - 4769 + 4864 ], "contractKind": "contract", "documentation": "@title SplitPayment\n@dev Base contract that supports multiple payees claiming funds sent to this contract\naccording to the proportion they own.", "fullyImplemented": true, - "id": 2119, + "id": 2167, "linearizedBaseContracts": [ - 2119, - 4769 + 2167, + 4864 ], "name": "SplitPayment", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1921, + "id": 1969, "libraryName": { "contractScope": null, - "id": 1919, + "id": 1967, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 536, - "src": "320:8:30", + "referencedDeclaration": 579, + "src": "320:8:32", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$536", + "typeIdentifier": "t_contract$_SafeMath_$579", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "314:27:30", + "src": "314:27:32", "typeName": { - "id": 1920, + "id": 1968, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "333:7:30", + "src": "333:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3070,11 +3070,11 @@ }, { "constant": false, - "id": 1924, + "id": 1972, "name": "totalShares", "nodeType": "VariableDeclaration", - "scope": 2119, - "src": "345:30:30", + "scope": 2167, + "src": "345:30:32", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3082,10 +3082,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1922, + "id": 1970, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "345:7:30", + "src": "345:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3094,14 +3094,14 @@ "value": { "argumentTypes": null, "hexValue": "30", - "id": 1923, + "id": 1971, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "374:1:30", + "src": "374:1:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3113,11 +3113,11 @@ }, { "constant": false, - "id": 1927, + "id": 1975, "name": "totalReleased", "nodeType": "VariableDeclaration", - "scope": 2119, - "src": "379:32:30", + "scope": 2167, + "src": "379:32:32", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3125,10 +3125,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1925, + "id": 1973, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "379:7:30", + "src": "379:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3137,14 +3137,14 @@ "value": { "argumentTypes": null, "hexValue": "30", - "id": 1926, + "id": 1974, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "410:1:30", + "src": "410:1:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3156,11 +3156,11 @@ }, { "constant": false, - "id": 1931, + "id": 1979, "name": "shares", "nodeType": "VariableDeclaration", - "scope": 2119, - "src": "416:41:30", + "scope": 2167, + "src": "416:41:32", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3168,28 +3168,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 1930, + "id": 1978, "keyType": { - "id": 1928, + "id": 1976, "name": "address", "nodeType": "ElementaryTypeName", - "src": "424:7:30", + "src": "424:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "416:27:30", + "src": "416:27:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 1929, + "id": 1977, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "435:7:30", + "src": "435:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3201,11 +3201,11 @@ }, { "constant": false, - "id": 1935, + "id": 1983, "name": "released", "nodeType": "VariableDeclaration", - "scope": 2119, - "src": "461:43:30", + "scope": 2167, + "src": "461:43:32", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3213,28 +3213,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 1934, + "id": 1982, "keyType": { - "id": 1932, + "id": 1980, "name": "address", "nodeType": "ElementaryTypeName", - "src": "469:7:30", + "src": "469:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "461:27:30", + "src": "461:27:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 1933, + "id": 1981, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "480:7:30", + "src": "480:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3246,11 +3246,11 @@ }, { "constant": false, - "id": 1938, + "id": 1986, "name": "payees", "nodeType": "VariableDeclaration", - "scope": 2119, - "src": "508:23:30", + "scope": 2167, + "src": "508:23:32", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3259,19 +3259,19 @@ }, "typeName": { "baseType": { - "id": 1936, + "id": 1984, "name": "address", "nodeType": "ElementaryTypeName", - "src": "508:7:30", + "src": "508:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1937, + "id": 1985, "length": null, "nodeType": "ArrayTypeName", - "src": "508:9:30", + "src": "508:9:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -3282,9 +3282,9 @@ }, { "body": { - "id": 1981, + "id": 2029, "nodeType": "Block", - "src": "696:150:30", + "src": "696:150:32", "statements": [ { "expression": { @@ -3296,7 +3296,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1956, + "id": 2004, "isConstant": false, "isLValue": false, "isPure": false, @@ -3305,18 +3305,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1952, + "id": 2000, "name": "_payees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1941, - "src": "710:7:30", + "referencedDeclaration": 1989, + "src": "710:7:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 1953, + "id": 2001, "isConstant": false, "isLValue": false, "isPure": false, @@ -3324,7 +3324,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "710:14:30", + "src": "710:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3336,18 +3336,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1954, + "id": 2002, "name": "_shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1944, - "src": "728:7:30", + "referencedDeclaration": 1992, + "src": "728:7:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1955, + "id": 2003, "isConstant": false, "isLValue": false, "isPure": false, @@ -3355,13 +3355,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "728:14:30", + "src": "728:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "710:32:30", + "src": "710:32:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3375,21 +3375,21 @@ "typeString": "bool" } ], - "id": 1951, + "id": 1999, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "702:7:30", + "referencedDeclaration": 4882, + "src": "702:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1957, + "id": 2005, "isConstant": false, "isLValue": false, "isPure": false, @@ -3397,21 +3397,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "702:41:30", + "src": "702:41:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1958, + "id": 2006, "nodeType": "ExpressionStatement", - "src": "702:41:30" + "src": "702:41:32" }, { "body": { - "id": 1979, + "id": 2027, "nodeType": "Block", - "src": "795:47:30", + "src": "795:47:32", "statements": [ { "expression": { @@ -3421,26 +3421,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1971, + "id": 2019, "name": "_payees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1941, - "src": "812:7:30", + "referencedDeclaration": 1989, + "src": "812:7:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 1973, + "id": 2021, "indexExpression": { "argumentTypes": null, - "id": 1972, + "id": 2020, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1960, - "src": "820:1:30", + "referencedDeclaration": 2008, + "src": "820:1:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3451,7 +3451,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "812:10:30", + "src": "812:10:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3461,26 +3461,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1974, + "id": 2022, "name": "_shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1944, - "src": "824:7:30", + "referencedDeclaration": 1992, + "src": "824:7:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1976, + "id": 2024, "indexExpression": { "argumentTypes": null, - "id": 1975, + "id": 2023, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1960, - "src": "832:1:30", + "referencedDeclaration": 2008, + "src": "832:1:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3491,7 +3491,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "824:10:30", + "src": "824:10:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3509,18 +3509,18 @@ "typeString": "uint256" } ], - "id": 1970, + "id": 2018, "name": "addPayee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2118, - "src": "803:8:30", + "referencedDeclaration": 2166, + "src": "803:8:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1977, + "id": 2025, "isConstant": false, "isLValue": false, "isPure": false, @@ -3528,15 +3528,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "803:32:30", + "src": "803:32:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1978, + "id": 2026, "nodeType": "ExpressionStatement", - "src": "803:32:30" + "src": "803:32:32" } ] }, @@ -3546,19 +3546,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1966, + "id": 2014, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1963, + "id": 2011, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1960, - "src": "770:1:30", + "referencedDeclaration": 2008, + "src": "770:1:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3570,18 +3570,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1964, + "id": 2012, "name": "_payees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1941, - "src": "774:7:30", + "referencedDeclaration": 1989, + "src": "774:7:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 1965, + "id": 2013, "isConstant": false, "isLValue": false, "isPure": false, @@ -3589,31 +3589,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "774:14:30", + "src": "774:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "770:18:30", + "src": "770:18:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1980, + "id": 2028, "initializationExpression": { "assignments": [ - 1960 + 2008 ], "declarations": [ { "constant": false, - "id": 1960, + "id": 2008, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1982, - "src": "755:9:30", + "scope": 2030, + "src": "755:9:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3621,10 +3621,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1959, + "id": 2007, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "755:7:30", + "src": "755:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3634,18 +3634,18 @@ "visibility": "internal" } ], - "id": 1962, + "id": 2010, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 1961, + "id": 2009, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "767:1:30", + "src": "767:1:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3654,12 +3654,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "755:13:30" + "src": "755:13:32" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 1968, + "id": 2016, "isConstant": false, "isLValue": false, "isPure": false, @@ -3667,15 +3667,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "790:3:30", + "src": "790:3:32", "subExpression": { "argumentTypes": null, - "id": 1967, + "id": 2015, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1960, - "src": "790:1:30", + "referencedDeclaration": 2008, + "src": "790:1:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3686,17 +3686,17 @@ "typeString": "uint256" } }, - "id": 1969, + "id": 2017, "nodeType": "ExpressionStatement", - "src": "790:3:30" + "src": "790:3:32" }, "nodeType": "ForStatement", - "src": "750:92:30" + "src": "750:92:32" } ] }, "documentation": "@dev Constructor", - "id": 1982, + "id": 2030, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -3706,14 +3706,14 @@ { "argumentTypes": null, "hexValue": "53706c69745061796d656e74", - "id": 1947, + "id": 1995, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "646:14:30", + "src": "646:14:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b60630cc6e8bf8cded4efdaf68aa37ef2d37ee92c72162f90d45b8ea5779f3b", @@ -3724,14 +3724,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 1948, + "id": 1996, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "662:7:30", + "src": "662:7:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -3740,37 +3740,37 @@ "value": "1.9.0" } ], - "id": 1949, + "id": 1997, "modifierName": { "argumentTypes": null, - "id": 1946, + "id": 1994, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "632:13:30", + "referencedDeclaration": 4811, + "src": "632:13:32", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "632:38:30" + "src": "632:38:32" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 1945, + "id": 1993, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1941, + "id": 1989, "name": "_payees", "nodeType": "VariableDeclaration", - "scope": 1982, - "src": "590:17:30", + "scope": 2030, + "src": "590:17:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3779,19 +3779,19 @@ }, "typeName": { "baseType": { - "id": 1939, + "id": 1987, "name": "address", "nodeType": "ElementaryTypeName", - "src": "590:7:30", + "src": "590:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1940, + "id": 1988, "length": null, "nodeType": "ArrayTypeName", - "src": "590:9:30", + "src": "590:9:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -3802,11 +3802,11 @@ }, { "constant": false, - "id": 1944, + "id": 1992, "name": "_shares", "nodeType": "VariableDeclaration", - "scope": 1982, - "src": "609:17:30", + "scope": 2030, + "src": "609:17:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3815,19 +3815,19 @@ }, "typeName": { "baseType": { - "id": 1942, + "id": 1990, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "609:7:30", + "src": "609:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1943, + "id": 1991, "length": null, "nodeType": "ArrayTypeName", - "src": "609:9:30", + "src": "609:9:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -3837,30 +3837,30 @@ "visibility": "internal" } ], - "src": "589:38:30" + "src": "589:38:32" }, "payable": true, "returnParameters": { - "id": 1950, + "id": 1998, "nodeType": "ParameterList", "parameters": [], - "src": "696:0:30" + "src": "696:0:32" }, - "scope": 2119, - "src": "570:276:30", + "scope": 2167, + "src": "570:276:32", "stateMutability": "payable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 1985, + "id": 2033, "nodeType": "Block", - "src": "916:2:30", + "src": "916:2:32", "statements": [] }, "documentation": "@dev payable fallback", - "id": 1986, + "id": 2034, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -3868,42 +3868,42 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 1983, + "id": 2031, "nodeType": "ParameterList", "parameters": [], - "src": "898:2:30" + "src": "898:2:32" }, "payable": true, "returnParameters": { - "id": 1984, + "id": 2032, "nodeType": "ParameterList", "parameters": [], - "src": "916:0:30" + "src": "916:0:32" }, - "scope": 2119, - "src": "889:29:30", + "scope": 2167, + "src": "889:29:32", "stateMutability": "payable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 2068, + "id": 2116, "nodeType": "Block", - "src": "1001:441:30", + "src": "1001:441:32", "statements": [ { "assignments": [ - 1990 + 2038 ], "declarations": [ { "constant": false, - "id": 1990, + "id": 2038, "name": "payee", "nodeType": "VariableDeclaration", - "scope": 2069, - "src": "1007:13:30", + "scope": 2117, + "src": "1007:13:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3911,10 +3911,10 @@ "typeString": "address" }, "typeName": { - "id": 1989, + "id": 2037, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1007:7:30", + "src": "1007:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3924,23 +3924,23 @@ "visibility": "internal" } ], - "id": 1993, + "id": 2041, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1991, + "id": 2039, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "1023:3:30", + "referencedDeclaration": 4879, + "src": "1023:3:32", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1992, + "id": 2040, "isConstant": false, "isLValue": false, "isPure": false, @@ -3948,14 +3948,14 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1023:10:30", + "src": "1023:10:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "1007:26:30" + "src": "1007:26:32" }, { "expression": { @@ -3967,7 +3967,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1999, + "id": 2047, "isConstant": false, "isLValue": false, "isPure": false, @@ -3976,26 +3976,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1995, + "id": 2043, "name": "shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1931, - "src": "1048:6:30", + "referencedDeclaration": 1979, + "src": "1048:6:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1997, + "id": 2045, "indexExpression": { "argumentTypes": null, - "id": 1996, + "id": 2044, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "1055:5:30", + "referencedDeclaration": 2038, + "src": "1055:5:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4006,7 +4006,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1048:13:30", + "src": "1048:13:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4017,14 +4017,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1998, + "id": 2046, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1064:1:30", + "src": "1064:1:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4032,7 +4032,7 @@ }, "value": "0" }, - "src": "1048:17:30", + "src": "1048:17:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4046,21 +4046,21 @@ "typeString": "bool" } ], - "id": 1994, + "id": 2042, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1040:7:30", + "referencedDeclaration": 4882, + "src": "1040:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2000, + "id": 2048, "isConstant": false, "isLValue": false, "isPure": false, @@ -4068,28 +4068,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1040:26:30", + "src": "1040:26:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2001, + "id": 2049, "nodeType": "ExpressionStatement", - "src": "1040:26:30" + "src": "1040:26:32" }, { "assignments": [ - 2003 + 2051 ], "declarations": [ { "constant": false, - "id": 2003, + "id": 2051, "name": "totalReceived", "nodeType": "VariableDeclaration", - "scope": 2069, - "src": "1073:21:30", + "scope": 2117, + "src": "1073:21:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4097,10 +4097,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2002, + "id": 2050, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1073:7:30", + "src": "1073:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4110,18 +4110,18 @@ "visibility": "internal" } ], - "id": 2011, + "id": 2059, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2009, + "id": 2057, "name": "totalReleased", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1927, - "src": "1123:13:30", + "referencedDeclaration": 1975, + "src": "1123:13:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4142,14 +4142,14 @@ "arguments": [ { "argumentTypes": null, - "id": 2005, + "id": 2053, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4895, - "src": "1105:4:30", + "referencedDeclaration": 4994, + "src": "1105:4:32", "typeDescriptions": { - "typeIdentifier": "t_contract$_SplitPayment_$2119", + "typeIdentifier": "t_contract$_SplitPayment_$2167", "typeString": "contract SplitPayment" } } @@ -4157,24 +4157,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SplitPayment_$2119", + "typeIdentifier": "t_contract$_SplitPayment_$2167", "typeString": "contract SplitPayment" } ], - "id": 2004, + "id": 2052, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1097:7:30", + "src": "1097:7:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 2006, + "id": 2054, "isConstant": false, "isLValue": false, "isPure": false, @@ -4182,13 +4182,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1097:13:30", + "src": "1097:13:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 2007, + "id": 2055, "isConstant": false, "isLValue": false, "isPure": false, @@ -4196,27 +4196,27 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1097:21:30", + "src": "1097:21:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2008, + "id": 2056, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1097:25:30", + "referencedDeclaration": 578, + "src": "1097:25:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2010, + "id": 2058, "isConstant": false, "isLValue": false, "isPure": false, @@ -4224,27 +4224,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1097:40:30", + "src": "1097:40:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1073:64:30" + "src": "1073:64:32" }, { "assignments": [ - 2013 + 2061 ], "declarations": [ { "constant": false, - "id": 2013, + "id": 2061, "name": "payment", "nodeType": "VariableDeclaration", - "scope": 2069, - "src": "1143:15:30", + "scope": 2117, + "src": "1143:15:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4252,10 +4252,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2012, + "id": 2060, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1143:7:30", + "src": "1143:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4265,7 +4265,7 @@ "visibility": "internal" } ], - "id": 2028, + "id": 2076, "initialValue": { "argumentTypes": null, "arguments": [ @@ -4273,26 +4273,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2024, + "id": 2072, "name": "released", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "1215:8:30", + "referencedDeclaration": 1983, + "src": "1215:8:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2026, + "id": 2074, "indexExpression": { "argumentTypes": null, - "id": 2025, + "id": 2073, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "1224:5:30", + "referencedDeclaration": 2038, + "src": "1224:5:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4303,7 +4303,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1215:15:30", + "src": "1215:15:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4322,12 +4322,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2021, + "id": 2069, "name": "totalShares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "1198:11:30", + "referencedDeclaration": 1972, + "src": "1198:11:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4348,26 +4348,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2016, + "id": 2064, "name": "shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1931, - "src": "1179:6:30", + "referencedDeclaration": 1979, + "src": "1179:6:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2018, + "id": 2066, "indexExpression": { "argumentTypes": null, - "id": 2017, + "id": 2065, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "1186:5:30", + "referencedDeclaration": 2038, + "src": "1186:5:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4378,7 +4378,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1179:13:30", + "src": "1179:13:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4394,32 +4394,32 @@ ], "expression": { "argumentTypes": null, - "id": 2014, + "id": 2062, "name": "totalReceived", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2003, - "src": "1161:13:30", + "referencedDeclaration": 2051, + "src": "1161:13:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2015, + "id": 2063, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 477, - "src": "1161:17:30", + "referencedDeclaration": 520, + "src": "1161:17:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2019, + "id": 2067, "isConstant": false, "isLValue": false, "isPure": false, @@ -4427,27 +4427,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1161:32:30", + "src": "1161:32:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2020, + "id": 2068, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 491, - "src": "1161:36:30", + "referencedDeclaration": 534, + "src": "1161:36:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2022, + "id": 2070, "isConstant": false, "isLValue": false, "isPure": false, @@ -4455,27 +4455,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1161:49:30", + "src": "1161:49:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2023, + "id": 2071, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "1161:53:30", + "referencedDeclaration": 554, + "src": "1161:53:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2027, + "id": 2075, "isConstant": false, "isLValue": false, "isPure": false, @@ -4483,14 +4483,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1161:70:30", + "src": "1161:70:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1143:88:30" + "src": "1143:88:32" }, { "expression": { @@ -4502,19 +4502,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2032, + "id": 2080, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2030, + "id": 2078, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "1246:7:30", + "referencedDeclaration": 2061, + "src": "1246:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4525,14 +4525,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2031, + "id": 2079, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1257:1:30", + "src": "1257:1:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4540,7 +4540,7 @@ }, "value": "0" }, - "src": "1246:12:30", + "src": "1246:12:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4554,21 +4554,21 @@ "typeString": "bool" } ], - "id": 2029, + "id": 2077, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1238:7:30", + "referencedDeclaration": 4882, + "src": "1238:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2033, + "id": 2081, "isConstant": false, "isLValue": false, "isPure": false, @@ -4576,15 +4576,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1238:21:30", + "src": "1238:21:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2034, + "id": 2082, "nodeType": "ExpressionStatement", - "src": "1238:21:30" + "src": "1238:21:32" }, { "expression": { @@ -4596,7 +4596,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2041, + "id": 2089, "isConstant": false, "isLValue": false, "isPure": false, @@ -4608,14 +4608,14 @@ "arguments": [ { "argumentTypes": null, - "id": 2037, + "id": 2085, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4895, - "src": "1281:4:30", + "referencedDeclaration": 4994, + "src": "1281:4:32", "typeDescriptions": { - "typeIdentifier": "t_contract$_SplitPayment_$2119", + "typeIdentifier": "t_contract$_SplitPayment_$2167", "typeString": "contract SplitPayment" } } @@ -4623,24 +4623,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SplitPayment_$2119", + "typeIdentifier": "t_contract$_SplitPayment_$2167", "typeString": "contract SplitPayment" } ], - "id": 2036, + "id": 2084, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1273:7:30", + "src": "1273:7:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 2038, + "id": 2086, "isConstant": false, "isLValue": false, "isPure": false, @@ -4648,13 +4648,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1273:13:30", + "src": "1273:13:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 2039, + "id": 2087, "isConstant": false, "isLValue": false, "isPure": false, @@ -4662,7 +4662,7 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1273:21:30", + "src": "1273:21:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4672,18 +4672,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 2040, + "id": 2088, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "1298:7:30", + "referencedDeclaration": 2061, + "src": "1298:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1273:32:30", + "src": "1273:32:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4697,21 +4697,21 @@ "typeString": "bool" } ], - "id": 2035, + "id": 2083, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1265:7:30", + "referencedDeclaration": 4882, + "src": "1265:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2042, + "id": 2090, "isConstant": false, "isLValue": false, "isPure": false, @@ -4719,20 +4719,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1265:41:30", + "src": "1265:41:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2043, + "id": 2091, "nodeType": "ExpressionStatement", - "src": "1265:41:30" + "src": "1265:41:32" }, { "expression": { "argumentTypes": null, - "id": 2053, + "id": 2101, "isConstant": false, "isLValue": false, "isPure": false, @@ -4741,26 +4741,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2044, + "id": 2092, "name": "released", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "1313:8:30", + "referencedDeclaration": 1983, + "src": "1313:8:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2046, + "id": 2094, "indexExpression": { "argumentTypes": null, - "id": 2045, + "id": 2093, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "1322:5:30", + "referencedDeclaration": 2038, + "src": "1322:5:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4771,7 +4771,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1313:15:30", + "src": "1313:15:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4784,12 +4784,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2051, + "id": 2099, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "1351:7:30", + "referencedDeclaration": 2061, + "src": "1351:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4807,26 +4807,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2047, + "id": 2095, "name": "released", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "1331:8:30", + "referencedDeclaration": 1983, + "src": "1331:8:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2049, + "id": 2097, "indexExpression": { "argumentTypes": null, - "id": 2048, + "id": 2096, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "1340:5:30", + "referencedDeclaration": 2038, + "src": "1340:5:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4837,27 +4837,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1331:15:30", + "src": "1331:15:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2050, + "id": 2098, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1331:19:30", + "referencedDeclaration": 578, + "src": "1331:19:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2052, + "id": 2100, "isConstant": false, "isLValue": false, "isPure": false, @@ -4865,38 +4865,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1331:28:30", + "src": "1331:28:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1313:46:30", + "src": "1313:46:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2054, + "id": 2102, "nodeType": "ExpressionStatement", - "src": "1313:46:30" + "src": "1313:46:32" }, { "expression": { "argumentTypes": null, - "id": 2060, + "id": 2108, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2055, + "id": 2103, "name": "totalReleased", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1927, - "src": "1365:13:30", + "referencedDeclaration": 1975, + "src": "1365:13:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4909,12 +4909,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2058, + "id": 2106, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "1399:7:30", + "referencedDeclaration": 2061, + "src": "1399:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4930,32 +4930,32 @@ ], "expression": { "argumentTypes": null, - "id": 2056, + "id": 2104, "name": "totalReleased", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1927, - "src": "1381:13:30", + "referencedDeclaration": 1975, + "src": "1381:13:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2057, + "id": 2105, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1381:17:30", + "referencedDeclaration": 578, + "src": "1381:17:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2059, + "id": 2107, "isConstant": false, "isLValue": false, "isPure": false, @@ -4963,21 +4963,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1381:26:30", + "src": "1381:26:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1365:42:30", + "src": "1365:42:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2061, + "id": 2109, "nodeType": "ExpressionStatement", - "src": "1365:42:30" + "src": "1365:42:32" }, { "expression": { @@ -4985,12 +4985,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2065, + "id": 2113, "name": "payment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "1429:7:30", + "referencedDeclaration": 2061, + "src": "1429:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5006,18 +5006,18 @@ ], "expression": { "argumentTypes": null, - "id": 2062, + "id": 2110, "name": "payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "1414:5:30", + "referencedDeclaration": 2038, + "src": "1414:5:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 2064, + "id": 2112, "isConstant": false, "isLValue": false, "isPure": false, @@ -5025,13 +5025,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1414:14:30", + "src": "1414:14:32", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 2066, + "id": 2114, "isConstant": false, "isLValue": false, "isPure": false, @@ -5039,20 +5039,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1414:23:30", + "src": "1414:23:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2067, + "id": 2115, "nodeType": "ExpressionStatement", - "src": "1414:23:30" + "src": "1414:23:32" } ] }, "documentation": "@dev Claim your share of the balance.", - "id": 2069, + "id": 2117, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5060,29 +5060,29 @@ "name": "claim", "nodeType": "FunctionDefinition", "parameters": { - "id": 1987, + "id": 2035, "nodeType": "ParameterList", "parameters": [], - "src": "991:2:30" + "src": "991:2:32" }, "payable": false, "returnParameters": { - "id": 1988, + "id": 2036, "nodeType": "ParameterList", "parameters": [], - "src": "1001:0:30" + "src": "1001:0:32" }, - "scope": 2119, - "src": "977:465:30", + "scope": 2167, + "src": "977:465:32", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 2117, + "id": 2165, "nodeType": "Block", - "src": "1674:200:30", + "src": "1674:200:32", "statements": [ { "expression": { @@ -5094,19 +5094,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2081, + "id": 2129, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2077, + "id": 2125, "name": "_payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2071, - "src": "1688:6:30", + "referencedDeclaration": 2119, + "src": "1688:6:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5120,14 +5120,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2079, + "id": 2127, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1706:1:30", + "src": "1706:1:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5143,20 +5143,20 @@ "typeString": "int_const 0" } ], - "id": 2078, + "id": 2126, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1698:7:30", + "src": "1698:7:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 2080, + "id": 2128, "isConstant": false, "isLValue": false, "isPure": true, @@ -5164,13 +5164,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1698:10:30", + "src": "1698:10:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1688:20:30", + "src": "1688:20:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5184,21 +5184,21 @@ "typeString": "bool" } ], - "id": 2076, + "id": 2124, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1680:7:30", + "referencedDeclaration": 4882, + "src": "1680:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2082, + "id": 2130, "isConstant": false, "isLValue": false, "isPure": false, @@ -5206,15 +5206,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1680:29:30", + "src": "1680:29:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2083, + "id": 2131, "nodeType": "ExpressionStatement", - "src": "1680:29:30" + "src": "1680:29:32" }, { "expression": { @@ -5226,19 +5226,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2087, + "id": 2135, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2085, + "id": 2133, "name": "_shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2073, - "src": "1723:7:30", + "referencedDeclaration": 2121, + "src": "1723:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5249,14 +5249,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2086, + "id": 2134, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1733:1:30", + "src": "1733:1:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5264,7 +5264,7 @@ }, "value": "0" }, - "src": "1723:11:30", + "src": "1723:11:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5278,21 +5278,21 @@ "typeString": "bool" } ], - "id": 2084, + "id": 2132, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1715:7:30", + "referencedDeclaration": 4882, + "src": "1715:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2088, + "id": 2136, "isConstant": false, "isLValue": false, "isPure": false, @@ -5300,15 +5300,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1715:20:30", + "src": "1715:20:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2089, + "id": 2137, "nodeType": "ExpressionStatement", - "src": "1715:20:30" + "src": "1715:20:32" }, { "expression": { @@ -5320,7 +5320,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2095, + "id": 2143, "isConstant": false, "isLValue": false, "isPure": false, @@ -5329,26 +5329,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2091, + "id": 2139, "name": "shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1931, - "src": "1749:6:30", + "referencedDeclaration": 1979, + "src": "1749:6:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2093, + "id": 2141, "indexExpression": { "argumentTypes": null, - "id": 2092, + "id": 2140, "name": "_payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2071, - "src": "1756:6:30", + "referencedDeclaration": 2119, + "src": "1756:6:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5359,7 +5359,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1749:14:30", + "src": "1749:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5370,14 +5370,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2094, + "id": 2142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1767:1:30", + "src": "1767:1:32", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5385,7 +5385,7 @@ }, "value": "0" }, - "src": "1749:19:30", + "src": "1749:19:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5399,21 +5399,21 @@ "typeString": "bool" } ], - "id": 2090, + "id": 2138, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1741:7:30", + "referencedDeclaration": 4882, + "src": "1741:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2096, + "id": 2144, "isConstant": false, "isLValue": false, "isPure": false, @@ -5421,15 +5421,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1741:28:30", + "src": "1741:28:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2097, + "id": 2145, "nodeType": "ExpressionStatement", - "src": "1741:28:30" + "src": "1741:28:32" }, { "expression": { @@ -5437,12 +5437,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2101, + "id": 2149, "name": "_payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2071, - "src": "1788:6:30", + "referencedDeclaration": 2119, + "src": "1788:6:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5458,18 +5458,18 @@ ], "expression": { "argumentTypes": null, - "id": 2098, + "id": 2146, "name": "payees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1938, - "src": "1776:6:30", + "referencedDeclaration": 1986, + "src": "1776:6:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 2100, + "id": 2148, "isConstant": false, "isLValue": false, "isPure": false, @@ -5477,13 +5477,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1776:11:30", + "src": "1776:11:32", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" } }, - "id": 2102, + "id": 2150, "isConstant": false, "isLValue": false, "isPure": false, @@ -5491,20 +5491,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1776:19:30", + "src": "1776:19:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2103, + "id": 2151, "nodeType": "ExpressionStatement", - "src": "1776:19:30" + "src": "1776:19:32" }, { "expression": { "argumentTypes": null, - "id": 2108, + "id": 2156, "isConstant": false, "isLValue": false, "isPure": false, @@ -5513,26 +5513,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2104, + "id": 2152, "name": "shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1931, - "src": "1801:6:30", + "referencedDeclaration": 1979, + "src": "1801:6:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2106, + "id": 2154, "indexExpression": { "argumentTypes": null, - "id": 2105, + "id": 2153, "name": "_payee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2071, - "src": "1808:6:30", + "referencedDeclaration": 2119, + "src": "1808:6:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5543,7 +5543,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1801:14:30", + "src": "1801:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5553,43 +5553,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2107, + "id": 2155, "name": "_shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2073, - "src": "1818:7:30", + "referencedDeclaration": 2121, + "src": "1818:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1801:24:30", + "src": "1801:24:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2109, + "id": 2157, "nodeType": "ExpressionStatement", - "src": "1801:24:30" + "src": "1801:24:32" }, { "expression": { "argumentTypes": null, - "id": 2115, + "id": 2163, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2110, + "id": 2158, "name": "totalShares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "1831:11:30", + "referencedDeclaration": 1972, + "src": "1831:11:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5602,12 +5602,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2113, + "id": 2161, "name": "_shares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2073, - "src": "1861:7:30", + "referencedDeclaration": 2121, + "src": "1861:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5623,32 +5623,32 @@ ], "expression": { "argumentTypes": null, - "id": 2111, + "id": 2159, "name": "totalShares", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "1845:11:30", + "referencedDeclaration": 1972, + "src": "1845:11:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2112, + "id": 2160, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1845:15:30", + "referencedDeclaration": 578, + "src": "1845:15:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2114, + "id": 2162, "isConstant": false, "isLValue": false, "isPure": false, @@ -5656,26 +5656,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1845:24:30", + "src": "1845:24:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1831:38:30", + "src": "1831:38:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2116, + "id": 2164, "nodeType": "ExpressionStatement", - "src": "1831:38:30" + "src": "1831:38:32" } ] }, "documentation": "@dev Add a new payee to the contract.\n@param _payee The address of the payee to add.\n@param _shares The number of shares owned by the payee.", - "id": 2118, + "id": 2166, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5683,16 +5683,16 @@ "name": "addPayee", "nodeType": "FunctionDefinition", "parameters": { - "id": 2074, + "id": 2122, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2071, + "id": 2119, "name": "_payee", "nodeType": "VariableDeclaration", - "scope": 2118, - "src": "1632:14:30", + "scope": 2166, + "src": "1632:14:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5700,10 +5700,10 @@ "typeString": "address" }, "typeName": { - "id": 2070, + "id": 2118, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1632:7:30", + "src": "1632:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5714,11 +5714,11 @@ }, { "constant": false, - "id": 2073, + "id": 2121, "name": "_shares", "nodeType": "VariableDeclaration", - "scope": 2118, - "src": "1648:15:30", + "scope": 2166, + "src": "1648:15:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5726,10 +5726,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2072, + "id": 2120, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1648:7:30", + "src": "1648:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5739,33 +5739,33 @@ "visibility": "internal" } ], - "src": "1631:33:30" + "src": "1631:33:32" }, "payable": false, "returnParameters": { - "id": 2075, + "id": 2123, "nodeType": "ParameterList", "parameters": [], - "src": "1674:0:30" + "src": "1674:0:32" }, - "scope": 2119, - "src": "1614:260:30", + "scope": 2167, + "src": "1614:260:32", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 2120, - "src": "274:1602:30" + "scope": 2168, + "src": "274:1602:32" } ], - "src": "0:1877:30" + "src": "0:1877:32" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.637Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.211Z" } \ No newline at end of file diff --git a/build/contracts/StandardBurnableToken.json b/build/contracts/StandardBurnableToken.json index 520660559..aa61d289d 100644 --- a/build/contracts/StandardBurnableToken.json +++ b/build/contracts/StandardBurnableToken.json @@ -270,24 +270,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5061142f806100206000396000f3006080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100a957806318160ddd1461010e57806323b872dd1461013957806342966c68146101be57806366188463146101eb57806370a082311461025057806379cc6790146102a7578063a9059cbb146102f4578063d73dd62314610359578063dd62ed3e146103be575b600080fd5b3480156100b557600080fd5b506100f4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610435565b604051808215151515815260200191505060405180910390f35b34801561011a57600080fd5b50610123610527565b6040518082815260200191505060405180910390f35b34801561014557600080fd5b506101a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610531565b604051808215151515815260200191505060405180910390f35b3480156101ca57600080fd5b506101e9600480360381019080803590602001909291905050506108eb565b005b3480156101f757600080fd5b50610236600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108f8565b604051808215151515815260200191505060405180910390f35b34801561025c57600080fd5b50610291600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b89565b6040518082815260200191505060405180910390f35b3480156102b357600080fd5b506102f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bd1565b005b34801561030057600080fd5b5061033f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d79565b604051808215151515815260200191505060405180910390f35b34801561036557600080fd5b506103a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f98565b604051808215151515815260200191505060405180910390f35b3480156103ca57600080fd5b5061041f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611194565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561056e57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105bb57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561064657600080fd5b610697826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061072a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107fb82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6108f53382611250565b50565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610a09576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a9d565b610a1c838261121b90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111151515610c5c57600080fd5b610ceb81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d758282611250565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610db657600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610e0357600080fd5b610e54826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ee7826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061102982600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561122957fe5b818303905092915050565b6000818301905082811015151561124757fe5b80905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561129d57600080fd5b6112ee816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113458160015461121b90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505600a165627a7a72305820983b1b0e43e64c1a36c35990b5574ce6973e047deedfd337d91b9f96e2f2a8f10029", - "deployedBytecode": "0x6080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100a957806318160ddd1461010e57806323b872dd1461013957806342966c68146101be57806366188463146101eb57806370a082311461025057806379cc6790146102a7578063a9059cbb146102f4578063d73dd62314610359578063dd62ed3e146103be575b600080fd5b3480156100b557600080fd5b506100f4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610435565b604051808215151515815260200191505060405180910390f35b34801561011a57600080fd5b50610123610527565b6040518082815260200191505060405180910390f35b34801561014557600080fd5b506101a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610531565b604051808215151515815260200191505060405180910390f35b3480156101ca57600080fd5b506101e9600480360381019080803590602001909291905050506108eb565b005b3480156101f757600080fd5b50610236600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108f8565b604051808215151515815260200191505060405180910390f35b34801561025c57600080fd5b50610291600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b89565b6040518082815260200191505060405180910390f35b3480156102b357600080fd5b506102f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bd1565b005b34801561030057600080fd5b5061033f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d79565b604051808215151515815260200191505060405180910390f35b34801561036557600080fd5b506103a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f98565b604051808215151515815260200191505060405180910390f35b3480156103ca57600080fd5b5061041f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611194565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561056e57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105bb57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561064657600080fd5b610697826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061072a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107fb82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6108f53382611250565b50565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610a09576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a9d565b610a1c838261121b90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111151515610c5c57600080fd5b610ceb81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d758282611250565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610db657600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610e0357600080fd5b610e54826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ee7826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061102982600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561122957fe5b818303905092915050565b6000818301905082811015151561124757fe5b80905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561129d57600080fd5b6112ee816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113458160015461121b90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505600a165627a7a72305820983b1b0e43e64c1a36c35990b5574ce6973e047deedfd337d91b9f96e2f2a8f10029", - "sourceMap": "184:678:41:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;184:678:41;;;;;;;", - "deployedSourceMap": "184:678:41:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:31;;;;;;;;;;;;;;;;;;;;;;;736:444:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;353:73:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;353:73:32;;;;;;;;;;;;;;;;;;;;;;;;;;3617:403:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;490:370:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;490:370:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;371:83:31:-;415:7;437:12;;430:19;;371:83;:::o;736:444:42:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;353:73:32:-;396:25;402:10;414:6;396:5;:25::i;:::-;353:73;:::o;3617:403:42:-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:31:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;490:370:41:-;570:7;:14;578:5;570:14;;;;;;;;;;;;;;;:26;585:10;570:26;;;;;;;;;;;;;;;;560:6;:36;;552:45;;;;;;;;791:38;822:6;791:7;:14;799:5;791:14;;;;;;;;;;;;;;;:26;806:10;791:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;762:7;:14;770:5;762:14;;;;;;;;;;;;;;;:26;777:10;762:26;;;;;;;;;;;;;;;:67;;;;835:20;841:5;848:6;835:5;:20::i;:::-;490:370;;:::o;608:321:31:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;2893:262:42:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;430:438:32:-;508:8;:14;517:4;508:14;;;;;;;;;;;;;;;;498:6;:24;;490:33;;;;;;;;718:26;737:6;718:8;:14;727:4;718:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;701:8;:14;710:4;701:14;;;;;;;;;;;;;;;:43;;;;765:24;782:6;765:12;;:16;;:24;;;;:::i;:::-;750:12;:39;;;;805:4;800:18;;;811:6;800:18;;;;;;;;;;;;;;;;;;852:1;829:34;;838:4;829:34;;;856:6;829:34;;;;;;;;;;;;;;;;;;430:438;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b5061142f806100206000396000f3006080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100a957806318160ddd1461010e57806323b872dd1461013957806342966c68146101be57806366188463146101eb57806370a082311461025057806379cc6790146102a7578063a9059cbb146102f4578063d73dd62314610359578063dd62ed3e146103be575b600080fd5b3480156100b557600080fd5b506100f4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610435565b604051808215151515815260200191505060405180910390f35b34801561011a57600080fd5b50610123610527565b6040518082815260200191505060405180910390f35b34801561014557600080fd5b506101a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610531565b604051808215151515815260200191505060405180910390f35b3480156101ca57600080fd5b506101e9600480360381019080803590602001909291905050506108eb565b005b3480156101f757600080fd5b50610236600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108f8565b604051808215151515815260200191505060405180910390f35b34801561025c57600080fd5b50610291600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b89565b6040518082815260200191505060405180910390f35b3480156102b357600080fd5b506102f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bd1565b005b34801561030057600080fd5b5061033f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d79565b604051808215151515815260200191505060405180910390f35b34801561036557600080fd5b506103a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f98565b604051808215151515815260200191505060405180910390f35b3480156103ca57600080fd5b5061041f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611194565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561056e57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105bb57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561064657600080fd5b610697826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061072a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107fb82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6108f53382611250565b50565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610a09576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a9d565b610a1c838261121b90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111151515610c5c57600080fd5b610ceb81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d758282611250565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610db657600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610e0357600080fd5b610e54826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ee7826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061102982600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561122957fe5b818303905092915050565b6000818301905082811015151561124757fe5b80905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561129d57600080fd5b6112ee816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113458160015461121b90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505600a165627a7a72305820bca135dd9209bb6d85a28a4fce13f7d6a124d82186ec1bfd655b7175a2c82faa0029", + "deployedBytecode": "0x6080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100a957806318160ddd1461010e57806323b872dd1461013957806342966c68146101be57806366188463146101eb57806370a082311461025057806379cc6790146102a7578063a9059cbb146102f4578063d73dd62314610359578063dd62ed3e146103be575b600080fd5b3480156100b557600080fd5b506100f4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610435565b604051808215151515815260200191505060405180910390f35b34801561011a57600080fd5b50610123610527565b6040518082815260200191505060405180910390f35b34801561014557600080fd5b506101a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610531565b604051808215151515815260200191505060405180910390f35b3480156101ca57600080fd5b506101e9600480360381019080803590602001909291905050506108eb565b005b3480156101f757600080fd5b50610236600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108f8565b604051808215151515815260200191505060405180910390f35b34801561025c57600080fd5b50610291600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b89565b6040518082815260200191505060405180910390f35b3480156102b357600080fd5b506102f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bd1565b005b34801561030057600080fd5b5061033f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d79565b604051808215151515815260200191505060405180910390f35b34801561036557600080fd5b506103a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f98565b604051808215151515815260200191505060405180910390f35b3480156103ca57600080fd5b5061041f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611194565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561056e57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105bb57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561064657600080fd5b610697826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061072a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107fb82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6108f53382611250565b50565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610a09576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a9d565b610a1c838261121b90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111151515610c5c57600080fd5b610ceb81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d758282611250565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610db657600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610e0357600080fd5b610e54826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ee7826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061102982600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561122957fe5b818303905092915050565b6000818301905082811015151561124757fe5b80905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561129d57600080fd5b6112ee816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113458160015461121b90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505600a165627a7a72305820bca135dd9209bb6d85a28a4fce13f7d6a124d82186ec1bfd655b7175a2c82faa0029", + "sourceMap": "184:678:43:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;184:678:43;;;;;;;", + "deployedSourceMap": "184:678:43:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:33;;;;;;;;;;;;;;;;;;;;;;;736:444:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;353:73:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;353:73:34;;;;;;;;;;;;;;;;;;;;;;;;;;3617:403:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;490:370:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;490:370:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;371:83:33:-;415:7;437:12;;430:19;;371:83;:::o;736:444:44:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;353:73:34:-;396:25;402:10;414:6;396:5;:25::i;:::-;353:73;:::o;3617:403:44:-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:33:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;490:370:43:-;570:7;:14;578:5;570:14;;;;;;;;;;;;;;;:26;585:10;570:26;;;;;;;;;;;;;;;;560:6;:36;;552:45;;;;;;;;791:38;822:6;791:7;:14;799:5;791:14;;;;;;;;;;;;;;;:26;806:10;791:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;762:7;:14;770:5;762:14;;;;;;;;;;;;;;;:26;777:10;762:26;;;;;;;;;;;;;;;:67;;;;835:20;841:5;848:6;835:5;:20::i;:::-;490:370;;:::o;608:321:33:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;2893:262:44:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;430:438:34:-;508:8;:14;517:4;508:14;;;;;;;;;;;;;;;;498:6;:24;;490:33;;;;;;;;718:26;737:6;718:8;:14;727:4;718:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;701:8;:14;710:4;701:14;;;;;;;;;;;;;;;:43;;;;765:24;782:6;765:12;;:16;;:24;;;;:::i;:::-;750:12;:39;;;;805:4;800:18;;;811:6;800:18;;;;;;;;;;;;;;;;;;852:1;829:34;;838:4;829:34;;;856:6;829:34;;;;;;;;;;;;;;;;;;430:438;;:::o", "source": "pragma solidity ^0.4.18;\n\nimport \"./BurnableToken.sol\";\nimport \"./StandardToken.sol\";\n\n\n/**\n * @title Standard Burnable Token\n * @dev Adds burnFrom method to ERC20 implementations\n */\ncontract StandardBurnableToken is BurnableToken, StandardToken {\n\n /**\n * @dev Burns a specific amount of tokens from the target address and decrements allowance\n * @param _from address The address which you want to send tokens from\n * @param _value uint256 The amount of token to be burned\n */\n function burnFrom(address _from, uint256 _value) public {\n require(_value <= allowed[_from][msg.sender]);\n // Should https://github.com/OpenZeppelin/zeppelin-solidity/issues/707 be accepted,\n // this function needs to emit an event with the updated approval.\n allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);\n _burn(_from, _value);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardBurnableToken.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardBurnableToken.sol", "exportedSymbols": { "StandardBurnableToken": [ - 2857 + 2905 ] }, - "id": 2858, + "id": 2906, "nodeType": "SourceUnit", "nodes": [ { - "id": 2809, + "id": 2857, "literals": [ "solidity", "^", @@ -295,27 +295,27 @@ ".18" ], "nodeType": "PragmaDirective", - "src": "0:24:41" + "src": "0:24:43" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BurnableToken.sol", "file": "./BurnableToken.sol", - "id": 2810, + "id": 2858, "nodeType": "ImportDirective", - "scope": 2858, - "sourceUnit": 2287, - "src": "26:29:41", + "scope": 2906, + "sourceUnit": 2335, + "src": "26:29:43", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardToken.sol", "file": "./StandardToken.sol", - "id": 2811, + "id": 2859, "nodeType": "ImportDirective", - "scope": 2858, - "sourceUnit": 3104, - "src": "56:29:41", + "scope": 2906, + "sourceUnit": 3152, + "src": "56:29:43", "symbolAliases": [], "unitAlias": "" }, @@ -325,66 +325,66 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2812, + "id": 2860, "name": "BurnableToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2286, - "src": "218:13:41", + "referencedDeclaration": 2334, + "src": "218:13:43", "typeDescriptions": { - "typeIdentifier": "t_contract$_BurnableToken_$2286", + "typeIdentifier": "t_contract$_BurnableToken_$2334", "typeString": "contract BurnableToken" } }, - "id": 2813, + "id": 2861, "nodeType": "InheritanceSpecifier", - "src": "218:13:41" + "src": "218:13:43" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2814, + "id": 2862, "name": "StandardToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3103, - "src": "233:13:41", + "referencedDeclaration": 3151, + "src": "233:13:43", "typeDescriptions": { - "typeIdentifier": "t_contract$_StandardToken_$3103", + "typeIdentifier": "t_contract$_StandardToken_$3151", "typeString": "contract StandardToken" } }, - "id": 2815, + "id": 2863, "nodeType": "InheritanceSpecifier", - "src": "233:13:41" + "src": "233:13:43" } ], "contractDependencies": [ - 2215, - 2286, - 2479, - 2511, - 3103 + 2263, + 2334, + 2527, + 2559, + 3151 ], "contractKind": "contract", "documentation": "@title Standard Burnable Token\n@dev Adds burnFrom method to ERC20 implementations", "fullyImplemented": true, - "id": 2857, + "id": 2905, "linearizedBaseContracts": [ - 2857, - 3103, - 2286, - 2215, - 2479, - 2511 + 2905, + 3151, + 2334, + 2263, + 2527, + 2559 ], "name": "StandardBurnableToken", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 2855, + "id": 2903, "nodeType": "Block", - "src": "546:314:41", + "src": "546:314:43", "statements": [ { "expression": { @@ -396,19 +396,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2830, + "id": 2878, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2823, + "id": 2871, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2819, - "src": "560:6:41", + "referencedDeclaration": 2867, + "src": "560:6:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -422,26 +422,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2824, + "id": 2872, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "570:7:41", + "referencedDeclaration": 2919, + "src": "570:7:43", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 2826, + "id": 2874, "indexExpression": { "argumentTypes": null, - "id": 2825, + "id": 2873, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2817, - "src": "578:5:41", + "referencedDeclaration": 2865, + "src": "578:5:43", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -452,29 +452,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "570:14:41", + "src": "570:14:43", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2829, + "id": 2877, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2827, + "id": 2875, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "585:3:41", + "referencedDeclaration": 4879, + "src": "585:3:43", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2828, + "id": 2876, "isConstant": false, "isLValue": false, "isPure": false, @@ -482,7 +482,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "585:10:41", + "src": "585:10:43", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -493,13 +493,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "570:26:41", + "src": "570:26:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "560:36:41", + "src": "560:36:43", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -513,21 +513,21 @@ "typeString": "bool" } ], - "id": 2822, + "id": 2870, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "552:7:41", + "referencedDeclaration": 4882, + "src": "552:7:43", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2831, + "id": 2879, "isConstant": false, "isLValue": false, "isPure": false, @@ -535,20 +535,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "552:45:41", + "src": "552:45:43", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2832, + "id": 2880, "nodeType": "ExpressionStatement", - "src": "552:45:41" + "src": "552:45:43" }, { "expression": { "argumentTypes": null, - "id": 2848, + "id": 2896, "isConstant": false, "isLValue": false, "isPure": false, @@ -559,26 +559,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2833, + "id": 2881, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "762:7:41", + "referencedDeclaration": 2919, + "src": "762:7:43", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 2837, + "id": 2885, "indexExpression": { "argumentTypes": null, - "id": 2834, + "id": 2882, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2817, - "src": "770:5:41", + "referencedDeclaration": 2865, + "src": "770:5:43", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -589,29 +589,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "762:14:41", + "src": "762:14:43", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2838, + "id": 2886, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2835, + "id": 2883, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "777:3:41", + "referencedDeclaration": 4879, + "src": "777:3:43", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2836, + "id": 2884, "isConstant": false, "isLValue": false, "isPure": false, @@ -619,7 +619,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "777:10:41", + "src": "777:10:43", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -630,7 +630,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "762:26:41", + "src": "762:26:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -643,12 +643,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2846, + "id": 2894, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2819, - "src": "822:6:41", + "referencedDeclaration": 2867, + "src": "822:6:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -668,26 +668,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2839, + "id": 2887, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "791:7:41", + "referencedDeclaration": 2919, + "src": "791:7:43", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 2841, + "id": 2889, "indexExpression": { "argumentTypes": null, - "id": 2840, + "id": 2888, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2817, - "src": "799:5:41", + "referencedDeclaration": 2865, + "src": "799:5:43", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -698,29 +698,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "791:14:41", + "src": "791:14:43", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2844, + "id": 2892, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2842, + "id": 2890, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "806:3:41", + "referencedDeclaration": 4879, + "src": "806:3:43", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2843, + "id": 2891, "isConstant": false, "isLValue": false, "isPure": false, @@ -728,7 +728,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "806:10:41", + "src": "806:10:43", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -739,27 +739,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "791:26:41", + "src": "791:26:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2845, + "id": 2893, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "791:30:41", + "referencedDeclaration": 554, + "src": "791:30:43", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2847, + "id": 2895, "isConstant": false, "isLValue": false, "isPure": false, @@ -767,21 +767,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "791:38:41", + "src": "791:38:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "762:67:41", + "src": "762:67:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2849, + "id": 2897, "nodeType": "ExpressionStatement", - "src": "762:67:41" + "src": "762:67:43" }, { "expression": { @@ -789,12 +789,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2851, + "id": 2899, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2817, - "src": "841:5:41", + "referencedDeclaration": 2865, + "src": "841:5:43", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -802,12 +802,12 @@ }, { "argumentTypes": null, - "id": 2852, + "id": 2900, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2819, - "src": "848:6:41", + "referencedDeclaration": 2867, + "src": "848:6:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -825,18 +825,18 @@ "typeString": "uint256" } ], - "id": 2850, + "id": 2898, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2285, - "src": "835:5:41", + "referencedDeclaration": 2333, + "src": "835:5:43", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2853, + "id": 2901, "isConstant": false, "isLValue": false, "isPure": false, @@ -844,20 +844,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "835:20:41", + "src": "835:20:43", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2854, + "id": 2902, "nodeType": "ExpressionStatement", - "src": "835:20:41" + "src": "835:20:43" } ] }, "documentation": "@dev Burns a specific amount of tokens from the target address and decrements allowance\n@param _from address The address which you want to send tokens from\n@param _value uint256 The amount of token to be burned", - "id": 2856, + "id": 2904, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -865,16 +865,16 @@ "name": "burnFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 2820, + "id": 2868, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2817, + "id": 2865, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 2856, - "src": "508:13:41", + "scope": 2904, + "src": "508:13:43", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -882,10 +882,10 @@ "typeString": "address" }, "typeName": { - "id": 2816, + "id": 2864, "name": "address", "nodeType": "ElementaryTypeName", - "src": "508:7:41", + "src": "508:7:43", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -896,11 +896,11 @@ }, { "constant": false, - "id": 2819, + "id": 2867, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2856, - "src": "523:14:41", + "scope": 2904, + "src": "523:14:43", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -908,10 +908,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2818, + "id": 2866, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "523:7:41", + "src": "523:7:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -921,40 +921,40 @@ "visibility": "internal" } ], - "src": "507:31:41" + "src": "507:31:43" }, "payable": false, "returnParameters": { - "id": 2821, + "id": 2869, "nodeType": "ParameterList", "parameters": [], - "src": "546:0:41" + "src": "546:0:43" }, - "scope": 2857, - "src": "490:370:41", + "scope": 2905, + "src": "490:370:43", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 2858, - "src": "184:678:41" + "scope": 2906, + "src": "184:678:43" } ], - "src": "0:863:41" + "src": "0:863:43" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardBurnableToken.sol", "exportedSymbols": { "StandardBurnableToken": [ - 2857 + 2905 ] }, - "id": 2858, + "id": 2906, "nodeType": "SourceUnit", "nodes": [ { - "id": 2809, + "id": 2857, "literals": [ "solidity", "^", @@ -962,27 +962,27 @@ ".18" ], "nodeType": "PragmaDirective", - "src": "0:24:41" + "src": "0:24:43" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BurnableToken.sol", "file": "./BurnableToken.sol", - "id": 2810, + "id": 2858, "nodeType": "ImportDirective", - "scope": 2858, - "sourceUnit": 2287, - "src": "26:29:41", + "scope": 2906, + "sourceUnit": 2335, + "src": "26:29:43", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardToken.sol", "file": "./StandardToken.sol", - "id": 2811, + "id": 2859, "nodeType": "ImportDirective", - "scope": 2858, - "sourceUnit": 3104, - "src": "56:29:41", + "scope": 2906, + "sourceUnit": 3152, + "src": "56:29:43", "symbolAliases": [], "unitAlias": "" }, @@ -992,66 +992,66 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2812, + "id": 2860, "name": "BurnableToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2286, - "src": "218:13:41", + "referencedDeclaration": 2334, + "src": "218:13:43", "typeDescriptions": { - "typeIdentifier": "t_contract$_BurnableToken_$2286", + "typeIdentifier": "t_contract$_BurnableToken_$2334", "typeString": "contract BurnableToken" } }, - "id": 2813, + "id": 2861, "nodeType": "InheritanceSpecifier", - "src": "218:13:41" + "src": "218:13:43" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2814, + "id": 2862, "name": "StandardToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3103, - "src": "233:13:41", + "referencedDeclaration": 3151, + "src": "233:13:43", "typeDescriptions": { - "typeIdentifier": "t_contract$_StandardToken_$3103", + "typeIdentifier": "t_contract$_StandardToken_$3151", "typeString": "contract StandardToken" } }, - "id": 2815, + "id": 2863, "nodeType": "InheritanceSpecifier", - "src": "233:13:41" + "src": "233:13:43" } ], "contractDependencies": [ - 2215, - 2286, - 2479, - 2511, - 3103 + 2263, + 2334, + 2527, + 2559, + 3151 ], "contractKind": "contract", "documentation": "@title Standard Burnable Token\n@dev Adds burnFrom method to ERC20 implementations", "fullyImplemented": true, - "id": 2857, + "id": 2905, "linearizedBaseContracts": [ - 2857, - 3103, - 2286, - 2215, - 2479, - 2511 + 2905, + 3151, + 2334, + 2263, + 2527, + 2559 ], "name": "StandardBurnableToken", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 2855, + "id": 2903, "nodeType": "Block", - "src": "546:314:41", + "src": "546:314:43", "statements": [ { "expression": { @@ -1063,19 +1063,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2830, + "id": 2878, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2823, + "id": 2871, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2819, - "src": "560:6:41", + "referencedDeclaration": 2867, + "src": "560:6:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1089,26 +1089,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2824, + "id": 2872, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "570:7:41", + "referencedDeclaration": 2919, + "src": "570:7:43", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 2826, + "id": 2874, "indexExpression": { "argumentTypes": null, - "id": 2825, + "id": 2873, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2817, - "src": "578:5:41", + "referencedDeclaration": 2865, + "src": "578:5:43", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1119,29 +1119,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "570:14:41", + "src": "570:14:43", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2829, + "id": 2877, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2827, + "id": 2875, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "585:3:41", + "referencedDeclaration": 4879, + "src": "585:3:43", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2828, + "id": 2876, "isConstant": false, "isLValue": false, "isPure": false, @@ -1149,7 +1149,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "585:10:41", + "src": "585:10:43", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1160,13 +1160,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "570:26:41", + "src": "570:26:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "560:36:41", + "src": "560:36:43", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1180,21 +1180,21 @@ "typeString": "bool" } ], - "id": 2822, + "id": 2870, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "552:7:41", + "referencedDeclaration": 4882, + "src": "552:7:43", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2831, + "id": 2879, "isConstant": false, "isLValue": false, "isPure": false, @@ -1202,20 +1202,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "552:45:41", + "src": "552:45:43", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2832, + "id": 2880, "nodeType": "ExpressionStatement", - "src": "552:45:41" + "src": "552:45:43" }, { "expression": { "argumentTypes": null, - "id": 2848, + "id": 2896, "isConstant": false, "isLValue": false, "isPure": false, @@ -1226,26 +1226,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2833, + "id": 2881, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "762:7:41", + "referencedDeclaration": 2919, + "src": "762:7:43", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 2837, + "id": 2885, "indexExpression": { "argumentTypes": null, - "id": 2834, + "id": 2882, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2817, - "src": "770:5:41", + "referencedDeclaration": 2865, + "src": "770:5:43", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1256,29 +1256,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "762:14:41", + "src": "762:14:43", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2838, + "id": 2886, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2835, + "id": 2883, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "777:3:41", + "referencedDeclaration": 4879, + "src": "777:3:43", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2836, + "id": 2884, "isConstant": false, "isLValue": false, "isPure": false, @@ -1286,7 +1286,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "777:10:41", + "src": "777:10:43", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1297,7 +1297,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "762:26:41", + "src": "762:26:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1310,12 +1310,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2846, + "id": 2894, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2819, - "src": "822:6:41", + "referencedDeclaration": 2867, + "src": "822:6:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1335,26 +1335,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2839, + "id": 2887, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "791:7:41", + "referencedDeclaration": 2919, + "src": "791:7:43", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 2841, + "id": 2889, "indexExpression": { "argumentTypes": null, - "id": 2840, + "id": 2888, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2817, - "src": "799:5:41", + "referencedDeclaration": 2865, + "src": "799:5:43", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1365,29 +1365,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "791:14:41", + "src": "791:14:43", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2844, + "id": 2892, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2842, + "id": 2890, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "806:3:41", + "referencedDeclaration": 4879, + "src": "806:3:43", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2843, + "id": 2891, "isConstant": false, "isLValue": false, "isPure": false, @@ -1395,7 +1395,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "806:10:41", + "src": "806:10:43", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1406,27 +1406,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "791:26:41", + "src": "791:26:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2845, + "id": 2893, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "791:30:41", + "referencedDeclaration": 554, + "src": "791:30:43", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2847, + "id": 2895, "isConstant": false, "isLValue": false, "isPure": false, @@ -1434,21 +1434,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "791:38:41", + "src": "791:38:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "762:67:41", + "src": "762:67:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2849, + "id": 2897, "nodeType": "ExpressionStatement", - "src": "762:67:41" + "src": "762:67:43" }, { "expression": { @@ -1456,12 +1456,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2851, + "id": 2899, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2817, - "src": "841:5:41", + "referencedDeclaration": 2865, + "src": "841:5:43", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1469,12 +1469,12 @@ }, { "argumentTypes": null, - "id": 2852, + "id": 2900, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2819, - "src": "848:6:41", + "referencedDeclaration": 2867, + "src": "848:6:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1492,18 +1492,18 @@ "typeString": "uint256" } ], - "id": 2850, + "id": 2898, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2285, - "src": "835:5:41", + "referencedDeclaration": 2333, + "src": "835:5:43", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2853, + "id": 2901, "isConstant": false, "isLValue": false, "isPure": false, @@ -1511,20 +1511,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "835:20:41", + "src": "835:20:43", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2854, + "id": 2902, "nodeType": "ExpressionStatement", - "src": "835:20:41" + "src": "835:20:43" } ] }, "documentation": "@dev Burns a specific amount of tokens from the target address and decrements allowance\n@param _from address The address which you want to send tokens from\n@param _value uint256 The amount of token to be burned", - "id": 2856, + "id": 2904, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1532,16 +1532,16 @@ "name": "burnFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 2820, + "id": 2868, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2817, + "id": 2865, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 2856, - "src": "508:13:41", + "scope": 2904, + "src": "508:13:43", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1549,10 +1549,10 @@ "typeString": "address" }, "typeName": { - "id": 2816, + "id": 2864, "name": "address", "nodeType": "ElementaryTypeName", - "src": "508:7:41", + "src": "508:7:43", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1563,11 +1563,11 @@ }, { "constant": false, - "id": 2819, + "id": 2867, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2856, - "src": "523:14:41", + "scope": 2904, + "src": "523:14:43", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1575,10 +1575,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2818, + "id": 2866, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "523:7:41", + "src": "523:7:43", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1588,33 +1588,33 @@ "visibility": "internal" } ], - "src": "507:31:41" + "src": "507:31:43" }, "payable": false, "returnParameters": { - "id": 2821, + "id": 2869, "nodeType": "ParameterList", "parameters": [], - "src": "546:0:41" + "src": "546:0:43" }, - "scope": 2857, - "src": "490:370:41", + "scope": 2905, + "src": "490:370:43", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 2858, - "src": "184:678:41" + "scope": 2906, + "src": "184:678:43" } ], - "src": "0:863:41" + "src": "0:863:43" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.644Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.215Z" } \ No newline at end of file diff --git a/build/contracts/StandardBurnableTokenMock.json b/build/contracts/StandardBurnableTokenMock.json index 722280fb9..840cac88a 100644 --- a/build/contracts/StandardBurnableTokenMock.json +++ b/build/contracts/StandardBurnableTokenMock.json @@ -285,24 +285,24 @@ "type": "event" } ], - "bytecode": "0x608060405234801561001057600080fd5b506040516040806114c78339810180604052810190808051906020019092919080519060200190929190505050806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600181905550505061142f806100986000396000f3006080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100a957806318160ddd1461010e57806323b872dd1461013957806342966c68146101be57806366188463146101eb57806370a082311461025057806379cc6790146102a7578063a9059cbb146102f4578063d73dd62314610359578063dd62ed3e146103be575b600080fd5b3480156100b557600080fd5b506100f4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610435565b604051808215151515815260200191505060405180910390f35b34801561011a57600080fd5b50610123610527565b6040518082815260200191505060405180910390f35b34801561014557600080fd5b506101a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610531565b604051808215151515815260200191505060405180910390f35b3480156101ca57600080fd5b506101e9600480360381019080803590602001909291905050506108eb565b005b3480156101f757600080fd5b50610236600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108f8565b604051808215151515815260200191505060405180910390f35b34801561025c57600080fd5b50610291600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b89565b6040518082815260200191505060405180910390f35b3480156102b357600080fd5b506102f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bd1565b005b34801561030057600080fd5b5061033f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d79565b604051808215151515815260200191505060405180910390f35b34801561036557600080fd5b506103a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f98565b604051808215151515815260200191505060405180910390f35b3480156103ca57600080fd5b5061041f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611194565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561056e57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105bb57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561064657600080fd5b610697826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061072a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107fb82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6108f53382611250565b50565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610a09576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a9d565b610a1c838261121b90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111151515610c5c57600080fd5b610ceb81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d758282611250565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610db657600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610e0357600080fd5b610e54826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ee7826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061102982600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561122957fe5b818303905092915050565b6000818301905082811015151561124757fe5b80905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561129d57600080fd5b6112ee816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113458160015461121b90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505600a165627a7a72305820982d7806b742be89191ca71d7fb8595a4a62598f718a38850bbe4a37efb7d8f20029", - "deployedBytecode": "0x6080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100a957806318160ddd1461010e57806323b872dd1461013957806342966c68146101be57806366188463146101eb57806370a082311461025057806379cc6790146102a7578063a9059cbb146102f4578063d73dd62314610359578063dd62ed3e146103be575b600080fd5b3480156100b557600080fd5b506100f4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610435565b604051808215151515815260200191505060405180910390f35b34801561011a57600080fd5b50610123610527565b6040518082815260200191505060405180910390f35b34801561014557600080fd5b506101a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610531565b604051808215151515815260200191505060405180910390f35b3480156101ca57600080fd5b506101e9600480360381019080803590602001909291905050506108eb565b005b3480156101f757600080fd5b50610236600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108f8565b604051808215151515815260200191505060405180910390f35b34801561025c57600080fd5b50610291600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b89565b6040518082815260200191505060405180910390f35b3480156102b357600080fd5b506102f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bd1565b005b34801561030057600080fd5b5061033f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d79565b604051808215151515815260200191505060405180910390f35b34801561036557600080fd5b506103a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f98565b604051808215151515815260200191505060405180910390f35b3480156103ca57600080fd5b5061041f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611194565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561056e57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105bb57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561064657600080fd5b610697826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061072a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107fb82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6108f53382611250565b50565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610a09576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a9d565b610a1c838261121b90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111151515610c5c57600080fd5b610ceb81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d758282611250565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610db657600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610e0357600080fd5b610e54826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ee7826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061102982600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561122957fe5b818303905092915050565b6000818301905082811015151561124757fe5b80905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561129d57600080fd5b6112ee816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113458160015461121b90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505600a165627a7a72305820982d7806b742be89191ca71d7fb8595a4a62598f718a38850bbe4a37efb7d8f20029", - "sourceMap": "79:242:23:-;;;144:174;8:9:-1;5:2;;;30:1;27;20:12;5:2;144:174:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:14;237:8;:24;246:14;237:24;;;;;;;;;;;;;;;:41;;;;299:14;284:12;:29;;;;144:174;;79:242;;;;;;", - "deployedSourceMap": "79:242:23:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:31;;;;;;;;;;;;;;;;;;;;;;;736:444:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;353:73:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;353:73:32;;;;;;;;;;;;;;;;;;;;;;;;;;3617:403:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;490:370:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;490:370:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;371:83:31:-;415:7;437:12;;430:19;;371:83;:::o;736:444:42:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;353:73:32:-;396:25;402:10;414:6;396:5;:25::i;:::-;353:73;:::o;3617:403:42:-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:31:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;490:370:41:-;570:7;:14;578:5;570:14;;;;;;;;;;;;;;;:26;585:10;570:26;;;;;;;;;;;;;;;;560:6;:36;;552:45;;;;;;;;791:38;822:6;791:7;:14;799:5;791:14;;;;;;;;;;;;;;;:26;806:10;791:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;762:7;:14;770:5;762:14;;;;;;;;;;;;;;;:26;777:10;762:26;;;;;;;;;;;;;;;:67;;;;835:20;841:5;848:6;835:5;:20::i;:::-;490:370;;:::o;608:321:31:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;2893:262:42:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;430:438:32:-;508:8;:14;517:4;508:14;;;;;;;;;;;;;;;;498:6;:24;;490:33;;;;;;;;718:26;737:6;718:8;:14;727:4;718:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;701:8;:14;710:4;701:14;;;;;;;;;;;;;;;:43;;;;765:24;782:6;765:12;;:16;;:24;;;;:::i;:::-;750:12;:39;;;;805:4;800:18;;;811:6;800:18;;;;;;;;;;;;;;;;;;852:1;829:34;;838:4;829:34;;;856:6;829:34;;;;;;;;;;;;;;;;;;430:438;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b506040516040806114c78339810180604052810190808051906020019092919080519060200190929190505050806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600181905550505061142f806100986000396000f3006080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100a957806318160ddd1461010e57806323b872dd1461013957806342966c68146101be57806366188463146101eb57806370a082311461025057806379cc6790146102a7578063a9059cbb146102f4578063d73dd62314610359578063dd62ed3e146103be575b600080fd5b3480156100b557600080fd5b506100f4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610435565b604051808215151515815260200191505060405180910390f35b34801561011a57600080fd5b50610123610527565b6040518082815260200191505060405180910390f35b34801561014557600080fd5b506101a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610531565b604051808215151515815260200191505060405180910390f35b3480156101ca57600080fd5b506101e9600480360381019080803590602001909291905050506108eb565b005b3480156101f757600080fd5b50610236600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108f8565b604051808215151515815260200191505060405180910390f35b34801561025c57600080fd5b50610291600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b89565b6040518082815260200191505060405180910390f35b3480156102b357600080fd5b506102f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bd1565b005b34801561030057600080fd5b5061033f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d79565b604051808215151515815260200191505060405180910390f35b34801561036557600080fd5b506103a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f98565b604051808215151515815260200191505060405180910390f35b3480156103ca57600080fd5b5061041f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611194565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561056e57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105bb57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561064657600080fd5b610697826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061072a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107fb82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6108f53382611250565b50565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610a09576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a9d565b610a1c838261121b90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111151515610c5c57600080fd5b610ceb81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d758282611250565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610db657600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610e0357600080fd5b610e54826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ee7826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061102982600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561122957fe5b818303905092915050565b6000818301905082811015151561124757fe5b80905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561129d57600080fd5b6112ee816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113458160015461121b90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505600a165627a7a7230582001f92113fa161c18b9c0d866694653c536adb5615adf05d7714baa4416670f150029", + "deployedBytecode": "0x6080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100a957806318160ddd1461010e57806323b872dd1461013957806342966c68146101be57806366188463146101eb57806370a082311461025057806379cc6790146102a7578063a9059cbb146102f4578063d73dd62314610359578063dd62ed3e146103be575b600080fd5b3480156100b557600080fd5b506100f4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610435565b604051808215151515815260200191505060405180910390f35b34801561011a57600080fd5b50610123610527565b6040518082815260200191505060405180910390f35b34801561014557600080fd5b506101a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610531565b604051808215151515815260200191505060405180910390f35b3480156101ca57600080fd5b506101e9600480360381019080803590602001909291905050506108eb565b005b3480156101f757600080fd5b50610236600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108f8565b604051808215151515815260200191505060405180910390f35b34801561025c57600080fd5b50610291600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b89565b6040518082815260200191505060405180910390f35b3480156102b357600080fd5b506102f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bd1565b005b34801561030057600080fd5b5061033f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d79565b604051808215151515815260200191505060405180910390f35b34801561036557600080fd5b506103a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f98565b604051808215151515815260200191505060405180910390f35b3480156103ca57600080fd5b5061041f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611194565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561056e57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105bb57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561064657600080fd5b610697826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061072a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107fb82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6108f53382611250565b50565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610a09576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a9d565b610a1c838261121b90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111151515610c5c57600080fd5b610ceb81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d758282611250565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610db657600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610e0357600080fd5b610e54826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ee7826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061102982600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561122957fe5b818303905092915050565b6000818301905082811015151561124757fe5b80905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561129d57600080fd5b6112ee816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121b90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113458160015461121b90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505600a165627a7a7230582001f92113fa161c18b9c0d866694653c536adb5615adf05d7714baa4416670f150029", + "sourceMap": "79:242:25:-;;;144:174;8:9:-1;5:2;;;30:1;27;20:12;5:2;144:174:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:14;237:8;:24;246:14;237:24;;;;;;;;;;;;;;;:41;;;;299:14;284:12;:29;;;;144:174;;79:242;;;;;;", + "deployedSourceMap": "79:242:25:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:33;;;;;;;;;;;;;;;;;;;;;;;736:444:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;353:73:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;353:73:34;;;;;;;;;;;;;;;;;;;;;;;;;;3617:403:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;490:370:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;490:370:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;371:83:33:-;415:7;437:12;;430:19;;371:83;:::o;736:444:44:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;353:73:34:-;396:25;402:10;414:6;396:5;:25::i;:::-;353:73;:::o;3617:403:44:-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:33:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;490:370:43:-;570:7;:14;578:5;570:14;;;;;;;;;;;;;;;:26;585:10;570:26;;;;;;;;;;;;;;;;560:6;:36;;552:45;;;;;;;;791:38;822:6;791:7;:14;799:5;791:14;;;;;;;;;;;;;;;:26;806:10;791:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;762:7;:14;770:5;762:14;;;;;;;;;;;;;;;:26;777:10;762:26;;;;;;;;;;;;;;;:67;;;;835:20;841:5;848:6;835:5;:20::i;:::-;490:370;;:::o;608:321:33:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;2893:262:44:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;430:438:34:-;508:8;:14;517:4;508:14;;;;;;;;;;;;;;;;498:6;:24;;490:33;;;;;;;;718:26;737:6;718:8;:14;727:4;718:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;701:8;:14;710:4;701:14;;;;;;;;;;;;;;;:43;;;;765:24;782:6;765:12;;:16;;:24;;;;:::i;:::-;750:12;:39;;;;805:4;800:18;;;811:6;800:18;;;;;;;;;;;;;;;;;;852:1;829:34;;838:4;829:34;;;856:6;829:34;;;;;;;;;;;;;;;;;;430:438;;:::o", "source": "pragma solidity ^0.4.18;\n\nimport \"../token/ERC20/StandardBurnableToken.sol\";\n\n\ncontract StandardBurnableTokenMock is StandardBurnableToken {\n\n function StandardBurnableTokenMock(address initialAccount, uint initialBalance) public {\n balances[initialAccount] = initialBalance;\n totalSupply_ = initialBalance;\n }\n\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/StandardBurnableTokenMock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/StandardBurnableTokenMock.sol", "exportedSymbols": { "StandardBurnableTokenMock": [ - 1492 + 1540 ] }, - "id": 1493, + "id": 1541, "nodeType": "SourceUnit", "nodes": [ { - "id": 1470, + "id": 1518, "literals": [ "solidity", "^", @@ -310,16 +310,16 @@ ".18" ], "nodeType": "PragmaDirective", - "src": "0:24:23" + "src": "0:24:25" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardBurnableToken.sol", "file": "../token/ERC20/StandardBurnableToken.sol", - "id": 1471, + "id": 1519, "nodeType": "ImportDirective", - "scope": 1493, - "sourceUnit": 2858, - "src": "26:50:23", + "scope": 1541, + "sourceUnit": 2906, + "src": "26:50:25", "symbolAliases": [], "unitAlias": "" }, @@ -329,55 +329,55 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1472, + "id": 1520, "name": "StandardBurnableToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2857, - "src": "117:21:23", + "referencedDeclaration": 2905, + "src": "117:21:25", "typeDescriptions": { - "typeIdentifier": "t_contract$_StandardBurnableToken_$2857", + "typeIdentifier": "t_contract$_StandardBurnableToken_$2905", "typeString": "contract StandardBurnableToken" } }, - "id": 1473, + "id": 1521, "nodeType": "InheritanceSpecifier", - "src": "117:21:23" + "src": "117:21:25" } ], "contractDependencies": [ - 2215, - 2286, - 2479, - 2511, - 2857, - 3103 + 2263, + 2334, + 2527, + 2559, + 2905, + 3151 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1492, + "id": 1540, "linearizedBaseContracts": [ - 1492, - 2857, - 3103, - 2286, - 2215, - 2479, - 2511 + 1540, + 2905, + 3151, + 2334, + 2263, + 2527, + 2559 ], "name": "StandardBurnableTokenMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1490, + "id": 1538, "nodeType": "Block", - "src": "231:87:23", + "src": "231:87:25", "statements": [ { "expression": { "argumentTypes": null, - "id": 1484, + "id": 1532, "isConstant": false, "isLValue": false, "isPure": false, @@ -386,26 +386,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1480, + "id": 1528, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "237:8:23", + "referencedDeclaration": 2180, + "src": "237:8:25", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1482, + "id": 1530, "indexExpression": { "argumentTypes": null, - "id": 1481, + "id": 1529, "name": "initialAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1475, - "src": "246:14:23", + "referencedDeclaration": 1523, + "src": "246:14:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -416,7 +416,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "237:24:23", + "src": "237:24:25", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -426,43 +426,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1483, + "id": 1531, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1477, - "src": "264:14:23", + "referencedDeclaration": 1525, + "src": "264:14:25", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "237:41:23", + "src": "237:41:25", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1485, + "id": 1533, "nodeType": "ExpressionStatement", - "src": "237:41:23" + "src": "237:41:25" }, { "expression": { "argumentTypes": null, - "id": 1488, + "id": 1536, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1486, + "id": 1534, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "284:12:23", + "referencedDeclaration": 2182, + "src": "284:12:25", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -472,31 +472,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1487, + "id": 1535, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1477, - "src": "299:14:23", + "referencedDeclaration": 1525, + "src": "299:14:25", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "284:29:23", + "src": "284:29:25", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1489, + "id": 1537, "nodeType": "ExpressionStatement", - "src": "284:29:23" + "src": "284:29:25" } ] }, "documentation": null, - "id": 1491, + "id": 1539, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -504,16 +504,16 @@ "name": "StandardBurnableTokenMock", "nodeType": "FunctionDefinition", "parameters": { - "id": 1478, + "id": 1526, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1475, + "id": 1523, "name": "initialAccount", "nodeType": "VariableDeclaration", - "scope": 1491, - "src": "179:22:23", + "scope": 1539, + "src": "179:22:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -521,10 +521,10 @@ "typeString": "address" }, "typeName": { - "id": 1474, + "id": 1522, "name": "address", "nodeType": "ElementaryTypeName", - "src": "179:7:23", + "src": "179:7:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -535,11 +535,11 @@ }, { "constant": false, - "id": 1477, + "id": 1525, "name": "initialBalance", "nodeType": "VariableDeclaration", - "scope": 1491, - "src": "203:19:23", + "scope": 1539, + "src": "203:19:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -547,10 +547,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1476, + "id": 1524, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "203:4:23", + "src": "203:4:25", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -560,40 +560,40 @@ "visibility": "internal" } ], - "src": "178:45:23" + "src": "178:45:25" }, "payable": false, "returnParameters": { - "id": 1479, + "id": 1527, "nodeType": "ParameterList", "parameters": [], - "src": "231:0:23" + "src": "231:0:25" }, - "scope": 1492, - "src": "144:174:23", + "scope": 1540, + "src": "144:174:25", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1493, - "src": "79:242:23" + "scope": 1541, + "src": "79:242:25" } ], - "src": "0:322:23" + "src": "0:322:25" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/StandardBurnableTokenMock.sol", "exportedSymbols": { "StandardBurnableTokenMock": [ - 1492 + 1540 ] }, - "id": 1493, + "id": 1541, "nodeType": "SourceUnit", "nodes": [ { - "id": 1470, + "id": 1518, "literals": [ "solidity", "^", @@ -601,16 +601,16 @@ ".18" ], "nodeType": "PragmaDirective", - "src": "0:24:23" + "src": "0:24:25" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardBurnableToken.sol", "file": "../token/ERC20/StandardBurnableToken.sol", - "id": 1471, + "id": 1519, "nodeType": "ImportDirective", - "scope": 1493, - "sourceUnit": 2858, - "src": "26:50:23", + "scope": 1541, + "sourceUnit": 2906, + "src": "26:50:25", "symbolAliases": [], "unitAlias": "" }, @@ -620,55 +620,55 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1472, + "id": 1520, "name": "StandardBurnableToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2857, - "src": "117:21:23", + "referencedDeclaration": 2905, + "src": "117:21:25", "typeDescriptions": { - "typeIdentifier": "t_contract$_StandardBurnableToken_$2857", + "typeIdentifier": "t_contract$_StandardBurnableToken_$2905", "typeString": "contract StandardBurnableToken" } }, - "id": 1473, + "id": 1521, "nodeType": "InheritanceSpecifier", - "src": "117:21:23" + "src": "117:21:25" } ], "contractDependencies": [ - 2215, - 2286, - 2479, - 2511, - 2857, - 3103 + 2263, + 2334, + 2527, + 2559, + 2905, + 3151 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1492, + "id": 1540, "linearizedBaseContracts": [ - 1492, - 2857, - 3103, - 2286, - 2215, - 2479, - 2511 + 1540, + 2905, + 3151, + 2334, + 2263, + 2527, + 2559 ], "name": "StandardBurnableTokenMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1490, + "id": 1538, "nodeType": "Block", - "src": "231:87:23", + "src": "231:87:25", "statements": [ { "expression": { "argumentTypes": null, - "id": 1484, + "id": 1532, "isConstant": false, "isLValue": false, "isPure": false, @@ -677,26 +677,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1480, + "id": 1528, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "237:8:23", + "referencedDeclaration": 2180, + "src": "237:8:25", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1482, + "id": 1530, "indexExpression": { "argumentTypes": null, - "id": 1481, + "id": 1529, "name": "initialAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1475, - "src": "246:14:23", + "referencedDeclaration": 1523, + "src": "246:14:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -707,7 +707,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "237:24:23", + "src": "237:24:25", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -717,43 +717,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1483, + "id": 1531, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1477, - "src": "264:14:23", + "referencedDeclaration": 1525, + "src": "264:14:25", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "237:41:23", + "src": "237:41:25", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1485, + "id": 1533, "nodeType": "ExpressionStatement", - "src": "237:41:23" + "src": "237:41:25" }, { "expression": { "argumentTypes": null, - "id": 1488, + "id": 1536, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1486, + "id": 1534, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "284:12:23", + "referencedDeclaration": 2182, + "src": "284:12:25", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -763,31 +763,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1487, + "id": 1535, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1477, - "src": "299:14:23", + "referencedDeclaration": 1525, + "src": "299:14:25", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "284:29:23", + "src": "284:29:25", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1489, + "id": 1537, "nodeType": "ExpressionStatement", - "src": "284:29:23" + "src": "284:29:25" } ] }, "documentation": null, - "id": 1491, + "id": 1539, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -795,16 +795,16 @@ "name": "StandardBurnableTokenMock", "nodeType": "FunctionDefinition", "parameters": { - "id": 1478, + "id": 1526, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1475, + "id": 1523, "name": "initialAccount", "nodeType": "VariableDeclaration", - "scope": 1491, - "src": "179:22:23", + "scope": 1539, + "src": "179:22:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -812,10 +812,10 @@ "typeString": "address" }, "typeName": { - "id": 1474, + "id": 1522, "name": "address", "nodeType": "ElementaryTypeName", - "src": "179:7:23", + "src": "179:7:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -826,11 +826,11 @@ }, { "constant": false, - "id": 1477, + "id": 1525, "name": "initialBalance", "nodeType": "VariableDeclaration", - "scope": 1491, - "src": "203:19:23", + "scope": 1539, + "src": "203:19:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -838,10 +838,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1476, + "id": 1524, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "203:4:23", + "src": "203:4:25", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -851,33 +851,33 @@ "visibility": "internal" } ], - "src": "178:45:23" + "src": "178:45:25" }, "payable": false, "returnParameters": { - "id": 1479, + "id": 1527, "nodeType": "ParameterList", "parameters": [], - "src": "231:0:23" + "src": "231:0:25" }, - "scope": 1492, - "src": "144:174:23", + "scope": 1540, + "src": "144:174:25", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1493, - "src": "79:242:23" + "scope": 1541, + "src": "79:242:25" } ], - "src": "0:322:23" + "src": "0:322:25" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.626Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.209Z" } \ No newline at end of file diff --git a/build/contracts/StandardToken.json b/build/contracts/StandardToken.json index 88fae94c8..42e76cdec 100644 --- a/build/contracts/StandardToken.json +++ b/build/contracts/StandardToken.json @@ -221,24 +221,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50611037806100206000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100f857806323b872dd1461012357806366188463146101a857806370a082311461020d578063a9059cbb14610264578063d73dd623146102c9578063dd62ed3e1461032e575b600080fd5b34801561009f57600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103a5565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b5061010d610497565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104a1565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085b565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b5061024e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aec565b6040518082815260200191505060405180910390f35b34801561027057600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b34565b604051808215151515815260200191505060405180910390f35b3480156102d557600080fd5b50610314600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d53565b604051808215151515815260200191505060405180910390f35b34801561033a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4f565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156104de57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561052b57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105b657600080fd5b610607826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061069a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061076b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561096c576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a00565b61097f8382610fd690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b7157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610bbe57600080fd5b610c0f826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ca2826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610de482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610fe457fe5b818303905092915050565b6000818301905082811015151561100257fe5b809050929150505600a165627a7a723058208f54b9ff1cb355bc6f40b8bc65e33d041ad5fd534aa8da587fb0b34ce720edcc0029", - "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100f857806323b872dd1461012357806366188463146101a857806370a082311461020d578063a9059cbb14610264578063d73dd623146102c9578063dd62ed3e1461032e575b600080fd5b34801561009f57600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103a5565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b5061010d610497565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104a1565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085b565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b5061024e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aec565b6040518082815260200191505060405180910390f35b34801561027057600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b34565b604051808215151515815260200191505060405180910390f35b3480156102d557600080fd5b50610314600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d53565b604051808215151515815260200191505060405180910390f35b34801561033a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4f565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156104de57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561052b57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105b657600080fd5b610607826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061069a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061076b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561096c576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a00565b61097f8382610fd690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b7157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610bbe57600080fd5b610c0f826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ca2826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610de482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610fe457fe5b818303905092915050565b6000818301905082811015151561100257fe5b809050929150505600a165627a7a723058208f54b9ff1cb355bc6f40b8bc65e33d041ad5fd534aa8da587fb0b34ce720edcc0029", - "sourceMap": "344:3679:42:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:3679:42;;;;;;;", - "deployedSourceMap": "344:3679:42:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:31;;;;;;;;;;;;;;;;;;;;;;;736:444:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3617:403;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;371:83:31:-;415:7;437:12;;430:19;;371:83;:::o;736:444:42:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;3617:403::-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:31:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;608:321::-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;2893:262:42:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b50611037806100206000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100f857806323b872dd1461012357806366188463146101a857806370a082311461020d578063a9059cbb14610264578063d73dd623146102c9578063dd62ed3e1461032e575b600080fd5b34801561009f57600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103a5565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b5061010d610497565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104a1565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085b565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b5061024e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aec565b6040518082815260200191505060405180910390f35b34801561027057600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b34565b604051808215151515815260200191505060405180910390f35b3480156102d557600080fd5b50610314600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d53565b604051808215151515815260200191505060405180910390f35b34801561033a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4f565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156104de57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561052b57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105b657600080fd5b610607826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061069a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061076b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561096c576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a00565b61097f8382610fd690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b7157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610bbe57600080fd5b610c0f826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ca2826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610de482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610fe457fe5b818303905092915050565b6000818301905082811015151561100257fe5b809050929150505600a165627a7a72305820ba243e0a8a47e7d10fcaee2d6b150d9daadba54c7077cbc413026c6e60f27df30029", + "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100f857806323b872dd1461012357806366188463146101a857806370a082311461020d578063a9059cbb14610264578063d73dd623146102c9578063dd62ed3e1461032e575b600080fd5b34801561009f57600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103a5565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b5061010d610497565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104a1565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085b565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b5061024e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aec565b6040518082815260200191505060405180910390f35b34801561027057600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b34565b604051808215151515815260200191505060405180910390f35b3480156102d557600080fd5b50610314600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d53565b604051808215151515815260200191505060405180910390f35b34801561033a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4f565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156104de57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561052b57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105b657600080fd5b610607826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061069a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061076b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561096c576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a00565b61097f8382610fd690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b7157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610bbe57600080fd5b610c0f826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ca2826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610de482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610fe457fe5b818303905092915050565b6000818301905082811015151561100257fe5b809050929150505600a165627a7a72305820ba243e0a8a47e7d10fcaee2d6b150d9daadba54c7077cbc413026c6e60f27df30029", + "sourceMap": "344:3679:44:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:3679:44;;;;;;;", + "deployedSourceMap": "344:3679:44:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:33;;;;;;;;;;;;;;;;;;;;;;;736:444:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3617:403;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;371:83:33:-;415:7;437:12;;430:19;;371:83;:::o;736:444:44:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;3617:403::-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:33:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;608:321::-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;2893:262:44:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"./BasicToken.sol\";\nimport \"./ERC20.sol\";\n\n\n/**\n * @title Standard ERC20 token\n *\n * @dev Implementation of the basic standard token.\n * @dev https://github.com/ethereum/EIPs/issues/20\n * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol\n */\ncontract StandardToken is ERC20, BasicToken {\n\n mapping (address => mapping (address => uint256)) internal allowed;\n\n\n /**\n * @dev Transfer tokens from one address to another\n * @param _from address The address which you want to send tokens from\n * @param _to address The address which you want to transfer to\n * @param _value uint256 the amount of tokens to be transferred\n */\n function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {\n require(_to != address(0));\n require(_value <= balances[_from]);\n require(_value <= allowed[_from][msg.sender]);\n\n balances[_from] = balances[_from].sub(_value);\n balances[_to] = balances[_to].add(_value);\n allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);\n emit Transfer(_from, _to, _value);\n return true;\n }\n\n /**\n * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n *\n * Beware that changing an allowance with this method brings the risk that someone may use both the old\n * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\n * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * @param _spender The address which will spend the funds.\n * @param _value The amount of tokens to be spent.\n */\n function approve(address _spender, uint256 _value) public returns (bool) {\n allowed[msg.sender][_spender] = _value;\n emit Approval(msg.sender, _spender, _value);\n return true;\n }\n\n /**\n * @dev Function to check the amount of tokens that an owner allowed to a spender.\n * @param _owner address The address which owns the funds.\n * @param _spender address The address which will spend the funds.\n * @return A uint256 specifying the amount of tokens still available for the spender.\n */\n function allowance(address _owner, address _spender) public view returns (uint256) {\n return allowed[_owner][_spender];\n }\n\n /**\n * @dev Increase the amount of tokens that an owner allowed to a spender.\n *\n * approve should be called when allowed[_spender] == 0. To increment\n * allowed value is better to use this function to avoid 2 calls (and wait until\n * the first transaction is mined)\n * From MonolithDAO Token.sol\n * @param _spender The address which will spend the funds.\n * @param _addedValue The amount of tokens to increase the allowance by.\n */\n function increaseApproval(address _spender, uint _addedValue) public returns (bool) {\n allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);\n emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);\n return true;\n }\n\n /**\n * @dev Decrease the amount of tokens that an owner allowed to a spender.\n *\n * approve should be called when allowed[_spender] == 0. To decrement\n * allowed value is better to use this function to avoid 2 calls (and wait until\n * the first transaction is mined)\n * From MonolithDAO Token.sol\n * @param _spender The address which will spend the funds.\n * @param _subtractedValue The amount of tokens to decrease the allowance by.\n */\n function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {\n uint oldValue = allowed[msg.sender][_spender];\n if (_subtractedValue > oldValue) {\n allowed[msg.sender][_spender] = 0;\n } else {\n allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);\n }\n emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);\n return true;\n }\n\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardToken.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardToken.sol", "exportedSymbols": { "StandardToken": [ - 3103 + 3151 ] }, - "id": 3104, + "id": 3152, "nodeType": "SourceUnit", "nodes": [ { - "id": 2859, + "id": 2907, "literals": [ "solidity", "^", @@ -246,27 +246,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:42" + "src": "0:24:44" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BasicToken.sol", "file": "./BasicToken.sol", - "id": 2860, + "id": 2908, "nodeType": "ImportDirective", - "scope": 3104, - "sourceUnit": 2216, - "src": "26:26:42", + "scope": 3152, + "sourceUnit": 2264, + "src": "26:26:44", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20.sol", "file": "./ERC20.sol", - "id": 2861, + "id": 2909, "nodeType": "ImportDirective", - "scope": 3104, - "sourceUnit": 2480, - "src": "53:21:42", + "scope": 3152, + "sourceUnit": 2528, + "src": "53:21:44", "symbolAliases": [], "unitAlias": "" }, @@ -276,64 +276,64 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2862, + "id": 2910, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "370:5:42", + "referencedDeclaration": 2527, + "src": "370:5:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 2863, + "id": 2911, "nodeType": "InheritanceSpecifier", - "src": "370:5:42" + "src": "370:5:44" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2864, + "id": 2912, "name": "BasicToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2215, - "src": "377:10:42", + "referencedDeclaration": 2263, + "src": "377:10:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_BasicToken_$2215", + "typeIdentifier": "t_contract$_BasicToken_$2263", "typeString": "contract BasicToken" } }, - "id": 2865, + "id": 2913, "nodeType": "InheritanceSpecifier", - "src": "377:10:42" + "src": "377:10:44" } ], "contractDependencies": [ - 2215, - 2479, - 2511 + 2263, + 2527, + 2559 ], "contractKind": "contract", "documentation": "@title Standard ERC20 token\n * @dev Implementation of the basic standard token.\n@dev https://github.com/ethereum/EIPs/issues/20\n@dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol", "fullyImplemented": true, - "id": 3103, + "id": 3151, "linearizedBaseContracts": [ - 3103, - 2215, - 2479, - 2511 + 3151, + 2263, + 2527, + 2559 ], "name": "StandardToken", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 2871, + "id": 2919, "name": "allowed", "nodeType": "VariableDeclaration", - "scope": 3103, - "src": "393:66:42", + "scope": 3151, + "src": "393:66:44", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -341,46 +341,46 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 2870, + "id": 2918, "keyType": { - "id": 2866, + "id": 2914, "name": "address", "nodeType": "ElementaryTypeName", - "src": "402:7:42", + "src": "402:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "393:49:42", + "src": "393:49:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 2869, + "id": 2917, "keyType": { - "id": 2867, + "id": 2915, "name": "address", "nodeType": "ElementaryTypeName", - "src": "422:7:42", + "src": "422:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "413:28:42", + "src": "413:28:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 2868, + "id": 2916, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "433:7:42", + "src": "433:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -393,9 +393,9 @@ }, { "body": { - "id": 2956, + "id": 3004, "nodeType": "Block", - "src": "824:356:42", + "src": "824:356:44", "statements": [ { "expression": { @@ -407,19 +407,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2887, + "id": 2935, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2883, + "id": 2931, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2875, - "src": "838:3:42", + "referencedDeclaration": 2923, + "src": "838:3:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -433,14 +433,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2885, + "id": 2933, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "853:1:42", + "src": "853:1:44", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -456,20 +456,20 @@ "typeString": "int_const 0" } ], - "id": 2884, + "id": 2932, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "845:7:42", + "src": "845:7:44", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 2886, + "id": 2934, "isConstant": false, "isLValue": false, "isPure": true, @@ -477,13 +477,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "845:10:42", + "src": "845:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "838:17:42", + "src": "838:17:44", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -497,21 +497,21 @@ "typeString": "bool" } ], - "id": 2882, + "id": 2930, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "830:7:42", + "referencedDeclaration": 4882, + "src": "830:7:44", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2888, + "id": 2936, "isConstant": false, "isLValue": false, "isPure": false, @@ -519,15 +519,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "830:26:42", + "src": "830:26:44", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2889, + "id": 2937, "nodeType": "ExpressionStatement", - "src": "830:26:42" + "src": "830:26:44" }, { "expression": { @@ -539,19 +539,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2895, + "id": 2943, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2891, + "id": 2939, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2877, - "src": "870:6:42", + "referencedDeclaration": 2925, + "src": "870:6:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -563,705 +563,12 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2892, + "id": 2940, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "880:8:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2894, - "indexExpression": { - "argumentTypes": null, - "id": 2893, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "889:5:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "880:15:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "870:25:42", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2890, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4787, - 4788 - ], - "referencedDeclaration": 4787, - "src": "862:7:42", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "862:34:42", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2897, - "nodeType": "ExpressionStatement", - "src": "862:34:42" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2899, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2877, - "src": "910:6:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2900, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "920:7:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2902, - "indexExpression": { - "argumentTypes": null, - "id": 2901, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "928:5:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "920:14:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2905, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2903, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "935:3:42", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "935:10:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "920:26:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "910:36:42", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2898, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4787, - 4788 - ], - "referencedDeclaration": 4787, - "src": "902:7:42", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "902:45:42", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2908, - "nodeType": "ExpressionStatement", - "src": "902:45:42" - }, - { - "expression": { - "argumentTypes": null, - "id": 2918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2909, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "954:8:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2911, - "indexExpression": { - "argumentTypes": null, - "id": 2910, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "963:5:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "954:15:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2916, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2877, - "src": "992:6:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2912, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "972:8:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2914, - "indexExpression": { - "argumentTypes": null, - "id": 2913, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "981:5:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "972:15:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "972:19:42", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "972:27:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "954:45:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2919, - "nodeType": "ExpressionStatement", - "src": "954:45:42" - }, - { - "expression": { - "argumentTypes": null, - "id": 2929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2920, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "1005:8:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2922, - "indexExpression": { - "argumentTypes": null, - "id": 2921, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2875, - "src": "1014:3:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1005:13:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2927, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2877, - "src": "1039:6:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2923, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "1021:8:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2925, - "indexExpression": { - "argumentTypes": null, - "id": 2924, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2875, - "src": "1030:3:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1021:13:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1021:17:42", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1021:25:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1005:41:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2930, - "nodeType": "ExpressionStatement", - "src": "1005:41:42" - }, - { - "expression": { - "argumentTypes": null, - "id": 2946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2931, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "1052:7:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2935, - "indexExpression": { - "argumentTypes": null, - "id": 2932, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "1060:5:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1052:14:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2936, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2933, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "1067:3:42", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1067:10:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1052:26:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2944, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2877, - "src": "1112:6:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2937, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "1081:7:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2939, - "indexExpression": { - "argumentTypes": null, - "id": 2938, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "1089:5:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1081:14:42", + "referencedDeclaration": 2180, + "src": "880:8:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -1270,28 +577,12 @@ "id": 2942, "indexExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2940, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "1096:3:42", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, "id": 2941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1096:10:42", + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2921, + "src": "889:5:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1302,121 +593,41 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1081:26:42", + "src": "880:15:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "1081:30:42", + "src": "870:25:44", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1081:38:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1052:67:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2947, - "nodeType": "ExpressionStatement", - "src": "1052:67:42" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2949, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "1139:5:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2950, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2875, - "src": "1146:3:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2951, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2877, - "src": "1151:6:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } ], - "id": 2948, - "name": "Transfer", + "id": 2938, + "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2510, - "src": "1130:8:42", + "overloadedDeclarations": [ + 4882, + 4883 + ], + "referencedDeclaration": 4882, + "src": "862:7:44", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" } }, - "id": 2952, + "id": 2944, "isConstant": false, "isLValue": false, "isPure": false, @@ -1424,185 +635,179 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1130:28:42", + "src": "862:34:44", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2953, - "nodeType": "EmitStatement", - "src": "1125:33:42" + "id": 2945, + "nodeType": "ExpressionStatement", + "src": "862:34:44" }, { "expression": { "argumentTypes": null, - "hexValue": "74727565", - "id": 2954, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2947, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2925, + "src": "910:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2948, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2919, + "src": "920:7:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 2950, + "indexExpression": { + "argumentTypes": null, + "id": 2949, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2921, + "src": "928:5:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "920:14:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2953, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2951, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4879, + "src": "935:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "935:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "920:26:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "910:36:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2946, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4882, + 4883 + ], + "referencedDeclaration": 4882, + "src": "902:7:44", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2955, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "bool", + "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Literal", - "src": "1171:4:42", - "subdenomination": null, + "names": [], + "nodeType": "FunctionCall", + "src": "902:45:44", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2881, - "id": 2955, - "nodeType": "Return", - "src": "1164:11:42" - } - ] - }, - "documentation": "@dev Transfer tokens from one address to another\n@param _from address The address which you want to send tokens from\n@param _to address The address which you want to transfer to\n@param _value uint256 the amount of tokens to be transferred", - "id": 2957, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2873, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "758:13:42", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "758:7:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "value": null, - "visibility": "internal" + "id": 2956, + "nodeType": "ExpressionStatement", + "src": "902:45:44" }, - { - "constant": false, - "id": 2875, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "773:11:42", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "773:7:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2877, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "786:14:42", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "786:7:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "757:44:42" - }, - "payable": false, - "returnParameters": { - "id": 2881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2880, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "818:4:42", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "818:4:42", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "817:6:42" - }, - "scope": 3103, - "src": "736:444:42", - "stateMutability": "nonpayable", - "superFunction": 2461, - "visibility": "public" - }, - { - "body": { - "id": 2984, - "nodeType": "Block", - "src": "1876:115:42", - "statements": [ { "expression": { "argumentTypes": null, - "id": 2973, + "id": 2966, "isConstant": false, "isLValue": false, "isPure": false, @@ -1611,69 +816,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2966, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "1882:7:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2970, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2967, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "1890:3:42", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1890:10:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1882:19:42", + "id": 2957, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2180, + "src": "954:8:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2971, + "id": 2959, "indexExpression": { "argumentTypes": null, - "id": 2969, - "name": "_spender", + "id": 2958, + "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2959, - "src": "1902:8:42", + "referencedDeclaration": 2921, + "src": "963:5:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1684,7 +846,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1882:29:42", + "src": "954:15:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1694,47 +856,325 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2972, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2961, - "src": "1914:6:42", + "arguments": [ + { + "argumentTypes": null, + "id": 2964, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2925, + "src": "992:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2960, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2180, + "src": "972:8:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2962, + "indexExpression": { + "argumentTypes": null, + "id": 2961, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2921, + "src": "981:5:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "972:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 554, + "src": "972:19:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "972:27:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1882:38:42", + "src": "954:45:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2974, + "id": 2967, "nodeType": "ExpressionStatement", - "src": "1882:38:42" + "src": "954:45:44" }, { - "eventCall": { + "expression": { "argumentTypes": null, - "arguments": [ - { + "id": 2977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2968, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2180, + "src": "1005:8:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2970, + "indexExpression": { + "argumentTypes": null, + "id": 2969, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "1014:3:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1005:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2975, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2925, + "src": "1039:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2971, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2180, + "src": "1021:8:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2973, + "indexExpression": { + "argumentTypes": null, + "id": 2972, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "1030:3:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1021:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 578, + "src": "1021:17:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1021:25:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1005:41:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2978, + "nodeType": "ExpressionStatement", + "src": "1005:41:44" + }, + { + "expression": { + "argumentTypes": null, + "id": 2994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2979, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2919, + "src": "1052:7:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 2983, + "indexExpression": { + "argumentTypes": null, + "id": 2980, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2921, + "src": "1060:5:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1052:14:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2984, + "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2976, + "id": 2981, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "1940:3:42", + "referencedDeclaration": 4879, + "src": "1067:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2977, + "id": 2982, "isConstant": false, "isLValue": false, "isPure": false, @@ -1742,20 +1182,182 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1940:10:42", + "src": "1067:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1052:26:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2992, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2925, + "src": "1112:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2985, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2919, + "src": "1081:7:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 2987, + "indexExpression": { + "argumentTypes": null, + "id": 2986, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2921, + "src": "1089:5:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1081:14:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2990, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2988, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4879, + "src": "1096:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1096:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1081:26:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 554, + "src": "1081:30:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1081:38:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1052:67:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2995, + "nodeType": "ExpressionStatement", + "src": "1052:67:44" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ { "argumentTypes": null, - "id": 2978, - "name": "_spender", + "id": 2997, + "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2959, - "src": "1952:8:42", + "referencedDeclaration": 2921, + "src": "1139:5:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1763,12 +1365,25 @@ }, { "argumentTypes": null, - "id": 2979, + "id": 2998, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "1146:3:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2999, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2961, - "src": "1962:6:42", + "referencedDeclaration": 2925, + "src": "1151:6:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1790,18 +1405,18 @@ "typeString": "uint256" } ], - "id": 2975, - "name": "Approval", + "id": 2996, + "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2478, - "src": "1931:8:42", + "referencedDeclaration": 2558, + "src": "1130:8:44", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2980, + "id": 3000, "isConstant": false, "isLValue": false, "isPure": false, @@ -1809,28 +1424,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1931:38:42", + "src": "1130:28:44", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2981, + "id": 3001, "nodeType": "EmitStatement", - "src": "1926:43:42" + "src": "1125:33:44" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 2982, + "id": 3002, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1982:4:42", + "src": "1171:4:44", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1838,32 +1453,32 @@ }, "value": "true" }, - "functionReturnParameters": 2965, - "id": 2983, + "functionReturnParameters": 2929, + "id": 3003, "nodeType": "Return", - "src": "1975:11:42" + "src": "1164:11:44" } ] }, - "documentation": "@dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n * Beware that changing an allowance with this method brings the risk that someone may use both the old\nand the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\nrace condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n@param _spender The address which will spend the funds.\n@param _value The amount of tokens to be spent.", - "id": 2985, + "documentation": "@dev Transfer tokens from one address to another\n@param _from address The address which you want to send tokens from\n@param _to address The address which you want to transfer to\n@param _value uint256 the amount of tokens to be transferred", + "id": 3005, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], - "name": "approve", + "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 2962, + "id": 2926, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2959, - "name": "_spender", + "id": 2921, + "name": "_from", "nodeType": "VariableDeclaration", - "scope": 2985, - "src": "1820:16:42", + "scope": 3005, + "src": "758:13:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1871,10 +1486,10 @@ "typeString": "address" }, "typeName": { - "id": 2958, + "id": 2920, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1820:7:42", + "src": "758:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1885,11 +1500,37 @@ }, { "constant": false, - "id": 2961, + "id": 2923, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 3005, + "src": "773:11:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2922, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "773:7:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2925, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2985, - "src": "1838:14:42", + "scope": 3005, + "src": "786:14:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1897,10 +1538,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2960, + "id": 2924, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1838:7:42", + "src": "786:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1910,20 +1551,20 @@ "visibility": "internal" } ], - "src": "1819:34:42" + "src": "757:44:44" }, "payable": false, "returnParameters": { - "id": 2965, + "id": 2929, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2964, + "id": 2928, "name": "", "nodeType": "VariableDeclaration", - "scope": 2985, - "src": "1870:4:42", + "scope": 3005, + "src": "818:4:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1931,10 +1572,10 @@ "typeString": "bool" }, "typeName": { - "id": 2963, + "id": 2927, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1870:4:42", + "src": "818:4:44", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1944,19 +1585,378 @@ "visibility": "internal" } ], - "src": "1869:6:42" + "src": "817:6:44" }, - "scope": 3103, - "src": "1803:188:42", + "scope": 3151, + "src": "736:444:44", "stateMutability": "nonpayable", - "superFunction": 2470, + "superFunction": 2509, "visibility": "public" }, { "body": { - "id": 3000, + "id": 3032, "nodeType": "Block", - "src": "2393:43:42", + "src": "1876:115:44", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3014, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2919, + "src": "1882:7:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3018, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3015, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4879, + "src": "1890:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1890:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1882:19:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3019, + "indexExpression": { + "argumentTypes": null, + "id": 3017, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3007, + "src": "1902:8:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1882:29:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3020, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3009, + "src": "1914:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1882:38:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3022, + "nodeType": "ExpressionStatement", + "src": "1882:38:44" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3024, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4879, + "src": "1940:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1940:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3026, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3007, + "src": "1952:8:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3027, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3009, + "src": "1962:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3023, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2526, + "src": "1931:8:44", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 3028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1931:38:44", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3029, + "nodeType": "EmitStatement", + "src": "1926:43:44" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3030, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1982:4:44", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3013, + "id": 3031, + "nodeType": "Return", + "src": "1975:11:44" + } + ] + }, + "documentation": "@dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n * Beware that changing an allowance with this method brings the risk that someone may use both the old\nand the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\nrace condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n@param _spender The address which will spend the funds.\n@param _value The amount of tokens to be spent.", + "id": 3033, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3010, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3007, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 3033, + "src": "1820:16:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3006, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1820:7:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3009, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 3033, + "src": "1838:14:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3008, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1838:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1819:34:44" + }, + "payable": false, + "returnParameters": { + "id": 3013, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3012, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3033, + "src": "1870:4:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3011, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1870:4:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1869:6:44" + }, + "scope": 3151, + "src": "1803:188:44", + "stateMutability": "nonpayable", + "superFunction": 2518, + "visibility": "public" + }, + { + "body": { + "id": 3048, + "nodeType": "Block", + "src": "2393:43:44", "statements": [ { "expression": { @@ -1965,26 +1965,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2994, + "id": 3042, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "2406:7:42", + "referencedDeclaration": 2919, + "src": "2406:7:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 2996, + "id": 3044, "indexExpression": { "argumentTypes": null, - "id": 2995, + "id": 3043, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2987, - "src": "2414:6:42", + "referencedDeclaration": 3035, + "src": "2414:6:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1995,21 +1995,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2406:15:42", + "src": "2406:15:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2998, + "id": 3046, "indexExpression": { "argumentTypes": null, - "id": 2997, + "id": 3045, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2989, - "src": "2422:8:42", + "referencedDeclaration": 3037, + "src": "2422:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2020,21 +2020,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2406:25:42", + "src": "2406:25:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2993, - "id": 2999, + "functionReturnParameters": 3041, + "id": 3047, "nodeType": "Return", - "src": "2399:32:42" + "src": "2399:32:44" } ] }, "documentation": "@dev Function to check the amount of tokens that an owner allowed to a spender.\n@param _owner address The address which owns the funds.\n@param _spender address The address which will spend the funds.\n@return A uint256 specifying the amount of tokens still available for the spender.", - "id": 3001, + "id": 3049, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2042,16 +2042,16 @@ "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 2990, + "id": 3038, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2987, + "id": 3035, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 3001, - "src": "2329:14:42", + "scope": 3049, + "src": "2329:14:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2059,10 +2059,10 @@ "typeString": "address" }, "typeName": { - "id": 2986, + "id": 3034, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2329:7:42", + "src": "2329:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2073,11 +2073,11 @@ }, { "constant": false, - "id": 2989, + "id": 3037, "name": "_spender", "nodeType": "VariableDeclaration", - "scope": 3001, - "src": "2345:16:42", + "scope": 3049, + "src": "2345:16:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2085,10 +2085,10 @@ "typeString": "address" }, "typeName": { - "id": 2988, + "id": 3036, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2345:7:42", + "src": "2345:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2098,20 +2098,20 @@ "visibility": "internal" } ], - "src": "2328:34:42" + "src": "2328:34:44" }, "payable": false, "returnParameters": { - "id": 2993, + "id": 3041, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2992, + "id": 3040, "name": "", "nodeType": "VariableDeclaration", - "scope": 3001, - "src": "2384:7:42", + "scope": 3049, + "src": "2384:7:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2119,10 +2119,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2991, + "id": 3039, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2384:7:42", + "src": "2384:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2132,24 +2132,24 @@ "visibility": "internal" } ], - "src": "2383:9:42" + "src": "2383:9:44" }, - "scope": 3103, - "src": "2310:126:42", + "scope": 3151, + "src": "2310:126:44", "stateMutability": "view", - "superFunction": 2450, + "superFunction": 2498, "visibility": "public" }, { "body": { - "id": 3041, + "id": 3089, "nodeType": "Block", - "src": "2977:178:42", + "src": "2977:178:44", "statements": [ { "expression": { "argumentTypes": null, - "id": 3025, + "id": 3073, "isConstant": false, "isLValue": false, "isPure": false, @@ -2160,34 +2160,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3010, + "id": 3058, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "2983:7:42", + "referencedDeclaration": 2919, + "src": "2983:7:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 3014, + "id": 3062, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3011, + "id": 3059, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "2991:3:42", + "referencedDeclaration": 4879, + "src": "2991:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3012, + "id": 3060, "isConstant": false, "isLValue": false, "isPure": false, @@ -2195,7 +2195,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2991:10:42", + "src": "2991:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2206,21 +2206,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2983:19:42", + "src": "2983:19:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3015, + "id": 3063, "indexExpression": { "argumentTypes": null, - "id": 3013, + "id": 3061, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3003, - "src": "3003:8:42", + "referencedDeclaration": 3051, + "src": "3003:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2231,7 +2231,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2983:29:42", + "src": "2983:29:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2244,12 +2244,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3023, + "id": 3071, "name": "_addedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "3049:11:42", + "referencedDeclaration": 3053, + "src": "3049:11:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2269,34 +2269,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3016, + "id": 3064, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "3015:7:42", + "referencedDeclaration": 2919, + "src": "3015:7:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 3019, + "id": 3067, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3017, + "id": 3065, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "3023:3:42", + "referencedDeclaration": 4879, + "src": "3023:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3018, + "id": 3066, "isConstant": false, "isLValue": false, "isPure": false, @@ -2304,7 +2304,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3023:10:42", + "src": "3023:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2315,21 +2315,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3015:19:42", + "src": "3015:19:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3021, + "id": 3069, "indexExpression": { "argumentTypes": null, - "id": 3020, + "id": 3068, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3003, - "src": "3035:8:42", + "referencedDeclaration": 3051, + "src": "3035:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2340,27 +2340,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3015:29:42", + "src": "3015:29:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3022, + "id": 3070, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "3015:33:42", + "referencedDeclaration": 578, + "src": "3015:33:44", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3024, + "id": 3072, "isConstant": false, "isLValue": false, "isPure": false, @@ -2368,21 +2368,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3015:46:42", + "src": "3015:46:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2983:78:42", + "src": "2983:78:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3026, + "id": 3074, "nodeType": "ExpressionStatement", - "src": "2983:78:42" + "src": "2983:78:44" }, { "eventCall": { @@ -2392,18 +2392,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3028, + "id": 3076, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "3081:3:42", + "referencedDeclaration": 4879, + "src": "3081:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3029, + "id": 3077, "isConstant": false, "isLValue": false, "isPure": false, @@ -2411,7 +2411,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3081:10:42", + "src": "3081:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2419,12 +2419,12 @@ }, { "argumentTypes": null, - "id": 3030, + "id": 3078, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3003, - "src": "3093:8:42", + "referencedDeclaration": 3051, + "src": "3093:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2436,34 +2436,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3031, + "id": 3079, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "3103:7:42", + "referencedDeclaration": 2919, + "src": "3103:7:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 3034, + "id": 3082, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3032, + "id": 3080, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "3111:3:42", + "referencedDeclaration": 4879, + "src": "3111:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3033, + "id": 3081, "isConstant": false, "isLValue": false, "isPure": false, @@ -2471,7 +2471,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3111:10:42", + "src": "3111:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2482,21 +2482,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3103:19:42", + "src": "3103:19:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3036, + "id": 3084, "indexExpression": { "argumentTypes": null, - "id": 3035, + "id": 3083, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3003, - "src": "3123:8:42", + "referencedDeclaration": 3051, + "src": "3123:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2507,7 +2507,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3103:29:42", + "src": "3103:29:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2529,18 +2529,18 @@ "typeString": "uint256" } ], - "id": 3027, + "id": 3075, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2478, - "src": "3072:8:42", + "referencedDeclaration": 2526, + "src": "3072:8:44", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 3037, + "id": 3085, "isConstant": false, "isLValue": false, "isPure": false, @@ -2548,28 +2548,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3072:61:42", + "src": "3072:61:44", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3038, + "id": 3086, "nodeType": "EmitStatement", - "src": "3067:66:42" + "src": "3067:66:44" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 3039, + "id": 3087, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3146:4:42", + "src": "3146:4:44", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2577,15 +2577,15 @@ }, "value": "true" }, - "functionReturnParameters": 3009, - "id": 3040, + "functionReturnParameters": 3057, + "id": 3088, "nodeType": "Return", - "src": "3139:11:42" + "src": "3139:11:44" } ] }, "documentation": "@dev Increase the amount of tokens that an owner allowed to a spender.\n * approve should be called when allowed[_spender] == 0. To increment\nallowed value is better to use this function to avoid 2 calls (and wait until\nthe first transaction is mined)\nFrom MonolithDAO Token.sol\n@param _spender The address which will spend the funds.\n@param _addedValue The amount of tokens to increase the allowance by.", - "id": 3042, + "id": 3090, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2593,16 +2593,16 @@ "name": "increaseApproval", "nodeType": "FunctionDefinition", "parameters": { - "id": 3006, + "id": 3054, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3003, + "id": 3051, "name": "_spender", "nodeType": "VariableDeclaration", - "scope": 3042, - "src": "2919:16:42", + "scope": 3090, + "src": "2919:16:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2610,10 +2610,10 @@ "typeString": "address" }, "typeName": { - "id": 3002, + "id": 3050, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2919:7:42", + "src": "2919:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2624,11 +2624,11 @@ }, { "constant": false, - "id": 3005, + "id": 3053, "name": "_addedValue", "nodeType": "VariableDeclaration", - "scope": 3042, - "src": "2937:16:42", + "scope": 3090, + "src": "2937:16:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2636,10 +2636,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3004, + "id": 3052, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2937:4:42", + "src": "2937:4:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2649,20 +2649,20 @@ "visibility": "internal" } ], - "src": "2918:36:42" + "src": "2918:36:44" }, "payable": false, "returnParameters": { - "id": 3009, + "id": 3057, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3008, + "id": 3056, "name": "", "nodeType": "VariableDeclaration", - "scope": 3042, - "src": "2971:4:42", + "scope": 3090, + "src": "2971:4:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2670,10 +2670,10 @@ "typeString": "bool" }, "typeName": { - "id": 3007, + "id": 3055, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2971:4:42", + "src": "2971:4:44", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2683,32 +2683,32 @@ "visibility": "internal" } ], - "src": "2970:6:42" + "src": "2970:6:44" }, - "scope": 3103, - "src": "2893:262:42", + "scope": 3151, + "src": "2893:262:44", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 3101, + "id": 3149, "nodeType": "Block", - "src": "3706:314:42", + "src": "3706:314:44", "statements": [ { "assignments": [ - 3052 + 3100 ], "declarations": [ { "constant": false, - "id": 3052, + "id": 3100, "name": "oldValue", "nodeType": "VariableDeclaration", - "scope": 3102, - "src": "3712:13:42", + "scope": 3150, + "src": "3712:13:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2716,10 +2716,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3051, + "id": 3099, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3712:4:42", + "src": "3712:4:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2729,41 +2729,41 @@ "visibility": "internal" } ], - "id": 3059, + "id": 3107, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3053, + "id": 3101, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "3728:7:42", + "referencedDeclaration": 2919, + "src": "3728:7:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 3056, + "id": 3104, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3054, + "id": 3102, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "3736:3:42", + "referencedDeclaration": 4879, + "src": "3736:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3055, + "id": 3103, "isConstant": false, "isLValue": false, "isPure": false, @@ -2771,7 +2771,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3736:10:42", + "src": "3736:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2782,21 +2782,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3728:19:42", + "src": "3728:19:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3058, + "id": 3106, "indexExpression": { "argumentTypes": null, - "id": 3057, + "id": 3105, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3044, - "src": "3748:8:42", + "referencedDeclaration": 3092, + "src": "3748:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2807,14 +2807,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3728:29:42", + "src": "3728:29:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3712:45:42" + "src": "3712:45:44" }, { "condition": { @@ -2823,19 +2823,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3062, + "id": 3110, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3060, + "id": 3108, "name": "_subtractedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3046, - "src": "3767:16:42", + "referencedDeclaration": 3094, + "src": "3767:16:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2845,32 +2845,32 @@ "operator": ">", "rightExpression": { "argumentTypes": null, - "id": 3061, + "id": 3109, "name": "oldValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3052, - "src": "3786:8:42", + "referencedDeclaration": 3100, + "src": "3786:8:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3767:27:42", + "src": "3767:27:44", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 3085, + "id": 3133, "nodeType": "Block", - "src": "3850:77:42", + "src": "3850:77:44", "statements": [ { "expression": { "argumentTypes": null, - "id": 3083, + "id": 3131, "isConstant": false, "isLValue": false, "isPure": false, @@ -2881,34 +2881,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3073, + "id": 3121, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "3858:7:42", + "referencedDeclaration": 2919, + "src": "3858:7:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 3077, + "id": 3125, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3074, + "id": 3122, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "3866:3:42", + "referencedDeclaration": 4879, + "src": "3866:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3075, + "id": 3123, "isConstant": false, "isLValue": false, "isPure": false, @@ -2916,7 +2916,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3866:10:42", + "src": "3866:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2927,21 +2927,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3858:19:42", + "src": "3858:19:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3078, + "id": 3126, "indexExpression": { "argumentTypes": null, - "id": 3076, + "id": 3124, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3044, - "src": "3878:8:42", + "referencedDeclaration": 3092, + "src": "3878:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2952,7 +2952,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3858:29:42", + "src": "3858:29:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2965,12 +2965,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3081, + "id": 3129, "name": "_subtractedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3046, - "src": "3903:16:42", + "referencedDeclaration": 3094, + "src": "3903:16:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2986,32 +2986,32 @@ ], "expression": { "argumentTypes": null, - "id": 3079, + "id": 3127, "name": "oldValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3052, - "src": "3890:8:42", + "referencedDeclaration": 3100, + "src": "3890:8:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3080, + "id": 3128, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "3890:12:42", + "referencedDeclaration": 554, + "src": "3890:12:44", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3082, + "id": 3130, "isConstant": false, "isLValue": false, "isPure": false, @@ -3019,36 +3019,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3890:30:42", + "src": "3890:30:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3858:62:42", + "src": "3858:62:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3084, + "id": 3132, "nodeType": "ExpressionStatement", - "src": "3858:62:42" + "src": "3858:62:44" } ] }, - "id": 3086, + "id": 3134, "nodeType": "IfStatement", - "src": "3763:164:42", + "src": "3763:164:44", "trueBody": { - "id": 3072, + "id": 3120, "nodeType": "Block", - "src": "3796:48:42", + "src": "3796:48:44", "statements": [ { "expression": { "argumentTypes": null, - "id": 3070, + "id": 3118, "isConstant": false, "isLValue": false, "isPure": false, @@ -3059,34 +3059,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3063, + "id": 3111, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "3804:7:42", + "referencedDeclaration": 2919, + "src": "3804:7:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 3067, + "id": 3115, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3064, + "id": 3112, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "3812:3:42", + "referencedDeclaration": 4879, + "src": "3812:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3065, + "id": 3113, "isConstant": false, "isLValue": false, "isPure": false, @@ -3094,7 +3094,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3812:10:42", + "src": "3812:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3105,21 +3105,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3804:19:42", + "src": "3804:19:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3068, + "id": 3116, "indexExpression": { "argumentTypes": null, - "id": 3066, + "id": 3114, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3044, - "src": "3824:8:42", + "referencedDeclaration": 3092, + "src": "3824:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3130,7 +3130,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3804:29:42", + "src": "3804:29:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3141,14 +3141,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 3069, + "id": 3117, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3836:1:42", + "src": "3836:1:44", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3156,15 +3156,15 @@ }, "value": "0" }, - "src": "3804:33:42", + "src": "3804:33:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3071, + "id": 3119, "nodeType": "ExpressionStatement", - "src": "3804:33:42" + "src": "3804:33:44" } ] } @@ -3177,18 +3177,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3088, + "id": 3136, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "3946:3:42", + "referencedDeclaration": 4879, + "src": "3946:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3089, + "id": 3137, "isConstant": false, "isLValue": false, "isPure": false, @@ -3196,7 +3196,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3946:10:42", + "src": "3946:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3204,12 +3204,12 @@ }, { "argumentTypes": null, - "id": 3090, + "id": 3138, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3044, - "src": "3958:8:42", + "referencedDeclaration": 3092, + "src": "3958:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3221,34 +3221,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3091, + "id": 3139, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "3968:7:42", + "referencedDeclaration": 2919, + "src": "3968:7:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 3094, + "id": 3142, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3092, + "id": 3140, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "3976:3:42", + "referencedDeclaration": 4879, + "src": "3976:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3093, + "id": 3141, "isConstant": false, "isLValue": false, "isPure": false, @@ -3256,7 +3256,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3976:10:42", + "src": "3976:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3267,21 +3267,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3968:19:42", + "src": "3968:19:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3096, + "id": 3144, "indexExpression": { "argumentTypes": null, - "id": 3095, + "id": 3143, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3044, - "src": "3988:8:42", + "referencedDeclaration": 3092, + "src": "3988:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3292,7 +3292,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3968:29:42", + "src": "3968:29:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3314,18 +3314,18 @@ "typeString": "uint256" } ], - "id": 3087, + "id": 3135, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2478, - "src": "3937:8:42", + "referencedDeclaration": 2526, + "src": "3937:8:44", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 3097, + "id": 3145, "isConstant": false, "isLValue": false, "isPure": false, @@ -3333,28 +3333,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3937:61:42", + "src": "3937:61:44", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3098, + "id": 3146, "nodeType": "EmitStatement", - "src": "3932:66:42" + "src": "3932:66:44" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 3099, + "id": 3147, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4011:4:42", + "src": "4011:4:44", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3362,15 +3362,15 @@ }, "value": "true" }, - "functionReturnParameters": 3050, - "id": 3100, + "functionReturnParameters": 3098, + "id": 3148, "nodeType": "Return", - "src": "4004:11:42" + "src": "4004:11:44" } ] }, "documentation": "@dev Decrease the amount of tokens that an owner allowed to a spender.\n * approve should be called when allowed[_spender] == 0. To decrement\nallowed value is better to use this function to avoid 2 calls (and wait until\nthe first transaction is mined)\nFrom MonolithDAO Token.sol\n@param _spender The address which will spend the funds.\n@param _subtractedValue The amount of tokens to decrease the allowance by.", - "id": 3102, + "id": 3150, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -3378,16 +3378,16 @@ "name": "decreaseApproval", "nodeType": "FunctionDefinition", "parameters": { - "id": 3047, + "id": 3095, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3044, + "id": 3092, "name": "_spender", "nodeType": "VariableDeclaration", - "scope": 3102, - "src": "3643:16:42", + "scope": 3150, + "src": "3643:16:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3395,10 +3395,10 @@ "typeString": "address" }, "typeName": { - "id": 3043, + "id": 3091, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3643:7:42", + "src": "3643:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3409,11 +3409,11 @@ }, { "constant": false, - "id": 3046, + "id": 3094, "name": "_subtractedValue", "nodeType": "VariableDeclaration", - "scope": 3102, - "src": "3661:21:42", + "scope": 3150, + "src": "3661:21:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3421,10 +3421,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3045, + "id": 3093, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3661:4:42", + "src": "3661:4:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3434,20 +3434,20 @@ "visibility": "internal" } ], - "src": "3642:41:42" + "src": "3642:41:44" }, "payable": false, "returnParameters": { - "id": 3050, + "id": 3098, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3049, + "id": 3097, "name": "", "nodeType": "VariableDeclaration", - "scope": 3102, - "src": "3700:4:42", + "scope": 3150, + "src": "3700:4:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3455,10 +3455,10 @@ "typeString": "bool" }, "typeName": { - "id": 3048, + "id": 3096, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3700:4:42", + "src": "3700:4:44", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3468,33 +3468,33 @@ "visibility": "internal" } ], - "src": "3699:6:42" + "src": "3699:6:44" }, - "scope": 3103, - "src": "3617:403:42", + "scope": 3151, + "src": "3617:403:44", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 3104, - "src": "344:3679:42" + "scope": 3152, + "src": "344:3679:44" } ], - "src": "0:4024:42" + "src": "0:4024:44" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardToken.sol", "exportedSymbols": { "StandardToken": [ - 3103 + 3151 ] }, - "id": 3104, + "id": 3152, "nodeType": "SourceUnit", "nodes": [ { - "id": 2859, + "id": 2907, "literals": [ "solidity", "^", @@ -3502,27 +3502,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:42" + "src": "0:24:44" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BasicToken.sol", "file": "./BasicToken.sol", - "id": 2860, + "id": 2908, "nodeType": "ImportDirective", - "scope": 3104, - "sourceUnit": 2216, - "src": "26:26:42", + "scope": 3152, + "sourceUnit": 2264, + "src": "26:26:44", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20.sol", "file": "./ERC20.sol", - "id": 2861, + "id": 2909, "nodeType": "ImportDirective", - "scope": 3104, - "sourceUnit": 2480, - "src": "53:21:42", + "scope": 3152, + "sourceUnit": 2528, + "src": "53:21:44", "symbolAliases": [], "unitAlias": "" }, @@ -3532,64 +3532,64 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2862, + "id": 2910, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2479, - "src": "370:5:42", + "referencedDeclaration": 2527, + "src": "370:5:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2479", + "typeIdentifier": "t_contract$_ERC20_$2527", "typeString": "contract ERC20" } }, - "id": 2863, + "id": 2911, "nodeType": "InheritanceSpecifier", - "src": "370:5:42" + "src": "370:5:44" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 2864, + "id": 2912, "name": "BasicToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2215, - "src": "377:10:42", + "referencedDeclaration": 2263, + "src": "377:10:44", "typeDescriptions": { - "typeIdentifier": "t_contract$_BasicToken_$2215", + "typeIdentifier": "t_contract$_BasicToken_$2263", "typeString": "contract BasicToken" } }, - "id": 2865, + "id": 2913, "nodeType": "InheritanceSpecifier", - "src": "377:10:42" + "src": "377:10:44" } ], "contractDependencies": [ - 2215, - 2479, - 2511 + 2263, + 2527, + 2559 ], "contractKind": "contract", "documentation": "@title Standard ERC20 token\n * @dev Implementation of the basic standard token.\n@dev https://github.com/ethereum/EIPs/issues/20\n@dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol", "fullyImplemented": true, - "id": 3103, + "id": 3151, "linearizedBaseContracts": [ - 3103, - 2215, - 2479, - 2511 + 3151, + 2263, + 2527, + 2559 ], "name": "StandardToken", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 2871, + "id": 2919, "name": "allowed", "nodeType": "VariableDeclaration", - "scope": 3103, - "src": "393:66:42", + "scope": 3151, + "src": "393:66:44", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3597,46 +3597,46 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 2870, + "id": 2918, "keyType": { - "id": 2866, + "id": 2914, "name": "address", "nodeType": "ElementaryTypeName", - "src": "402:7:42", + "src": "402:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "393:49:42", + "src": "393:49:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 2869, + "id": 2917, "keyType": { - "id": 2867, + "id": 2915, "name": "address", "nodeType": "ElementaryTypeName", - "src": "422:7:42", + "src": "422:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "413:28:42", + "src": "413:28:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 2868, + "id": 2916, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "433:7:42", + "src": "433:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3649,9 +3649,9 @@ }, { "body": { - "id": 2956, + "id": 3004, "nodeType": "Block", - "src": "824:356:42", + "src": "824:356:44", "statements": [ { "expression": { @@ -3663,19 +3663,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2887, + "id": 2935, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2883, + "id": 2931, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2875, - "src": "838:3:42", + "referencedDeclaration": 2923, + "src": "838:3:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3689,14 +3689,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2885, + "id": 2933, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "853:1:42", + "src": "853:1:44", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3712,20 +3712,20 @@ "typeString": "int_const 0" } ], - "id": 2884, + "id": 2932, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "845:7:42", + "src": "845:7:44", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 2886, + "id": 2934, "isConstant": false, "isLValue": false, "isPure": true, @@ -3733,13 +3733,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "845:10:42", + "src": "845:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "838:17:42", + "src": "838:17:44", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3753,21 +3753,21 @@ "typeString": "bool" } ], - "id": 2882, + "id": 2930, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "830:7:42", + "referencedDeclaration": 4882, + "src": "830:7:44", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2888, + "id": 2936, "isConstant": false, "isLValue": false, "isPure": false, @@ -3775,15 +3775,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "830:26:42", + "src": "830:26:44", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2889, + "id": 2937, "nodeType": "ExpressionStatement", - "src": "830:26:42" + "src": "830:26:44" }, { "expression": { @@ -3795,19 +3795,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2895, + "id": 2943, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2891, + "id": 2939, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2877, - "src": "870:6:42", + "referencedDeclaration": 2925, + "src": "870:6:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3819,705 +3819,12 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2892, + "id": 2940, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "880:8:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2894, - "indexExpression": { - "argumentTypes": null, - "id": 2893, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "889:5:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "880:15:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "870:25:42", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2890, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4787, - 4788 - ], - "referencedDeclaration": 4787, - "src": "862:7:42", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "862:34:42", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2897, - "nodeType": "ExpressionStatement", - "src": "862:34:42" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2899, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2877, - "src": "910:6:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2900, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "920:7:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2902, - "indexExpression": { - "argumentTypes": null, - "id": 2901, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "928:5:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "920:14:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2905, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2903, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "935:3:42", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "935:10:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "920:26:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "910:36:42", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2898, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4787, - 4788 - ], - "referencedDeclaration": 4787, - "src": "902:7:42", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "902:45:42", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2908, - "nodeType": "ExpressionStatement", - "src": "902:45:42" - }, - { - "expression": { - "argumentTypes": null, - "id": 2918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2909, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "954:8:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2911, - "indexExpression": { - "argumentTypes": null, - "id": 2910, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "963:5:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "954:15:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2916, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2877, - "src": "992:6:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2912, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "972:8:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2914, - "indexExpression": { - "argumentTypes": null, - "id": 2913, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "981:5:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "972:15:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "972:19:42", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "972:27:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "954:45:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2919, - "nodeType": "ExpressionStatement", - "src": "954:45:42" - }, - { - "expression": { - "argumentTypes": null, - "id": 2929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2920, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "1005:8:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2922, - "indexExpression": { - "argumentTypes": null, - "id": 2921, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2875, - "src": "1014:3:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1005:13:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2927, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2877, - "src": "1039:6:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2923, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "1021:8:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2925, - "indexExpression": { - "argumentTypes": null, - "id": 2924, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2875, - "src": "1030:3:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1021:13:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1021:17:42", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1021:25:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1005:41:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2930, - "nodeType": "ExpressionStatement", - "src": "1005:41:42" - }, - { - "expression": { - "argumentTypes": null, - "id": 2946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2931, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "1052:7:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2935, - "indexExpression": { - "argumentTypes": null, - "id": 2932, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "1060:5:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1052:14:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2936, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2933, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "1067:3:42", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1067:10:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1052:26:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2944, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2877, - "src": "1112:6:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2937, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "1081:7:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2939, - "indexExpression": { - "argumentTypes": null, - "id": 2938, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "1089:5:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1081:14:42", + "referencedDeclaration": 2180, + "src": "880:8:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -4526,28 +3833,12 @@ "id": 2942, "indexExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2940, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "1096:3:42", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, "id": 2941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1096:10:42", + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2921, + "src": "889:5:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4558,121 +3849,41 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1081:26:42", + "src": "880:15:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "1081:30:42", + "src": "870:25:44", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1081:38:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1052:67:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2947, - "nodeType": "ExpressionStatement", - "src": "1052:67:42" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2949, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2873, - "src": "1139:5:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2950, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2875, - "src": "1146:3:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2951, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2877, - "src": "1151:6:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } ], - "id": 2948, - "name": "Transfer", + "id": 2938, + "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2510, - "src": "1130:8:42", + "overloadedDeclarations": [ + 4882, + 4883 + ], + "referencedDeclaration": 4882, + "src": "862:7:44", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" } }, - "id": 2952, + "id": 2944, "isConstant": false, "isLValue": false, "isPure": false, @@ -4680,185 +3891,179 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1130:28:42", + "src": "862:34:44", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2953, - "nodeType": "EmitStatement", - "src": "1125:33:42" + "id": 2945, + "nodeType": "ExpressionStatement", + "src": "862:34:44" }, { "expression": { "argumentTypes": null, - "hexValue": "74727565", - "id": 2954, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2947, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2925, + "src": "910:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2948, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2919, + "src": "920:7:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 2950, + "indexExpression": { + "argumentTypes": null, + "id": 2949, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2921, + "src": "928:5:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "920:14:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2953, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2951, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4879, + "src": "935:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "935:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "920:26:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "910:36:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2946, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4882, + 4883 + ], + "referencedDeclaration": 4882, + "src": "902:7:44", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2955, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "bool", + "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Literal", - "src": "1171:4:42", - "subdenomination": null, + "names": [], + "nodeType": "FunctionCall", + "src": "902:45:44", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2881, - "id": 2955, - "nodeType": "Return", - "src": "1164:11:42" - } - ] - }, - "documentation": "@dev Transfer tokens from one address to another\n@param _from address The address which you want to send tokens from\n@param _to address The address which you want to transfer to\n@param _value uint256 the amount of tokens to be transferred", - "id": 2957, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2873, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "758:13:42", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "758:7:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "value": null, - "visibility": "internal" + "id": 2956, + "nodeType": "ExpressionStatement", + "src": "902:45:44" }, - { - "constant": false, - "id": 2875, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "773:11:42", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "773:7:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2877, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "786:14:42", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "786:7:42", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "757:44:42" - }, - "payable": false, - "returnParameters": { - "id": 2881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2880, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "818:4:42", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "818:4:42", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "817:6:42" - }, - "scope": 3103, - "src": "736:444:42", - "stateMutability": "nonpayable", - "superFunction": 2461, - "visibility": "public" - }, - { - "body": { - "id": 2984, - "nodeType": "Block", - "src": "1876:115:42", - "statements": [ { "expression": { "argumentTypes": null, - "id": 2973, + "id": 2966, "isConstant": false, "isLValue": false, "isPure": false, @@ -4867,69 +4072,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2966, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "1882:7:42", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2970, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2967, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "1890:3:42", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1890:10:42", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1882:19:42", + "id": 2957, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2180, + "src": "954:8:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2971, + "id": 2959, "indexExpression": { "argumentTypes": null, - "id": 2969, - "name": "_spender", + "id": 2958, + "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2959, - "src": "1902:8:42", + "referencedDeclaration": 2921, + "src": "963:5:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4940,7 +4102,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1882:29:42", + "src": "954:15:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4950,47 +4112,325 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2972, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2961, - "src": "1914:6:42", + "arguments": [ + { + "argumentTypes": null, + "id": 2964, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2925, + "src": "992:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2960, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2180, + "src": "972:8:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2962, + "indexExpression": { + "argumentTypes": null, + "id": 2961, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2921, + "src": "981:5:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "972:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 554, + "src": "972:19:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "972:27:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1882:38:42", + "src": "954:45:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2974, + "id": 2967, "nodeType": "ExpressionStatement", - "src": "1882:38:42" + "src": "954:45:44" }, { - "eventCall": { + "expression": { "argumentTypes": null, - "arguments": [ - { + "id": 2977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2968, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2180, + "src": "1005:8:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2970, + "indexExpression": { + "argumentTypes": null, + "id": 2969, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "1014:3:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1005:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2975, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2925, + "src": "1039:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2971, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2180, + "src": "1021:8:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2973, + "indexExpression": { + "argumentTypes": null, + "id": 2972, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "1030:3:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1021:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 578, + "src": "1021:17:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1021:25:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1005:41:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2978, + "nodeType": "ExpressionStatement", + "src": "1005:41:44" + }, + { + "expression": { + "argumentTypes": null, + "id": 2994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2979, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2919, + "src": "1052:7:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 2983, + "indexExpression": { + "argumentTypes": null, + "id": 2980, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2921, + "src": "1060:5:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1052:14:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2984, + "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2976, + "id": 2981, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "1940:3:42", + "referencedDeclaration": 4879, + "src": "1067:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2977, + "id": 2982, "isConstant": false, "isLValue": false, "isPure": false, @@ -4998,20 +4438,182 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1940:10:42", + "src": "1067:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1052:26:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2992, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2925, + "src": "1112:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2985, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2919, + "src": "1081:7:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 2987, + "indexExpression": { + "argumentTypes": null, + "id": 2986, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2921, + "src": "1089:5:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1081:14:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2990, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2988, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4879, + "src": "1096:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1096:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1081:26:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 554, + "src": "1081:30:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1081:38:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1052:67:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2995, + "nodeType": "ExpressionStatement", + "src": "1052:67:44" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ { "argumentTypes": null, - "id": 2978, - "name": "_spender", + "id": 2997, + "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2959, - "src": "1952:8:42", + "referencedDeclaration": 2921, + "src": "1139:5:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5019,12 +4621,25 @@ }, { "argumentTypes": null, - "id": 2979, + "id": 2998, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "1146:3:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2999, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2961, - "src": "1962:6:42", + "referencedDeclaration": 2925, + "src": "1151:6:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5046,18 +4661,18 @@ "typeString": "uint256" } ], - "id": 2975, - "name": "Approval", + "id": 2996, + "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2478, - "src": "1931:8:42", + "referencedDeclaration": 2558, + "src": "1130:8:44", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2980, + "id": 3000, "isConstant": false, "isLValue": false, "isPure": false, @@ -5065,28 +4680,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1931:38:42", + "src": "1130:28:44", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2981, + "id": 3001, "nodeType": "EmitStatement", - "src": "1926:43:42" + "src": "1125:33:44" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 2982, + "id": 3002, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1982:4:42", + "src": "1171:4:44", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5094,32 +4709,32 @@ }, "value": "true" }, - "functionReturnParameters": 2965, - "id": 2983, + "functionReturnParameters": 2929, + "id": 3003, "nodeType": "Return", - "src": "1975:11:42" + "src": "1164:11:44" } ] }, - "documentation": "@dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n * Beware that changing an allowance with this method brings the risk that someone may use both the old\nand the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\nrace condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n@param _spender The address which will spend the funds.\n@param _value The amount of tokens to be spent.", - "id": 2985, + "documentation": "@dev Transfer tokens from one address to another\n@param _from address The address which you want to send tokens from\n@param _to address The address which you want to transfer to\n@param _value uint256 the amount of tokens to be transferred", + "id": 3005, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], - "name": "approve", + "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 2962, + "id": 2926, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2959, - "name": "_spender", + "id": 2921, + "name": "_from", "nodeType": "VariableDeclaration", - "scope": 2985, - "src": "1820:16:42", + "scope": 3005, + "src": "758:13:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5127,10 +4742,10 @@ "typeString": "address" }, "typeName": { - "id": 2958, + "id": 2920, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1820:7:42", + "src": "758:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5141,11 +4756,37 @@ }, { "constant": false, - "id": 2961, + "id": 2923, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 3005, + "src": "773:11:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2922, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "773:7:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2925, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 2985, - "src": "1838:14:42", + "scope": 3005, + "src": "786:14:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5153,10 +4794,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2960, + "id": 2924, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1838:7:42", + "src": "786:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5166,20 +4807,20 @@ "visibility": "internal" } ], - "src": "1819:34:42" + "src": "757:44:44" }, "payable": false, "returnParameters": { - "id": 2965, + "id": 2929, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2964, + "id": 2928, "name": "", "nodeType": "VariableDeclaration", - "scope": 2985, - "src": "1870:4:42", + "scope": 3005, + "src": "818:4:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5187,10 +4828,10 @@ "typeString": "bool" }, "typeName": { - "id": 2963, + "id": 2927, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1870:4:42", + "src": "818:4:44", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5200,19 +4841,378 @@ "visibility": "internal" } ], - "src": "1869:6:42" + "src": "817:6:44" }, - "scope": 3103, - "src": "1803:188:42", + "scope": 3151, + "src": "736:444:44", "stateMutability": "nonpayable", - "superFunction": 2470, + "superFunction": 2509, "visibility": "public" }, { "body": { - "id": 3000, + "id": 3032, "nodeType": "Block", - "src": "2393:43:42", + "src": "1876:115:44", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3014, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2919, + "src": "1882:7:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3018, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3015, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4879, + "src": "1890:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1890:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1882:19:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3019, + "indexExpression": { + "argumentTypes": null, + "id": 3017, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3007, + "src": "1902:8:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1882:29:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3020, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3009, + "src": "1914:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1882:38:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3022, + "nodeType": "ExpressionStatement", + "src": "1882:38:44" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3024, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4879, + "src": "1940:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1940:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3026, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3007, + "src": "1952:8:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3027, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3009, + "src": "1962:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3023, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2526, + "src": "1931:8:44", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 3028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1931:38:44", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3029, + "nodeType": "EmitStatement", + "src": "1926:43:44" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3030, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1982:4:44", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3013, + "id": 3031, + "nodeType": "Return", + "src": "1975:11:44" + } + ] + }, + "documentation": "@dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n * Beware that changing an allowance with this method brings the risk that someone may use both the old\nand the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\nrace condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n@param _spender The address which will spend the funds.\n@param _value The amount of tokens to be spent.", + "id": 3033, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3010, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3007, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 3033, + "src": "1820:16:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3006, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1820:7:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3009, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 3033, + "src": "1838:14:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3008, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1838:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1819:34:44" + }, + "payable": false, + "returnParameters": { + "id": 3013, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3012, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3033, + "src": "1870:4:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3011, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1870:4:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1869:6:44" + }, + "scope": 3151, + "src": "1803:188:44", + "stateMutability": "nonpayable", + "superFunction": 2518, + "visibility": "public" + }, + { + "body": { + "id": 3048, + "nodeType": "Block", + "src": "2393:43:44", "statements": [ { "expression": { @@ -5221,26 +5221,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2994, + "id": 3042, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "2406:7:42", + "referencedDeclaration": 2919, + "src": "2406:7:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 2996, + "id": 3044, "indexExpression": { "argumentTypes": null, - "id": 2995, + "id": 3043, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2987, - "src": "2414:6:42", + "referencedDeclaration": 3035, + "src": "2414:6:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5251,21 +5251,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2406:15:42", + "src": "2406:15:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2998, + "id": 3046, "indexExpression": { "argumentTypes": null, - "id": 2997, + "id": 3045, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2989, - "src": "2422:8:42", + "referencedDeclaration": 3037, + "src": "2422:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5276,21 +5276,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2406:25:42", + "src": "2406:25:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2993, - "id": 2999, + "functionReturnParameters": 3041, + "id": 3047, "nodeType": "Return", - "src": "2399:32:42" + "src": "2399:32:44" } ] }, "documentation": "@dev Function to check the amount of tokens that an owner allowed to a spender.\n@param _owner address The address which owns the funds.\n@param _spender address The address which will spend the funds.\n@return A uint256 specifying the amount of tokens still available for the spender.", - "id": 3001, + "id": 3049, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -5298,16 +5298,16 @@ "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 2990, + "id": 3038, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2987, + "id": 3035, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 3001, - "src": "2329:14:42", + "scope": 3049, + "src": "2329:14:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5315,10 +5315,10 @@ "typeString": "address" }, "typeName": { - "id": 2986, + "id": 3034, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2329:7:42", + "src": "2329:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5329,11 +5329,11 @@ }, { "constant": false, - "id": 2989, + "id": 3037, "name": "_spender", "nodeType": "VariableDeclaration", - "scope": 3001, - "src": "2345:16:42", + "scope": 3049, + "src": "2345:16:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5341,10 +5341,10 @@ "typeString": "address" }, "typeName": { - "id": 2988, + "id": 3036, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2345:7:42", + "src": "2345:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5354,20 +5354,20 @@ "visibility": "internal" } ], - "src": "2328:34:42" + "src": "2328:34:44" }, "payable": false, "returnParameters": { - "id": 2993, + "id": 3041, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2992, + "id": 3040, "name": "", "nodeType": "VariableDeclaration", - "scope": 3001, - "src": "2384:7:42", + "scope": 3049, + "src": "2384:7:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5375,10 +5375,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2991, + "id": 3039, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2384:7:42", + "src": "2384:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5388,24 +5388,24 @@ "visibility": "internal" } ], - "src": "2383:9:42" + "src": "2383:9:44" }, - "scope": 3103, - "src": "2310:126:42", + "scope": 3151, + "src": "2310:126:44", "stateMutability": "view", - "superFunction": 2450, + "superFunction": 2498, "visibility": "public" }, { "body": { - "id": 3041, + "id": 3089, "nodeType": "Block", - "src": "2977:178:42", + "src": "2977:178:44", "statements": [ { "expression": { "argumentTypes": null, - "id": 3025, + "id": 3073, "isConstant": false, "isLValue": false, "isPure": false, @@ -5416,34 +5416,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3010, + "id": 3058, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "2983:7:42", + "referencedDeclaration": 2919, + "src": "2983:7:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 3014, + "id": 3062, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3011, + "id": 3059, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "2991:3:42", + "referencedDeclaration": 4879, + "src": "2991:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3012, + "id": 3060, "isConstant": false, "isLValue": false, "isPure": false, @@ -5451,7 +5451,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2991:10:42", + "src": "2991:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5462,21 +5462,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2983:19:42", + "src": "2983:19:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3015, + "id": 3063, "indexExpression": { "argumentTypes": null, - "id": 3013, + "id": 3061, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3003, - "src": "3003:8:42", + "referencedDeclaration": 3051, + "src": "3003:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5487,7 +5487,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2983:29:42", + "src": "2983:29:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5500,12 +5500,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3023, + "id": 3071, "name": "_addedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "3049:11:42", + "referencedDeclaration": 3053, + "src": "3049:11:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5525,34 +5525,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3016, + "id": 3064, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "3015:7:42", + "referencedDeclaration": 2919, + "src": "3015:7:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 3019, + "id": 3067, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3017, + "id": 3065, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "3023:3:42", + "referencedDeclaration": 4879, + "src": "3023:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3018, + "id": 3066, "isConstant": false, "isLValue": false, "isPure": false, @@ -5560,7 +5560,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3023:10:42", + "src": "3023:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5571,21 +5571,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3015:19:42", + "src": "3015:19:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3021, + "id": 3069, "indexExpression": { "argumentTypes": null, - "id": 3020, + "id": 3068, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3003, - "src": "3035:8:42", + "referencedDeclaration": 3051, + "src": "3035:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5596,27 +5596,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3015:29:42", + "src": "3015:29:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3022, + "id": 3070, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "3015:33:42", + "referencedDeclaration": 578, + "src": "3015:33:44", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3024, + "id": 3072, "isConstant": false, "isLValue": false, "isPure": false, @@ -5624,21 +5624,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3015:46:42", + "src": "3015:46:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2983:78:42", + "src": "2983:78:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3026, + "id": 3074, "nodeType": "ExpressionStatement", - "src": "2983:78:42" + "src": "2983:78:44" }, { "eventCall": { @@ -5648,18 +5648,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3028, + "id": 3076, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "3081:3:42", + "referencedDeclaration": 4879, + "src": "3081:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3029, + "id": 3077, "isConstant": false, "isLValue": false, "isPure": false, @@ -5667,7 +5667,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3081:10:42", + "src": "3081:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5675,12 +5675,12 @@ }, { "argumentTypes": null, - "id": 3030, + "id": 3078, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3003, - "src": "3093:8:42", + "referencedDeclaration": 3051, + "src": "3093:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5692,34 +5692,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3031, + "id": 3079, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "3103:7:42", + "referencedDeclaration": 2919, + "src": "3103:7:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 3034, + "id": 3082, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3032, + "id": 3080, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "3111:3:42", + "referencedDeclaration": 4879, + "src": "3111:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3033, + "id": 3081, "isConstant": false, "isLValue": false, "isPure": false, @@ -5727,7 +5727,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3111:10:42", + "src": "3111:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5738,21 +5738,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3103:19:42", + "src": "3103:19:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3036, + "id": 3084, "indexExpression": { "argumentTypes": null, - "id": 3035, + "id": 3083, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3003, - "src": "3123:8:42", + "referencedDeclaration": 3051, + "src": "3123:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5763,7 +5763,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3103:29:42", + "src": "3103:29:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5785,18 +5785,18 @@ "typeString": "uint256" } ], - "id": 3027, + "id": 3075, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2478, - "src": "3072:8:42", + "referencedDeclaration": 2526, + "src": "3072:8:44", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 3037, + "id": 3085, "isConstant": false, "isLValue": false, "isPure": false, @@ -5804,28 +5804,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3072:61:42", + "src": "3072:61:44", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3038, + "id": 3086, "nodeType": "EmitStatement", - "src": "3067:66:42" + "src": "3067:66:44" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 3039, + "id": 3087, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3146:4:42", + "src": "3146:4:44", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5833,15 +5833,15 @@ }, "value": "true" }, - "functionReturnParameters": 3009, - "id": 3040, + "functionReturnParameters": 3057, + "id": 3088, "nodeType": "Return", - "src": "3139:11:42" + "src": "3139:11:44" } ] }, "documentation": "@dev Increase the amount of tokens that an owner allowed to a spender.\n * approve should be called when allowed[_spender] == 0. To increment\nallowed value is better to use this function to avoid 2 calls (and wait until\nthe first transaction is mined)\nFrom MonolithDAO Token.sol\n@param _spender The address which will spend the funds.\n@param _addedValue The amount of tokens to increase the allowance by.", - "id": 3042, + "id": 3090, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5849,16 +5849,16 @@ "name": "increaseApproval", "nodeType": "FunctionDefinition", "parameters": { - "id": 3006, + "id": 3054, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3003, + "id": 3051, "name": "_spender", "nodeType": "VariableDeclaration", - "scope": 3042, - "src": "2919:16:42", + "scope": 3090, + "src": "2919:16:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5866,10 +5866,10 @@ "typeString": "address" }, "typeName": { - "id": 3002, + "id": 3050, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2919:7:42", + "src": "2919:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5880,11 +5880,11 @@ }, { "constant": false, - "id": 3005, + "id": 3053, "name": "_addedValue", "nodeType": "VariableDeclaration", - "scope": 3042, - "src": "2937:16:42", + "scope": 3090, + "src": "2937:16:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5892,10 +5892,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3004, + "id": 3052, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2937:4:42", + "src": "2937:4:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5905,20 +5905,20 @@ "visibility": "internal" } ], - "src": "2918:36:42" + "src": "2918:36:44" }, "payable": false, "returnParameters": { - "id": 3009, + "id": 3057, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3008, + "id": 3056, "name": "", "nodeType": "VariableDeclaration", - "scope": 3042, - "src": "2971:4:42", + "scope": 3090, + "src": "2971:4:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5926,10 +5926,10 @@ "typeString": "bool" }, "typeName": { - "id": 3007, + "id": 3055, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2971:4:42", + "src": "2971:4:44", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5939,32 +5939,32 @@ "visibility": "internal" } ], - "src": "2970:6:42" + "src": "2970:6:44" }, - "scope": 3103, - "src": "2893:262:42", + "scope": 3151, + "src": "2893:262:44", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 3101, + "id": 3149, "nodeType": "Block", - "src": "3706:314:42", + "src": "3706:314:44", "statements": [ { "assignments": [ - 3052 + 3100 ], "declarations": [ { "constant": false, - "id": 3052, + "id": 3100, "name": "oldValue", "nodeType": "VariableDeclaration", - "scope": 3102, - "src": "3712:13:42", + "scope": 3150, + "src": "3712:13:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5972,10 +5972,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3051, + "id": 3099, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3712:4:42", + "src": "3712:4:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5985,41 +5985,41 @@ "visibility": "internal" } ], - "id": 3059, + "id": 3107, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3053, + "id": 3101, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "3728:7:42", + "referencedDeclaration": 2919, + "src": "3728:7:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 3056, + "id": 3104, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3054, + "id": 3102, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "3736:3:42", + "referencedDeclaration": 4879, + "src": "3736:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3055, + "id": 3103, "isConstant": false, "isLValue": false, "isPure": false, @@ -6027,7 +6027,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3736:10:42", + "src": "3736:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6038,21 +6038,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3728:19:42", + "src": "3728:19:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3058, + "id": 3106, "indexExpression": { "argumentTypes": null, - "id": 3057, + "id": 3105, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3044, - "src": "3748:8:42", + "referencedDeclaration": 3092, + "src": "3748:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6063,14 +6063,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3728:29:42", + "src": "3728:29:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3712:45:42" + "src": "3712:45:44" }, { "condition": { @@ -6079,19 +6079,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3062, + "id": 3110, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3060, + "id": 3108, "name": "_subtractedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3046, - "src": "3767:16:42", + "referencedDeclaration": 3094, + "src": "3767:16:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6101,32 +6101,32 @@ "operator": ">", "rightExpression": { "argumentTypes": null, - "id": 3061, + "id": 3109, "name": "oldValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3052, - "src": "3786:8:42", + "referencedDeclaration": 3100, + "src": "3786:8:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3767:27:42", + "src": "3767:27:44", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 3085, + "id": 3133, "nodeType": "Block", - "src": "3850:77:42", + "src": "3850:77:44", "statements": [ { "expression": { "argumentTypes": null, - "id": 3083, + "id": 3131, "isConstant": false, "isLValue": false, "isPure": false, @@ -6137,34 +6137,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3073, + "id": 3121, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "3858:7:42", + "referencedDeclaration": 2919, + "src": "3858:7:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 3077, + "id": 3125, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3074, + "id": 3122, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "3866:3:42", + "referencedDeclaration": 4879, + "src": "3866:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3075, + "id": 3123, "isConstant": false, "isLValue": false, "isPure": false, @@ -6172,7 +6172,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3866:10:42", + "src": "3866:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6183,21 +6183,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3858:19:42", + "src": "3858:19:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3078, + "id": 3126, "indexExpression": { "argumentTypes": null, - "id": 3076, + "id": 3124, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3044, - "src": "3878:8:42", + "referencedDeclaration": 3092, + "src": "3878:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6208,7 +6208,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3858:29:42", + "src": "3858:29:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6221,12 +6221,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3081, + "id": 3129, "name": "_subtractedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3046, - "src": "3903:16:42", + "referencedDeclaration": 3094, + "src": "3903:16:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6242,32 +6242,32 @@ ], "expression": { "argumentTypes": null, - "id": 3079, + "id": 3127, "name": "oldValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3052, - "src": "3890:8:42", + "referencedDeclaration": 3100, + "src": "3890:8:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3080, + "id": 3128, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "3890:12:42", + "referencedDeclaration": 554, + "src": "3890:12:44", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3082, + "id": 3130, "isConstant": false, "isLValue": false, "isPure": false, @@ -6275,36 +6275,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3890:30:42", + "src": "3890:30:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3858:62:42", + "src": "3858:62:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3084, + "id": 3132, "nodeType": "ExpressionStatement", - "src": "3858:62:42" + "src": "3858:62:44" } ] }, - "id": 3086, + "id": 3134, "nodeType": "IfStatement", - "src": "3763:164:42", + "src": "3763:164:44", "trueBody": { - "id": 3072, + "id": 3120, "nodeType": "Block", - "src": "3796:48:42", + "src": "3796:48:44", "statements": [ { "expression": { "argumentTypes": null, - "id": 3070, + "id": 3118, "isConstant": false, "isLValue": false, "isPure": false, @@ -6315,34 +6315,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3063, + "id": 3111, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "3804:7:42", + "referencedDeclaration": 2919, + "src": "3804:7:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 3067, + "id": 3115, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3064, + "id": 3112, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "3812:3:42", + "referencedDeclaration": 4879, + "src": "3812:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3065, + "id": 3113, "isConstant": false, "isLValue": false, "isPure": false, @@ -6350,7 +6350,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3812:10:42", + "src": "3812:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6361,21 +6361,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3804:19:42", + "src": "3804:19:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3068, + "id": 3116, "indexExpression": { "argumentTypes": null, - "id": 3066, + "id": 3114, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3044, - "src": "3824:8:42", + "referencedDeclaration": 3092, + "src": "3824:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6386,7 +6386,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3804:29:42", + "src": "3804:29:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6397,14 +6397,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 3069, + "id": 3117, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3836:1:42", + "src": "3836:1:44", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6412,15 +6412,15 @@ }, "value": "0" }, - "src": "3804:33:42", + "src": "3804:33:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3071, + "id": 3119, "nodeType": "ExpressionStatement", - "src": "3804:33:42" + "src": "3804:33:44" } ] } @@ -6433,18 +6433,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3088, + "id": 3136, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "3946:3:42", + "referencedDeclaration": 4879, + "src": "3946:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3089, + "id": 3137, "isConstant": false, "isLValue": false, "isPure": false, @@ -6452,7 +6452,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3946:10:42", + "src": "3946:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6460,12 +6460,12 @@ }, { "argumentTypes": null, - "id": 3090, + "id": 3138, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3044, - "src": "3958:8:42", + "referencedDeclaration": 3092, + "src": "3958:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6477,34 +6477,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3091, + "id": 3139, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, - "src": "3968:7:42", + "referencedDeclaration": 2919, + "src": "3968:7:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 3094, + "id": 3142, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3092, + "id": 3140, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, - "src": "3976:3:42", + "referencedDeclaration": 4879, + "src": "3976:3:44", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3093, + "id": 3141, "isConstant": false, "isLValue": false, "isPure": false, @@ -6512,7 +6512,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3976:10:42", + "src": "3976:10:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6523,21 +6523,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3968:19:42", + "src": "3968:19:44", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3096, + "id": 3144, "indexExpression": { "argumentTypes": null, - "id": 3095, + "id": 3143, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3044, - "src": "3988:8:42", + "referencedDeclaration": 3092, + "src": "3988:8:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6548,7 +6548,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3968:29:42", + "src": "3968:29:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6570,18 +6570,18 @@ "typeString": "uint256" } ], - "id": 3087, + "id": 3135, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2478, - "src": "3937:8:42", + "referencedDeclaration": 2526, + "src": "3937:8:44", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 3097, + "id": 3145, "isConstant": false, "isLValue": false, "isPure": false, @@ -6589,28 +6589,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3937:61:42", + "src": "3937:61:44", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3098, + "id": 3146, "nodeType": "EmitStatement", - "src": "3932:66:42" + "src": "3932:66:44" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 3099, + "id": 3147, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4011:4:42", + "src": "4011:4:44", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6618,15 +6618,15 @@ }, "value": "true" }, - "functionReturnParameters": 3050, - "id": 3100, + "functionReturnParameters": 3098, + "id": 3148, "nodeType": "Return", - "src": "4004:11:42" + "src": "4004:11:44" } ] }, "documentation": "@dev Decrease the amount of tokens that an owner allowed to a spender.\n * approve should be called when allowed[_spender] == 0. To decrement\nallowed value is better to use this function to avoid 2 calls (and wait until\nthe first transaction is mined)\nFrom MonolithDAO Token.sol\n@param _spender The address which will spend the funds.\n@param _subtractedValue The amount of tokens to decrease the allowance by.", - "id": 3102, + "id": 3150, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6634,16 +6634,16 @@ "name": "decreaseApproval", "nodeType": "FunctionDefinition", "parameters": { - "id": 3047, + "id": 3095, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3044, + "id": 3092, "name": "_spender", "nodeType": "VariableDeclaration", - "scope": 3102, - "src": "3643:16:42", + "scope": 3150, + "src": "3643:16:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6651,10 +6651,10 @@ "typeString": "address" }, "typeName": { - "id": 3043, + "id": 3091, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3643:7:42", + "src": "3643:7:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6665,11 +6665,11 @@ }, { "constant": false, - "id": 3046, + "id": 3094, "name": "_subtractedValue", "nodeType": "VariableDeclaration", - "scope": 3102, - "src": "3661:21:42", + "scope": 3150, + "src": "3661:21:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6677,10 +6677,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3045, + "id": 3093, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3661:4:42", + "src": "3661:4:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6690,20 +6690,20 @@ "visibility": "internal" } ], - "src": "3642:41:42" + "src": "3642:41:44" }, "payable": false, "returnParameters": { - "id": 3050, + "id": 3098, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3049, + "id": 3097, "name": "", "nodeType": "VariableDeclaration", - "scope": 3102, - "src": "3700:4:42", + "scope": 3150, + "src": "3700:4:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6711,10 +6711,10 @@ "typeString": "bool" }, "typeName": { - "id": 3048, + "id": 3096, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3700:4:42", + "src": "3700:4:44", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6724,26 +6724,26 @@ "visibility": "internal" } ], - "src": "3699:6:42" + "src": "3699:6:44" }, - "scope": 3103, - "src": "3617:403:42", + "scope": 3151, + "src": "3617:403:44", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 3104, - "src": "344:3679:42" + "scope": 3152, + "src": "344:3679:44" } ], - "src": "0:4024:42" + "src": "0:4024:44" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.647Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.215Z" } \ No newline at end of file diff --git a/build/contracts/StandardTokenMock.json b/build/contracts/StandardTokenMock.json index 28ca211ee..fa5e5e133 100644 --- a/build/contracts/StandardTokenMock.json +++ b/build/contracts/StandardTokenMock.json @@ -236,24 +236,24 @@ "type": "event" } ], - "bytecode": "0x608060405234801561001057600080fd5b506040516040806110cf8339810180604052810190808051906020019092919080519060200190929190505050806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001819055505050611037806100986000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100f857806323b872dd1461012357806366188463146101a857806370a082311461020d578063a9059cbb14610264578063d73dd623146102c9578063dd62ed3e1461032e575b600080fd5b34801561009f57600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103a5565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b5061010d610497565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104a1565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085b565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b5061024e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aec565b6040518082815260200191505060405180910390f35b34801561027057600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b34565b604051808215151515815260200191505060405180910390f35b3480156102d557600080fd5b50610314600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d53565b604051808215151515815260200191505060405180910390f35b34801561033a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4f565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156104de57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561052b57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105b657600080fd5b610607826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061069a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061076b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561096c576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a00565b61097f8382610fd690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b7157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610bbe57600080fd5b610c0f826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ca2826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610de482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610fe457fe5b818303905092915050565b6000818301905082811015151561100257fe5b809050929150505600a165627a7a72305820d75f96385897109edcb7f890c0edd57a57252629e55b47936fc7b36ee75493220029", - "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100f857806323b872dd1461012357806366188463146101a857806370a082311461020d578063a9059cbb14610264578063d73dd623146102c9578063dd62ed3e1461032e575b600080fd5b34801561009f57600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103a5565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b5061010d610497565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104a1565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085b565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b5061024e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aec565b6040518082815260200191505060405180910390f35b34801561027057600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b34565b604051808215151515815260200191505060405180910390f35b3480156102d557600080fd5b50610314600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d53565b604051808215151515815260200191505060405180910390f35b34801561033a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4f565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156104de57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561052b57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105b657600080fd5b610607826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061069a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061076b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561096c576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a00565b61097f8382610fd690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b7157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610bbe57600080fd5b610c0f826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ca2826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610de482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610fe457fe5b818303905092915050565b6000818301905082811015151561100257fe5b809050929150505600a165627a7a72305820d75f96385897109edcb7f890c0edd57a57252629e55b47936fc7b36ee75493220029", - "sourceMap": "105:221:24:-;;;154:169;8:9:-1;5:2;;;30:1;27;20:12;5:2;154:169:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;269:14;242:8;:24;251:14;242:24;;;;;;;;;;;;;;;:41;;;;304:14;289:12;:29;;;;154:169;;105:221;;;;;;", - "deployedSourceMap": "105:221:24:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:31;;;;;;;;;;;;;;;;;;;;;;;736:444:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3617:403;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;371:83:31:-;415:7;437:12;;430:19;;371:83;:::o;736:444:42:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;3617:403::-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:31:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;608:321::-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;2893:262:42:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b506040516040806110cf8339810180604052810190808051906020019092919080519060200190929190505050806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001819055505050611037806100986000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100f857806323b872dd1461012357806366188463146101a857806370a082311461020d578063a9059cbb14610264578063d73dd623146102c9578063dd62ed3e1461032e575b600080fd5b34801561009f57600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103a5565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b5061010d610497565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104a1565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085b565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b5061024e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aec565b6040518082815260200191505060405180910390f35b34801561027057600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b34565b604051808215151515815260200191505060405180910390f35b3480156102d557600080fd5b50610314600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d53565b604051808215151515815260200191505060405180910390f35b34801561033a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4f565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156104de57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561052b57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105b657600080fd5b610607826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061069a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061076b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561096c576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a00565b61097f8382610fd690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b7157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610bbe57600080fd5b610c0f826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ca2826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610de482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610fe457fe5b818303905092915050565b6000818301905082811015151561100257fe5b809050929150505600a165627a7a72305820702642d214f73b712d343f7c60e7fd20910d3ada9997f025b0872aa68cd219300029", + "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100f857806323b872dd1461012357806366188463146101a857806370a082311461020d578063a9059cbb14610264578063d73dd623146102c9578063dd62ed3e1461032e575b600080fd5b34801561009f57600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103a5565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b5061010d610497565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104a1565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085b565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b5061024e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aec565b6040518082815260200191505060405180910390f35b34801561027057600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b34565b604051808215151515815260200191505060405180910390f35b3480156102d557600080fd5b50610314600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d53565b604051808215151515815260200191505060405180910390f35b34801561033a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4f565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156104de57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561052b57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105b657600080fd5b610607826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061069a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061076b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561096c576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a00565b61097f8382610fd690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b7157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610bbe57600080fd5b610c0f826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ca2826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610de482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610fe457fe5b818303905092915050565b6000818301905082811015151561100257fe5b809050929150505600a165627a7a72305820702642d214f73b712d343f7c60e7fd20910d3ada9997f025b0872aa68cd219300029", + "sourceMap": "105:221:26:-;;;154:169;8:9:-1;5:2;;;30:1;27;20:12;5:2;154:169:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;269:14;242:8;:24;251:14;242:24;;;;;;;;;;;;;;;:41;;;;304:14;289:12;:29;;;;154:169;;105:221;;;;;;", + "deployedSourceMap": "105:221:26:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:33;;;;;;;;;;;;;;;;;;;;;;;736:444:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3617:403;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;371:83:33:-;415:7;437:12;;430:19;;371:83;:::o;736:444:44:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;3617:403::-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:33:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;608:321::-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;2893:262:44:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"../token/ERC20/StandardToken.sol\";\n\n\n// mock class using StandardToken\ncontract StandardTokenMock is StandardToken {\n\n function StandardTokenMock(address initialAccount, uint256 initialBalance) public {\n balances[initialAccount] = initialBalance;\n totalSupply_ = initialBalance;\n }\n\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/StandardTokenMock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/StandardTokenMock.sol", "exportedSymbols": { "StandardTokenMock": [ - 1516 + 1564 ] }, - "id": 1517, + "id": 1565, "nodeType": "SourceUnit", "nodes": [ { - "id": 1494, + "id": 1542, "literals": [ "solidity", "^", @@ -261,16 +261,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:24" + "src": "0:24:26" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardToken.sol", "file": "../token/ERC20/StandardToken.sol", - "id": 1495, + "id": 1543, "nodeType": "ImportDirective", - "scope": 1517, - "sourceUnit": 3104, - "src": "26:42:24", + "scope": 1565, + "sourceUnit": 3152, + "src": "26:42:26", "symbolAliases": [], "unitAlias": "" }, @@ -280,51 +280,51 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1496, + "id": 1544, "name": "StandardToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3103, - "src": "135:13:24", + "referencedDeclaration": 3151, + "src": "135:13:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_StandardToken_$3103", + "typeIdentifier": "t_contract$_StandardToken_$3151", "typeString": "contract StandardToken" } }, - "id": 1497, + "id": 1545, "nodeType": "InheritanceSpecifier", - "src": "135:13:24" + "src": "135:13:26" } ], "contractDependencies": [ - 2215, - 2479, - 2511, - 3103 + 2263, + 2527, + 2559, + 3151 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1516, + "id": 1564, "linearizedBaseContracts": [ - 1516, - 3103, - 2215, - 2479, - 2511 + 1564, + 3151, + 2263, + 2527, + 2559 ], "name": "StandardTokenMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1514, + "id": 1562, "nodeType": "Block", - "src": "236:87:24", + "src": "236:87:26", "statements": [ { "expression": { "argumentTypes": null, - "id": 1508, + "id": 1556, "isConstant": false, "isLValue": false, "isPure": false, @@ -333,26 +333,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1504, + "id": 1552, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "242:8:24", + "referencedDeclaration": 2180, + "src": "242:8:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1506, + "id": 1554, "indexExpression": { "argumentTypes": null, - "id": 1505, + "id": 1553, "name": "initialAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1499, - "src": "251:14:24", + "referencedDeclaration": 1547, + "src": "251:14:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -363,7 +363,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "242:24:24", + "src": "242:24:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -373,43 +373,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1507, + "id": 1555, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1501, - "src": "269:14:24", + "referencedDeclaration": 1549, + "src": "269:14:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "242:41:24", + "src": "242:41:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1509, + "id": 1557, "nodeType": "ExpressionStatement", - "src": "242:41:24" + "src": "242:41:26" }, { "expression": { "argumentTypes": null, - "id": 1512, + "id": 1560, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1510, + "id": 1558, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "289:12:24", + "referencedDeclaration": 2182, + "src": "289:12:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -419,31 +419,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1511, + "id": 1559, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1501, - "src": "304:14:24", + "referencedDeclaration": 1549, + "src": "304:14:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "289:29:24", + "src": "289:29:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1513, + "id": 1561, "nodeType": "ExpressionStatement", - "src": "289:29:24" + "src": "289:29:26" } ] }, "documentation": null, - "id": 1515, + "id": 1563, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -451,16 +451,16 @@ "name": "StandardTokenMock", "nodeType": "FunctionDefinition", "parameters": { - "id": 1502, + "id": 1550, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1499, + "id": 1547, "name": "initialAccount", "nodeType": "VariableDeclaration", - "scope": 1515, - "src": "181:22:24", + "scope": 1563, + "src": "181:22:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -468,10 +468,10 @@ "typeString": "address" }, "typeName": { - "id": 1498, + "id": 1546, "name": "address", "nodeType": "ElementaryTypeName", - "src": "181:7:24", + "src": "181:7:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -482,11 +482,11 @@ }, { "constant": false, - "id": 1501, + "id": 1549, "name": "initialBalance", "nodeType": "VariableDeclaration", - "scope": 1515, - "src": "205:22:24", + "scope": 1563, + "src": "205:22:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -494,10 +494,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1500, + "id": 1548, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "205:7:24", + "src": "205:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -507,40 +507,40 @@ "visibility": "internal" } ], - "src": "180:48:24" + "src": "180:48:26" }, "payable": false, "returnParameters": { - "id": 1503, + "id": 1551, "nodeType": "ParameterList", "parameters": [], - "src": "236:0:24" + "src": "236:0:26" }, - "scope": 1516, - "src": "154:169:24", + "scope": 1564, + "src": "154:169:26", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1517, - "src": "105:221:24" + "scope": 1565, + "src": "105:221:26" } ], - "src": "0:327:24" + "src": "0:327:26" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/mocks/StandardTokenMock.sol", "exportedSymbols": { "StandardTokenMock": [ - 1516 + 1564 ] }, - "id": 1517, + "id": 1565, "nodeType": "SourceUnit", "nodes": [ { - "id": 1494, + "id": 1542, "literals": [ "solidity", "^", @@ -548,16 +548,16 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:24" + "src": "0:24:26" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/StandardToken.sol", "file": "../token/ERC20/StandardToken.sol", - "id": 1495, + "id": 1543, "nodeType": "ImportDirective", - "scope": 1517, - "sourceUnit": 3104, - "src": "26:42:24", + "scope": 1565, + "sourceUnit": 3152, + "src": "26:42:26", "symbolAliases": [], "unitAlias": "" }, @@ -567,51 +567,51 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1496, + "id": 1544, "name": "StandardToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3103, - "src": "135:13:24", + "referencedDeclaration": 3151, + "src": "135:13:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_StandardToken_$3103", + "typeIdentifier": "t_contract$_StandardToken_$3151", "typeString": "contract StandardToken" } }, - "id": 1497, + "id": 1545, "nodeType": "InheritanceSpecifier", - "src": "135:13:24" + "src": "135:13:26" } ], "contractDependencies": [ - 2215, - 2479, - 2511, - 3103 + 2263, + 2527, + 2559, + 3151 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1516, + "id": 1564, "linearizedBaseContracts": [ - 1516, - 3103, - 2215, - 2479, - 2511 + 1564, + 3151, + 2263, + 2527, + 2559 ], "name": "StandardTokenMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1514, + "id": 1562, "nodeType": "Block", - "src": "236:87:24", + "src": "236:87:26", "statements": [ { "expression": { "argumentTypes": null, - "id": 1508, + "id": 1556, "isConstant": false, "isLValue": false, "isPure": false, @@ -620,26 +620,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1504, + "id": 1552, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2132, - "src": "242:8:24", + "referencedDeclaration": 2180, + "src": "242:8:26", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1506, + "id": 1554, "indexExpression": { "argumentTypes": null, - "id": 1505, + "id": 1553, "name": "initialAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1499, - "src": "251:14:24", + "referencedDeclaration": 1547, + "src": "251:14:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -650,7 +650,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "242:24:24", + "src": "242:24:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -660,43 +660,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1507, + "id": 1555, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1501, - "src": "269:14:24", + "referencedDeclaration": 1549, + "src": "269:14:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "242:41:24", + "src": "242:41:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1509, + "id": 1557, "nodeType": "ExpressionStatement", - "src": "242:41:24" + "src": "242:41:26" }, { "expression": { "argumentTypes": null, - "id": 1512, + "id": 1560, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1510, + "id": 1558, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2134, - "src": "289:12:24", + "referencedDeclaration": 2182, + "src": "289:12:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -706,31 +706,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1511, + "id": 1559, "name": "initialBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1501, - "src": "304:14:24", + "referencedDeclaration": 1549, + "src": "304:14:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "289:29:24", + "src": "289:29:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1513, + "id": 1561, "nodeType": "ExpressionStatement", - "src": "289:29:24" + "src": "289:29:26" } ] }, "documentation": null, - "id": 1515, + "id": 1563, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -738,16 +738,16 @@ "name": "StandardTokenMock", "nodeType": "FunctionDefinition", "parameters": { - "id": 1502, + "id": 1550, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1499, + "id": 1547, "name": "initialAccount", "nodeType": "VariableDeclaration", - "scope": 1515, - "src": "181:22:24", + "scope": 1563, + "src": "181:22:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -755,10 +755,10 @@ "typeString": "address" }, "typeName": { - "id": 1498, + "id": 1546, "name": "address", "nodeType": "ElementaryTypeName", - "src": "181:7:24", + "src": "181:7:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -769,11 +769,11 @@ }, { "constant": false, - "id": 1501, + "id": 1549, "name": "initialBalance", "nodeType": "VariableDeclaration", - "scope": 1515, - "src": "205:22:24", + "scope": 1563, + "src": "205:22:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -781,10 +781,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1500, + "id": 1548, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "205:7:24", + "src": "205:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -794,33 +794,33 @@ "visibility": "internal" } ], - "src": "180:48:24" + "src": "180:48:26" }, "payable": false, "returnParameters": { - "id": 1503, + "id": 1551, "nodeType": "ParameterList", "parameters": [], - "src": "236:0:24" + "src": "236:0:26" }, - "scope": 1516, - "src": "154:169:24", + "scope": 1564, + "src": "154:169:26", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1517, - "src": "105:221:24" + "scope": 1565, + "src": "105:221:26" } ], - "src": "0:327:24" + "src": "0:327:26" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.626Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.209Z" } \ No newline at end of file diff --git a/build/contracts/TokenTimelock.json b/build/contracts/TokenTimelock.json index 7c329425f..2f1371722 100644 --- a/build/contracts/TokenTimelock.json +++ b/build/contracts/TokenTimelock.json @@ -119,24 +119,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506109ba806100206000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806338af3eed1461007d57806386d1a69f146100d4578063b91d4001146100eb578063c0bac1a814610116578063cf756fdf146101dd578063fc0c546a1461026a575b600080fd5b34801561008957600080fd5b506100926102c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100e057600080fd5b506100e96102e7565b005b3480156100f757600080fd5b50610100610475565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b506101c3600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061047b565b604051808215151515815260200191505060405180910390f35b3480156101e957600080fd5b50610268600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610566565b005b34801561027657600080fd5b5061027f61087d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060035442101515156102fa57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156103b757600080fd5b505af11580156103cb573d6000803e3d6000fd5b505050506040513d60208110156103e157600080fd5b8101908080519060200190929190505050905060008111151561040357600080fd5b610472600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108a39092919063ffffffff16565b50565b60035481565b600080836040518082805190602001908083835b6020831015156104b4578051825260208201915060208101905060208303925061048f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561051d57805182526020820191506020810190506020830392506104f8565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f546f6b656e54696d656c6f636b000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506105dc828261047b565b1515156105e857600080fd5b42831115156105f657600080fd5b84600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826003819055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156106e65780820151818401526020810190506106cb565b50505050905090810190601f1680156107135780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561074c578082015181840152602081019050610731565b50505050905090810190601f1680156107795780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156107c2578051825260208201915060208101905060208303925061079d565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561082b5780518252602082019150602081019050602083039250610806565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561094657600080fd5b505af115801561095a573d6000803e3d6000fd5b505050506040513d602081101561097057600080fd5b8101908080519060200190929190505050151561098957fe5b5050505600a165627a7a72305820dd52428ee08c8aff1abddcf33c3c9ad3476f69bd323fa6ccf65621cbcd91148c0029", - "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806338af3eed1461007d57806386d1a69f146100d4578063b91d4001146100eb578063c0bac1a814610116578063cf756fdf146101dd578063fc0c546a1461026a575b600080fd5b34801561008957600080fd5b506100926102c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100e057600080fd5b506100e96102e7565b005b3480156100f757600080fd5b50610100610475565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b506101c3600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061047b565b604051808215151515815260200191505060405180910390f35b3480156101e957600080fd5b50610268600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610566565b005b34801561027657600080fd5b5061027f61087d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060035442101515156102fa57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156103b757600080fd5b505af11580156103cb573d6000803e3d6000fd5b505050506040513d60208110156103e157600080fd5b8101908080519060200190929190505050905060008111151561040357600080fd5b610472600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108a39092919063ffffffff16565b50565b60035481565b600080836040518082805190602001908083835b6020831015156104b4578051825260208201915060208101905060208303925061048f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561051d57805182526020820191506020810190506020830392506104f8565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f546f6b656e54696d656c6f636b000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506105dc828261047b565b1515156105e857600080fd5b42831115156105f657600080fd5b84600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826003819055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156106e65780820151818401526020810190506106cb565b50505050905090810190601f1680156107135780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561074c578082015181840152602081019050610731565b50505050905090810190601f1680156107795780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156107c2578051825260208201915060208101905060208303925061079d565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561082b5780518252602082019150602081019050602083039250610806565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561094657600080fd5b505af115801561095a573d6000803e3d6000fd5b505050506040513d602081101561097057600080fd5b8101908080519060200190929190505050151561098957fe5b5050505600a165627a7a72305820dd52428ee08c8aff1abddcf33c3c9ad3476f69bd323fa6ccf65621cbcd91148c0029", - "sourceMap": "271:1005:43:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;271:1005:43;;;;;;;", - "deployedSourceMap": "271:1005:43:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;469:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;469:26:43;;;;;;;;;;;;;;;;;;;;;;;;;;;1024:250;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1024:250:43;;;;;;545:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;545:26:43;;;;;;;;;;;;;;;;;;;;;;;1950:140:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;576:369:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;576:369:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;390:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;390:23:43;;;;;;;;;;;;;;;;;;;;;;;;;;;469:26;;;;;;;;;;;;;:::o;1024:250::-;1160:14;1141:11;;1122:15;:30;;1114:39;;;;;;;;1177:5;;;;;;;;;;;:15;;;1193:4;1177:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1177:21:43;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1177:21:43;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1177:21:43;;;;;;;;;;;;;;;;1160:38;;1221:1;1212:6;:10;1204:19;;;;;;;;1230:39;1249:11;;;;;;;;;;;1262:6;1230:5;;;;;;;;;;;:18;;;;:39;;;;;:::i;:::-;1024:250;:::o;545:26::-;;;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;576:369:43:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;840:15:43;825:12;:30;817:39;;;;;;;;870:6;862:5;;:14;;;;;;;;;;;;;;;;;;896:12;882:11;;:26;;;;;;;;;;;;;;;;;;928:12;914:11;:26;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;576:369:43;;;;;;:::o;390:23::-;;;;;;;;;;;;;:::o;368:120:40:-;457:5;:14;;;472:2;476:5;457:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;457:25:40;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;457:25:40;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;457:25:40;;;;;;;;;;;;;;;;450:33;;;;;;368:120;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b506109ba806100206000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806338af3eed1461007d57806386d1a69f146100d4578063b91d4001146100eb578063c0bac1a814610116578063cf756fdf146101dd578063fc0c546a1461026a575b600080fd5b34801561008957600080fd5b506100926102c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100e057600080fd5b506100e96102e7565b005b3480156100f757600080fd5b50610100610475565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b506101c3600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061047b565b604051808215151515815260200191505060405180910390f35b3480156101e957600080fd5b50610268600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610566565b005b34801561027657600080fd5b5061027f61087d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060035442101515156102fa57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156103b757600080fd5b505af11580156103cb573d6000803e3d6000fd5b505050506040513d60208110156103e157600080fd5b8101908080519060200190929190505050905060008111151561040357600080fd5b610472600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108a39092919063ffffffff16565b50565b60035481565b600080836040518082805190602001908083835b6020831015156104b4578051825260208201915060208101905060208303925061048f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561051d57805182526020820191506020810190506020830392506104f8565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f546f6b656e54696d656c6f636b000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506105dc828261047b565b1515156105e857600080fd5b42831115156105f657600080fd5b84600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826003819055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156106e65780820151818401526020810190506106cb565b50505050905090810190601f1680156107135780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561074c578082015181840152602081019050610731565b50505050905090810190601f1680156107795780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156107c2578051825260208201915060208101905060208303925061079d565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561082b5780518252602082019150602081019050602083039250610806565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561094657600080fd5b505af115801561095a573d6000803e3d6000fd5b505050506040513d602081101561097057600080fd5b8101908080519060200190929190505050151561098957fe5b5050505600a165627a7a7230582051241fec1ff59a3126326ffa38005dd46c6a96ec41aaaac2ca0c00be600b56fe0029", + "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806338af3eed1461007d57806386d1a69f146100d4578063b91d4001146100eb578063c0bac1a814610116578063cf756fdf146101dd578063fc0c546a1461026a575b600080fd5b34801561008957600080fd5b506100926102c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100e057600080fd5b506100e96102e7565b005b3480156100f757600080fd5b50610100610475565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b506101c3600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061047b565b604051808215151515815260200191505060405180910390f35b3480156101e957600080fd5b50610268600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610566565b005b34801561027657600080fd5b5061027f61087d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060035442101515156102fa57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156103b757600080fd5b505af11580156103cb573d6000803e3d6000fd5b505050506040513d60208110156103e157600080fd5b8101908080519060200190929190505050905060008111151561040357600080fd5b610472600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108a39092919063ffffffff16565b50565b60035481565b600080836040518082805190602001908083835b6020831015156104b4578051825260208201915060208101905060208303925061048f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561051d57805182526020820191506020810190506020830392506104f8565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600d81526020017f546f6b656e54696d656c6f636b000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506105dc828261047b565b1515156105e857600080fd5b42831115156105f657600080fd5b84600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826003819055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156106e65780820151818401526020810190506106cb565b50505050905090810190601f1680156107135780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561074c578082015181840152602081019050610731565b50505050905090810190601f1680156107795780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156107c2578051825260208201915060208101905060208303925061079d565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561082b5780518252602082019150602081019050602083039250610806565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561094657600080fd5b505af115801561095a573d6000803e3d6000fd5b505050506040513d602081101561097057600080fd5b8101908080519060200190929190505050151561098957fe5b5050505600a165627a7a7230582051241fec1ff59a3126326ffa38005dd46c6a96ec41aaaac2ca0c00be600b56fe0029", + "sourceMap": "271:1005:45:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;271:1005:45;;;;;;;", + "deployedSourceMap": "271:1005:45:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;469:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;469:26:45;;;;;;;;;;;;;;;;;;;;;;;;;;;1024:250;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1024:250:45;;;;;;545:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;545:26:45;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;576:369:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;576:369:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;390:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;390:23:45;;;;;;;;;;;;;;;;;;;;;;;;;;;469:26;;;;;;;;;;;;;:::o;1024:250::-;1160:14;1141:11;;1122:15;:30;;1114:39;;;;;;;;1177:5;;;;;;;;;;;:15;;;1193:4;1177:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1177:21:45;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1177:21:45;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1177:21:45;;;;;;;;;;;;;;;;1160:38;;1221:1;1212:6;:10;1204:19;;;;;;;;1230:39;1249:11;;;;;;;;;;;1262:6;1230:5;;;;;;;;;;;:18;;;;:39;;;;;:::i;:::-;1024:250;:::o;545:26::-;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;576:369:45:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;840:15:45;825:12;:30;817:39;;;;;;;;870:6;862:5;;:14;;;;;;;;;;;;;;;;;;896:12;882:11;;:26;;;;;;;;;;;;;;;;;;928:12;914:11;:26;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;576:369:45;;;;;;:::o;390:23::-;;;;;;;;;;;;;:::o;368:120:42:-;457:5;:14;;;472:2;476:5;457:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;457:25:42;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;457:25:42;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;457:25:42;;;;;;;;;;;;;;;;450:33;;;;;;368:120;;;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"./SafeERC20.sol\";\nimport \"zos-lib/contracts/migrations/Migratable.sol\";\n\n\n/**\n * @title TokenTimelock\n * @dev TokenTimelock is a token holder contract that will allow a\n * beneficiary to extract the tokens after a given release time\n */\ncontract TokenTimelock is Migratable {\n using SafeERC20 for ERC20Basic;\n\n // ERC20 basic token contract being held\n ERC20Basic public token;\n\n // beneficiary of tokens after they are released\n address public beneficiary;\n\n // timestamp when token release is enabled\n uint256 public releaseTime;\n\n function initialize(\n address _sender,\n ERC20Basic _token,\n address _beneficiary,\n uint256 _releaseTime\n )\n isInitializer(\"TokenTimelock\", \"1.9.0\")\n public\n {\n // solium-disable-next-line security/no-block-members\n require(_releaseTime > block.timestamp);\n token = _token;\n beneficiary = _beneficiary;\n releaseTime = _releaseTime;\n }\n\n /**\n * @notice Transfers tokens held by timelock to beneficiary.\n */\n function release() public {\n // solium-disable-next-line security/no-block-members\n require(block.timestamp >= releaseTime);\n\n uint256 amount = token.balanceOf(this);\n require(amount > 0);\n\n token.safeTransfer(beneficiary, amount);\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/TokenTimelock.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/TokenTimelock.sol", "exportedSymbols": { "TokenTimelock": [ - 3185 + 3233 ] }, - "id": 3186, + "id": 3234, "nodeType": "SourceUnit", "nodes": [ { - "id": 3105, + "id": 3153, "literals": [ "solidity", "^", @@ -144,27 +144,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:43" + "src": "0:24:45" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/SafeERC20.sol", "file": "./SafeERC20.sol", - "id": 3106, + "id": 3154, "nodeType": "ImportDirective", - "scope": 3186, - "sourceUnit": 2808, - "src": "26:25:43", + "scope": 3234, + "sourceUnit": 2856, + "src": "26:25:45", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 3107, + "id": 3155, "nodeType": "ImportDirective", - "scope": 3186, - "sourceUnit": 4770, - "src": "52:53:43", + "scope": 3234, + "sourceUnit": 4865, + "src": "52:53:45", "symbolAliases": [], "unitAlias": "" }, @@ -174,86 +174,86 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 3108, + "id": 3156, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "297:10:43", + "referencedDeclaration": 4864, + "src": "297:10:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 3109, + "id": 3157, "nodeType": "InheritanceSpecifier", - "src": "297:10:43" + "src": "297:10:45" } ], "contractDependencies": [ - 4769 + 4864 ], "contractKind": "contract", "documentation": "@title TokenTimelock\n@dev TokenTimelock is a token holder contract that will allow a\nbeneficiary to extract the tokens after a given release time", "fullyImplemented": true, - "id": 3185, + "id": 3233, "linearizedBaseContracts": [ - 3185, - 4769 + 3233, + 4864 ], "name": "TokenTimelock", "nodeType": "ContractDefinition", "nodes": [ { - "id": 3112, + "id": 3160, "libraryName": { "contractScope": null, - "id": 3110, + "id": 3158, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2807, - "src": "318:9:43", + "referencedDeclaration": 2855, + "src": "318:9:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$2807", + "typeIdentifier": "t_contract$_SafeERC20_$2855", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "312:31:43", + "src": "312:31:45", "typeName": { "contractScope": null, - "id": 3111, + "id": 3159, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "332:10:43", + "referencedDeclaration": 2559, + "src": "332:10:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } } }, { "constant": false, - "id": 3114, + "id": 3162, "name": "token", "nodeType": "VariableDeclaration", - "scope": 3185, - "src": "390:23:43", + "scope": 3233, + "src": "390:23:45", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" }, "typeName": { "contractScope": null, - "id": 3113, + "id": 3161, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "390:10:43", + "referencedDeclaration": 2559, + "src": "390:10:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -262,11 +262,11 @@ }, { "constant": false, - "id": 3116, + "id": 3164, "name": "beneficiary", "nodeType": "VariableDeclaration", - "scope": 3185, - "src": "469:26:43", + "scope": 3233, + "src": "469:26:45", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -274,10 +274,10 @@ "typeString": "address" }, "typeName": { - "id": 3115, + "id": 3163, "name": "address", "nodeType": "ElementaryTypeName", - "src": "469:7:43", + "src": "469:7:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -288,11 +288,11 @@ }, { "constant": false, - "id": 3118, + "id": 3166, "name": "releaseTime", "nodeType": "VariableDeclaration", - "scope": 3185, - "src": "545:26:43", + "scope": 3233, + "src": "545:26:45", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -300,10 +300,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3117, + "id": 3165, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "545:7:43", + "src": "545:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -314,9 +314,9 @@ }, { "body": { - "id": 3152, + "id": 3200, "nodeType": "Block", - "src": "753:192:43", + "src": "753:192:45", "statements": [ { "expression": { @@ -328,19 +328,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3137, + "id": 3185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3134, + "id": 3182, "name": "_releaseTime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3126, - "src": "825:12:43", + "referencedDeclaration": 3174, + "src": "825:12:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -352,18 +352,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3135, + "id": 3183, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "840:5:43", + "referencedDeclaration": 4869, + "src": "840:5:45", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 3136, + "id": 3184, "isConstant": false, "isLValue": false, "isPure": false, @@ -371,13 +371,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "840:15:43", + "src": "840:15:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "825:30:43", + "src": "825:30:45", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -391,21 +391,21 @@ "typeString": "bool" } ], - "id": 3133, + "id": 3181, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "817:7:43", + "referencedDeclaration": 4882, + "src": "817:7:45", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3138, + "id": 3186, "isConstant": false, "isLValue": false, "isPure": false, @@ -413,34 +413,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "817:39:43", + "src": "817:39:45", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3139, + "id": 3187, "nodeType": "ExpressionStatement", - "src": "817:39:43" + "src": "817:39:45" }, { "expression": { "argumentTypes": null, - "id": 3142, + "id": 3190, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3140, + "id": 3188, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3114, - "src": "862:5:43", + "referencedDeclaration": 3162, + "src": "862:5:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -448,43 +448,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3141, + "id": 3189, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3122, - "src": "870:6:43", + "referencedDeclaration": 3170, + "src": "870:6:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "src": "862:14:43", + "src": "862:14:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 3143, + "id": 3191, "nodeType": "ExpressionStatement", - "src": "862:14:43" + "src": "862:14:45" }, { "expression": { "argumentTypes": null, - "id": 3146, + "id": 3194, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3144, + "id": 3192, "name": "beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3116, - "src": "882:11:43", + "referencedDeclaration": 3164, + "src": "882:11:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -494,43 +494,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3145, + "id": 3193, "name": "_beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "896:12:43", + "referencedDeclaration": 3172, + "src": "896:12:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "882:26:43", + "src": "882:26:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3147, + "id": 3195, "nodeType": "ExpressionStatement", - "src": "882:26:43" + "src": "882:26:45" }, { "expression": { "argumentTypes": null, - "id": 3150, + "id": 3198, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3148, + "id": 3196, "name": "releaseTime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3118, - "src": "914:11:43", + "referencedDeclaration": 3166, + "src": "914:11:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -540,31 +540,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3149, + "id": 3197, "name": "_releaseTime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3126, - "src": "928:12:43", + "referencedDeclaration": 3174, + "src": "928:12:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "914:26:43", + "src": "914:26:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3151, + "id": 3199, "nodeType": "ExpressionStatement", - "src": "914:26:43" + "src": "914:26:45" } ] }, "documentation": null, - "id": 3153, + "id": 3201, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -574,14 +574,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e54696d656c6f636b", - "id": 3129, + "id": 3177, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "714:15:43", + "src": "714:15:45", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0b962d7185fbf448bbcc074b7065cb1e18685a80b203d05fa4e86b9cd9d6a666", @@ -592,14 +592,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 3130, + "id": 3178, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "731:7:43", + "src": "731:7:45", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -608,37 +608,37 @@ "value": "1.9.0" } ], - "id": 3131, + "id": 3179, "modifierName": { "argumentTypes": null, - "id": 3128, + "id": 3176, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "700:13:43", + "referencedDeclaration": 4811, + "src": "700:13:45", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "700:39:43" + "src": "700:39:45" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 3127, + "id": 3175, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3120, + "id": 3168, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 3153, - "src": "601:15:43", + "scope": 3201, + "src": "601:15:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -646,10 +646,10 @@ "typeString": "address" }, "typeName": { - "id": 3119, + "id": 3167, "name": "address", "nodeType": "ElementaryTypeName", - "src": "601:7:43", + "src": "601:7:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -660,26 +660,26 @@ }, { "constant": false, - "id": 3122, + "id": 3170, "name": "_token", "nodeType": "VariableDeclaration", - "scope": 3153, - "src": "622:17:43", + "scope": 3201, + "src": "622:17:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" }, "typeName": { "contractScope": null, - "id": 3121, + "id": 3169, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "622:10:43", + "referencedDeclaration": 2559, + "src": "622:10:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -688,11 +688,11 @@ }, { "constant": false, - "id": 3124, + "id": 3172, "name": "_beneficiary", "nodeType": "VariableDeclaration", - "scope": 3153, - "src": "645:20:43", + "scope": 3201, + "src": "645:20:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -700,10 +700,10 @@ "typeString": "address" }, "typeName": { - "id": 3123, + "id": 3171, "name": "address", "nodeType": "ElementaryTypeName", - "src": "645:7:43", + "src": "645:7:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -714,11 +714,11 @@ }, { "constant": false, - "id": 3126, + "id": 3174, "name": "_releaseTime", "nodeType": "VariableDeclaration", - "scope": 3153, - "src": "671:20:43", + "scope": 3201, + "src": "671:20:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -726,10 +726,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3125, + "id": 3173, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "671:7:43", + "src": "671:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -739,26 +739,26 @@ "visibility": "internal" } ], - "src": "595:100:43" + "src": "595:100:45" }, "payable": false, "returnParameters": { - "id": 3132, + "id": 3180, "nodeType": "ParameterList", "parameters": [], - "src": "753:0:43" + "src": "753:0:45" }, - "scope": 3185, - "src": "576:369:43", + "scope": 3233, + "src": "576:369:45", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 3183, + "id": 3231, "nodeType": "Block", - "src": "1050:224:43", + "src": "1050:224:45", "statements": [ { "expression": { @@ -770,7 +770,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3160, + "id": 3208, "isConstant": false, "isLValue": false, "isPure": false, @@ -779,18 +779,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3157, + "id": 3205, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "1122:5:43", + "referencedDeclaration": 4869, + "src": "1122:5:45", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 3158, + "id": 3206, "isConstant": false, "isLValue": false, "isPure": false, @@ -798,7 +798,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1122:15:43", + "src": "1122:15:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -808,18 +808,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 3159, + "id": 3207, "name": "releaseTime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3118, - "src": "1141:11:43", + "referencedDeclaration": 3166, + "src": "1141:11:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1122:30:43", + "src": "1122:30:45", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -833,21 +833,21 @@ "typeString": "bool" } ], - "id": 3156, + "id": 3204, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1114:7:43", + "referencedDeclaration": 4882, + "src": "1114:7:45", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3161, + "id": 3209, "isConstant": false, "isLValue": false, "isPure": false, @@ -855,28 +855,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1114:39:43", + "src": "1114:39:45", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3162, + "id": 3210, "nodeType": "ExpressionStatement", - "src": "1114:39:43" + "src": "1114:39:45" }, { "assignments": [ - 3164 + 3212 ], "declarations": [ { "constant": false, - "id": 3164, + "id": 3212, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 3184, - "src": "1160:14:43", + "scope": 3232, + "src": "1160:14:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -884,10 +884,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3163, + "id": 3211, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1160:7:43", + "src": "1160:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -897,20 +897,20 @@ "visibility": "internal" } ], - "id": 3169, + "id": 3217, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3167, + "id": 3215, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4903, - "src": "1193:4:43", + "referencedDeclaration": 5002, + "src": "1193:4:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenTimelock_$3185", + "typeIdentifier": "t_contract$_TokenTimelock_$3233", "typeString": "contract TokenTimelock" } } @@ -918,38 +918,38 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_TokenTimelock_$3185", + "typeIdentifier": "t_contract$_TokenTimelock_$3233", "typeString": "contract TokenTimelock" } ], "expression": { "argumentTypes": null, - "id": 3165, + "id": 3213, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3114, - "src": "1177:5:43", + "referencedDeclaration": 3162, + "src": "1177:5:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 3166, + "id": 3214, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2493, - "src": "1177:15:43", + "referencedDeclaration": 2541, + "src": "1177:15:45", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 3168, + "id": 3216, "isConstant": false, "isLValue": false, "isPure": false, @@ -957,14 +957,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1177:21:43", + "src": "1177:21:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1160:38:43" + "src": "1160:38:45" }, { "expression": { @@ -976,19 +976,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3173, + "id": 3221, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3171, + "id": 3219, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3164, - "src": "1212:6:43", + "referencedDeclaration": 3212, + "src": "1212:6:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -999,14 +999,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 3172, + "id": 3220, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1221:1:43", + "src": "1221:1:45", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1014,7 +1014,7 @@ }, "value": "0" }, - "src": "1212:10:43", + "src": "1212:10:45", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1028,21 +1028,21 @@ "typeString": "bool" } ], - "id": 3170, + "id": 3218, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1204:7:43", + "referencedDeclaration": 4882, + "src": "1204:7:45", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3174, + "id": 3222, "isConstant": false, "isLValue": false, "isPure": false, @@ -1050,15 +1050,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1204:19:43", + "src": "1204:19:45", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3175, + "id": 3223, "nodeType": "ExpressionStatement", - "src": "1204:19:43" + "src": "1204:19:45" }, { "expression": { @@ -1066,12 +1066,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3179, + "id": 3227, "name": "beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3116, - "src": "1249:11:43", + "referencedDeclaration": 3164, + "src": "1249:11:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1079,12 +1079,12 @@ }, { "argumentTypes": null, - "id": 3180, + "id": 3228, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3164, - "src": "1262:6:43", + "referencedDeclaration": 3212, + "src": "1262:6:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1104,32 +1104,32 @@ ], "expression": { "argumentTypes": null, - "id": 3176, + "id": 3224, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3114, - "src": "1230:5:43", + "referencedDeclaration": 3162, + "src": "1230:5:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 3178, + "id": 3226, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "1230:18:43", + "referencedDeclaration": 2815, + "src": "1230:18:45", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 3181, + "id": 3229, "isConstant": false, "isLValue": false, "isPure": false, @@ -1137,20 +1137,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1230:39:43", + "src": "1230:39:45", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3182, + "id": 3230, "nodeType": "ExpressionStatement", - "src": "1230:39:43" + "src": "1230:39:45" } ] }, "documentation": "@notice Transfers tokens held by timelock to beneficiary.", - "id": 3184, + "id": 3232, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1158,43 +1158,43 @@ "name": "release", "nodeType": "FunctionDefinition", "parameters": { - "id": 3154, + "id": 3202, "nodeType": "ParameterList", "parameters": [], - "src": "1040:2:43" + "src": "1040:2:45" }, "payable": false, "returnParameters": { - "id": 3155, + "id": 3203, "nodeType": "ParameterList", "parameters": [], - "src": "1050:0:43" + "src": "1050:0:45" }, - "scope": 3185, - "src": "1024:250:43", + "scope": 3233, + "src": "1024:250:45", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 3186, - "src": "271:1005:43" + "scope": 3234, + "src": "271:1005:45" } ], - "src": "0:1277:43" + "src": "0:1277:45" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/TokenTimelock.sol", "exportedSymbols": { "TokenTimelock": [ - 3185 + 3233 ] }, - "id": 3186, + "id": 3234, "nodeType": "SourceUnit", "nodes": [ { - "id": 3105, + "id": 3153, "literals": [ "solidity", "^", @@ -1202,27 +1202,27 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "0:24:43" + "src": "0:24:45" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/SafeERC20.sol", "file": "./SafeERC20.sol", - "id": 3106, + "id": 3154, "nodeType": "ImportDirective", - "scope": 3186, - "sourceUnit": 2808, - "src": "26:25:43", + "scope": 3234, + "sourceUnit": 2856, + "src": "26:25:45", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 3107, + "id": 3155, "nodeType": "ImportDirective", - "scope": 3186, - "sourceUnit": 4770, - "src": "52:53:43", + "scope": 3234, + "sourceUnit": 4865, + "src": "52:53:45", "symbolAliases": [], "unitAlias": "" }, @@ -1232,86 +1232,86 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 3108, + "id": 3156, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "297:10:43", + "referencedDeclaration": 4864, + "src": "297:10:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 3109, + "id": 3157, "nodeType": "InheritanceSpecifier", - "src": "297:10:43" + "src": "297:10:45" } ], "contractDependencies": [ - 4769 + 4864 ], "contractKind": "contract", "documentation": "@title TokenTimelock\n@dev TokenTimelock is a token holder contract that will allow a\nbeneficiary to extract the tokens after a given release time", "fullyImplemented": true, - "id": 3185, + "id": 3233, "linearizedBaseContracts": [ - 3185, - 4769 + 3233, + 4864 ], "name": "TokenTimelock", "nodeType": "ContractDefinition", "nodes": [ { - "id": 3112, + "id": 3160, "libraryName": { "contractScope": null, - "id": 3110, + "id": 3158, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2807, - "src": "318:9:43", + "referencedDeclaration": 2855, + "src": "318:9:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$2807", + "typeIdentifier": "t_contract$_SafeERC20_$2855", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "312:31:43", + "src": "312:31:45", "typeName": { "contractScope": null, - "id": 3111, + "id": 3159, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "332:10:43", + "referencedDeclaration": 2559, + "src": "332:10:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } } }, { "constant": false, - "id": 3114, + "id": 3162, "name": "token", "nodeType": "VariableDeclaration", - "scope": 3185, - "src": "390:23:43", + "scope": 3233, + "src": "390:23:45", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" }, "typeName": { "contractScope": null, - "id": 3113, + "id": 3161, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "390:10:43", + "referencedDeclaration": 2559, + "src": "390:10:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -1320,11 +1320,11 @@ }, { "constant": false, - "id": 3116, + "id": 3164, "name": "beneficiary", "nodeType": "VariableDeclaration", - "scope": 3185, - "src": "469:26:43", + "scope": 3233, + "src": "469:26:45", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1332,10 +1332,10 @@ "typeString": "address" }, "typeName": { - "id": 3115, + "id": 3163, "name": "address", "nodeType": "ElementaryTypeName", - "src": "469:7:43", + "src": "469:7:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1346,11 +1346,11 @@ }, { "constant": false, - "id": 3118, + "id": 3166, "name": "releaseTime", "nodeType": "VariableDeclaration", - "scope": 3185, - "src": "545:26:43", + "scope": 3233, + "src": "545:26:45", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1358,10 +1358,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3117, + "id": 3165, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "545:7:43", + "src": "545:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1372,9 +1372,9 @@ }, { "body": { - "id": 3152, + "id": 3200, "nodeType": "Block", - "src": "753:192:43", + "src": "753:192:45", "statements": [ { "expression": { @@ -1386,19 +1386,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3137, + "id": 3185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3134, + "id": 3182, "name": "_releaseTime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3126, - "src": "825:12:43", + "referencedDeclaration": 3174, + "src": "825:12:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1410,18 +1410,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3135, + "id": 3183, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "840:5:43", + "referencedDeclaration": 4869, + "src": "840:5:45", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 3136, + "id": 3184, "isConstant": false, "isLValue": false, "isPure": false, @@ -1429,13 +1429,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "840:15:43", + "src": "840:15:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "825:30:43", + "src": "825:30:45", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1449,21 +1449,21 @@ "typeString": "bool" } ], - "id": 3133, + "id": 3181, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "817:7:43", + "referencedDeclaration": 4882, + "src": "817:7:45", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3138, + "id": 3186, "isConstant": false, "isLValue": false, "isPure": false, @@ -1471,34 +1471,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "817:39:43", + "src": "817:39:45", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3139, + "id": 3187, "nodeType": "ExpressionStatement", - "src": "817:39:43" + "src": "817:39:45" }, { "expression": { "argumentTypes": null, - "id": 3142, + "id": 3190, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3140, + "id": 3188, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3114, - "src": "862:5:43", + "referencedDeclaration": 3162, + "src": "862:5:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -1506,43 +1506,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3141, + "id": 3189, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3122, - "src": "870:6:43", + "referencedDeclaration": 3170, + "src": "870:6:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "src": "862:14:43", + "src": "862:14:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 3143, + "id": 3191, "nodeType": "ExpressionStatement", - "src": "862:14:43" + "src": "862:14:45" }, { "expression": { "argumentTypes": null, - "id": 3146, + "id": 3194, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3144, + "id": 3192, "name": "beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3116, - "src": "882:11:43", + "referencedDeclaration": 3164, + "src": "882:11:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1552,43 +1552,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3145, + "id": 3193, "name": "_beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "896:12:43", + "referencedDeclaration": 3172, + "src": "896:12:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "882:26:43", + "src": "882:26:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3147, + "id": 3195, "nodeType": "ExpressionStatement", - "src": "882:26:43" + "src": "882:26:45" }, { "expression": { "argumentTypes": null, - "id": 3150, + "id": 3198, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3148, + "id": 3196, "name": "releaseTime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3118, - "src": "914:11:43", + "referencedDeclaration": 3166, + "src": "914:11:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1598,31 +1598,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3149, + "id": 3197, "name": "_releaseTime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3126, - "src": "928:12:43", + "referencedDeclaration": 3174, + "src": "928:12:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "914:26:43", + "src": "914:26:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3151, + "id": 3199, "nodeType": "ExpressionStatement", - "src": "914:26:43" + "src": "914:26:45" } ] }, "documentation": null, - "id": 3153, + "id": 3201, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1632,14 +1632,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e54696d656c6f636b", - "id": 3129, + "id": 3177, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "714:15:43", + "src": "714:15:45", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0b962d7185fbf448bbcc074b7065cb1e18685a80b203d05fa4e86b9cd9d6a666", @@ -1650,14 +1650,14 @@ { "argumentTypes": null, "hexValue": "312e392e30", - "id": 3130, + "id": 3178, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "731:7:43", + "src": "731:7:45", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", @@ -1666,37 +1666,37 @@ "value": "1.9.0" } ], - "id": 3131, + "id": 3179, "modifierName": { "argumentTypes": null, - "id": 3128, + "id": 3176, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "700:13:43", + "referencedDeclaration": 4811, + "src": "700:13:45", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", - "src": "700:39:43" + "src": "700:39:45" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 3127, + "id": 3175, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3120, + "id": 3168, "name": "_sender", "nodeType": "VariableDeclaration", - "scope": 3153, - "src": "601:15:43", + "scope": 3201, + "src": "601:15:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1704,10 +1704,10 @@ "typeString": "address" }, "typeName": { - "id": 3119, + "id": 3167, "name": "address", "nodeType": "ElementaryTypeName", - "src": "601:7:43", + "src": "601:7:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1718,26 +1718,26 @@ }, { "constant": false, - "id": 3122, + "id": 3170, "name": "_token", "nodeType": "VariableDeclaration", - "scope": 3153, - "src": "622:17:43", + "scope": 3201, + "src": "622:17:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" }, "typeName": { "contractScope": null, - "id": 3121, + "id": 3169, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "622:10:43", + "referencedDeclaration": 2559, + "src": "622:10:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -1746,11 +1746,11 @@ }, { "constant": false, - "id": 3124, + "id": 3172, "name": "_beneficiary", "nodeType": "VariableDeclaration", - "scope": 3153, - "src": "645:20:43", + "scope": 3201, + "src": "645:20:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1758,10 +1758,10 @@ "typeString": "address" }, "typeName": { - "id": 3123, + "id": 3171, "name": "address", "nodeType": "ElementaryTypeName", - "src": "645:7:43", + "src": "645:7:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1772,11 +1772,11 @@ }, { "constant": false, - "id": 3126, + "id": 3174, "name": "_releaseTime", "nodeType": "VariableDeclaration", - "scope": 3153, - "src": "671:20:43", + "scope": 3201, + "src": "671:20:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1784,10 +1784,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3125, + "id": 3173, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "671:7:43", + "src": "671:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1797,26 +1797,26 @@ "visibility": "internal" } ], - "src": "595:100:43" + "src": "595:100:45" }, "payable": false, "returnParameters": { - "id": 3132, + "id": 3180, "nodeType": "ParameterList", "parameters": [], - "src": "753:0:43" + "src": "753:0:45" }, - "scope": 3185, - "src": "576:369:43", + "scope": 3233, + "src": "576:369:45", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 3183, + "id": 3231, "nodeType": "Block", - "src": "1050:224:43", + "src": "1050:224:45", "statements": [ { "expression": { @@ -1828,7 +1828,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3160, + "id": 3208, "isConstant": false, "isLValue": false, "isPure": false, @@ -1837,18 +1837,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3157, + "id": 3205, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "1122:5:43", + "referencedDeclaration": 4869, + "src": "1122:5:45", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 3158, + "id": 3206, "isConstant": false, "isLValue": false, "isPure": false, @@ -1856,7 +1856,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1122:15:43", + "src": "1122:15:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1866,18 +1866,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 3159, + "id": 3207, "name": "releaseTime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3118, - "src": "1141:11:43", + "referencedDeclaration": 3166, + "src": "1141:11:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1122:30:43", + "src": "1122:30:45", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1891,21 +1891,21 @@ "typeString": "bool" } ], - "id": 3156, + "id": 3204, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1114:7:43", + "referencedDeclaration": 4882, + "src": "1114:7:45", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3161, + "id": 3209, "isConstant": false, "isLValue": false, "isPure": false, @@ -1913,28 +1913,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1114:39:43", + "src": "1114:39:45", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3162, + "id": 3210, "nodeType": "ExpressionStatement", - "src": "1114:39:43" + "src": "1114:39:45" }, { "assignments": [ - 3164 + 3212 ], "declarations": [ { "constant": false, - "id": 3164, + "id": 3212, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 3184, - "src": "1160:14:43", + "scope": 3232, + "src": "1160:14:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1942,10 +1942,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3163, + "id": 3211, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1160:7:43", + "src": "1160:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1955,20 +1955,20 @@ "visibility": "internal" } ], - "id": 3169, + "id": 3217, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3167, + "id": 3215, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4903, - "src": "1193:4:43", + "referencedDeclaration": 5002, + "src": "1193:4:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenTimelock_$3185", + "typeIdentifier": "t_contract$_TokenTimelock_$3233", "typeString": "contract TokenTimelock" } } @@ -1976,38 +1976,38 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_TokenTimelock_$3185", + "typeIdentifier": "t_contract$_TokenTimelock_$3233", "typeString": "contract TokenTimelock" } ], "expression": { "argumentTypes": null, - "id": 3165, + "id": 3213, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3114, - "src": "1177:5:43", + "referencedDeclaration": 3162, + "src": "1177:5:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 3166, + "id": 3214, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2493, - "src": "1177:15:43", + "referencedDeclaration": 2541, + "src": "1177:15:45", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 3168, + "id": 3216, "isConstant": false, "isLValue": false, "isPure": false, @@ -2015,14 +2015,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1177:21:43", + "src": "1177:21:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1160:38:43" + "src": "1160:38:45" }, { "expression": { @@ -2034,19 +2034,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3173, + "id": 3221, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3171, + "id": 3219, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3164, - "src": "1212:6:43", + "referencedDeclaration": 3212, + "src": "1212:6:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2057,14 +2057,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 3172, + "id": 3220, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1221:1:43", + "src": "1221:1:45", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2072,7 +2072,7 @@ }, "value": "0" }, - "src": "1212:10:43", + "src": "1212:10:45", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2086,21 +2086,21 @@ "typeString": "bool" } ], - "id": 3170, + "id": 3218, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1204:7:43", + "referencedDeclaration": 4882, + "src": "1204:7:45", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3174, + "id": 3222, "isConstant": false, "isLValue": false, "isPure": false, @@ -2108,15 +2108,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1204:19:43", + "src": "1204:19:45", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3175, + "id": 3223, "nodeType": "ExpressionStatement", - "src": "1204:19:43" + "src": "1204:19:45" }, { "expression": { @@ -2124,12 +2124,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3179, + "id": 3227, "name": "beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3116, - "src": "1249:11:43", + "referencedDeclaration": 3164, + "src": "1249:11:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2137,12 +2137,12 @@ }, { "argumentTypes": null, - "id": 3180, + "id": 3228, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3164, - "src": "1262:6:43", + "referencedDeclaration": 3212, + "src": "1262:6:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2162,32 +2162,32 @@ ], "expression": { "argumentTypes": null, - "id": 3176, + "id": 3224, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3114, - "src": "1230:5:43", + "referencedDeclaration": 3162, + "src": "1230:5:45", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 3178, + "id": 3226, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "1230:18:43", + "referencedDeclaration": 2815, + "src": "1230:18:45", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 3181, + "id": 3229, "isConstant": false, "isLValue": false, "isPure": false, @@ -2195,20 +2195,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1230:39:43", + "src": "1230:39:45", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3182, + "id": 3230, "nodeType": "ExpressionStatement", - "src": "1230:39:43" + "src": "1230:39:45" } ] }, "documentation": "@notice Transfers tokens held by timelock to beneficiary.", - "id": 3184, + "id": 3232, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2216,36 +2216,36 @@ "name": "release", "nodeType": "FunctionDefinition", "parameters": { - "id": 3154, + "id": 3202, "nodeType": "ParameterList", "parameters": [], - "src": "1040:2:43" + "src": "1040:2:45" }, "payable": false, "returnParameters": { - "id": 3155, + "id": 3203, "nodeType": "ParameterList", "parameters": [], - "src": "1050:0:43" + "src": "1050:0:45" }, - "scope": 3185, - "src": "1024:250:43", + "scope": 3233, + "src": "1024:250:45", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 3186, - "src": "271:1005:43" + "scope": 3234, + "src": "271:1005:45" } ], - "src": "0:1277:43" + "src": "0:1277:45" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.642Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.216Z" } \ No newline at end of file diff --git a/build/contracts/TokenVesting.json b/build/contracts/TokenVesting.json index da442d40e..6a79d5786 100644 --- a/build/contracts/TokenVesting.json +++ b/build/contracts/TokenVesting.json @@ -327,24 +327,24 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506116e9806100206000396000f3006080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630fb5a6b4146100eb57806313d033c0146101165780631726cbc8146101415780631916558714610198578063384711cc146101db57806338af3eed1461023257806374a8f10314610289578063872a7810146102cc5780638da5cb5b146102fb578063914a4ed7146103525780639852595c146103df578063be9a655514610436578063c0bac1a814610461578063c4d66de814610528578063f2fde38b1461056b578063fa01dc06146105ae575b600080fd5b3480156100f757600080fd5b50610100610609565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b5061012b61060f565b6040518082815260200191505060405180910390f35b34801561014d57600080fd5b50610182600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610615565b6040518082815260200191505060405180910390f35b3480156101a457600080fd5b506101d9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610678565b005b3480156101e757600080fd5b5061021c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107b1565b6040518082815260200191505060405180910390f35b34801561023e57600080fd5b506102476109b5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029557600080fd5b506102ca600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109db565b005b3480156102d857600080fd5b506102e1610c7f565b604051808215151515815260200191505060405180910390f35b34801561030757600080fd5b50610310610c92565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035e57600080fd5b506103dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803515159060200190929190505050610cb8565b005b3480156103eb57600080fd5b50610420600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611010565b6040518082815260200191505060405180910390f35b34801561044257600080fd5b5061044b611028565b6040518082815260200191505060405180910390f35b34801561046d57600080fd5b5061050e600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061102e565b604051808215151515815260200191505060405180910390f35b34801561053457600080fd5b50610569600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611119565b005b34801561057757600080fd5b506105ac600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113d7565b005b3480156105ba57600080fd5b506105ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061152f565b604051808215151515815260200191505060405180910390f35b60055481565b60035481565b6000610671600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610663846107b1565b61154f90919063ffffffff16565b9050919050565b600061068382610615565b905060008111151561069457600080fd5b6106e681600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156890919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610776600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff166115849092919063ffffffff16565b7ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c565816040518082815260200191505060405180910390a15050565b60008060008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561085157600080fd5b505af1158015610865573d6000803e3d6000fd5b505050506040513d602081101561087b57600080fd5b810190808051906020019092919050505091506108e0600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361156890919063ffffffff16565b90506003544210156108f557600092506109ae565b61090c60055460045461156890919063ffffffff16565b421015806109635750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610970578092506109ae565b6109ab60055461099d61098e6004544261154f90919063ffffffff16565b8461166f90919063ffffffff16565b6116a790919063ffffffff16565b92505b5050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a3c57600080fd5b600660009054906101000a900460ff161515610a5757600080fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610ab057600080fd5b8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b4b57600080fd5b505af1158015610b5f573d6000803e3d6000fd5b505050506040513d6020811015610b7557600080fd5b81019080805190602001909291905050509250610b9184610615565b9150610ba6828461154f90919063ffffffff16565b90506001600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610c4d600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828673ffffffffffffffffffffffffffffffffffffffff166115849092919063ffffffff16565b7f44825a4b2df8acb19ce4e1afba9aa850c8b65cdb7942e2078f27d0b0960efee660405160405180910390a150505050565b600660009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600c81526020017f546f6b656e56657374696e6700000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610d2e828261102e565b151515610d3a57600080fd5b610d4388611119565b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614151515610d7f57600080fd5b838511151515610d8e57600080fd5b86600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600660006101000a81548160ff02191690831515021790555083600581905550610e03858761156890919063ffffffff16565b600381905550856004819055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610e77578082015181840152602081019050610e5c565b50505050905090810190601f168015610ea45780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610edd578082015181840152602081019050610ec2565b50505050905090810190601f168015610f0a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610f535780518252602082019150602081019050602083039250610f2e565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610fbc5780518252602082019150602081019050602083039250610f97565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050505050565b60076020528060005260406000206000915090505481565b60045481565b600080836040518082805190602001908083835b6020831015156110675780518252602082019150602081019050602083039250611042565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156110d057805182526020820191506020810190506020830392506110ab565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061118f828261102e565b15151561119b57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611243578082015181840152602081019050611228565b50505050905090810190601f1680156112705780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156112a957808201518184015260208101905061128e565b50505050905090810190601f1680156112d65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561131f57805182526020820191506020810190506020830392506112fa565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156113885780518252602082019150602081019050602083039250611363565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561143357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561146f57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60086020528060005260406000206000915054906101000a900460ff1681565b600082821115151561155d57fe5b818303905092915050565b6000818301905082811015151561157b57fe5b80905092915050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561162757600080fd5b505af115801561163b573d6000803e3d6000fd5b505050506040513d602081101561165157600080fd5b8101908080519060200190929190505050151561166a57fe5b505050565b60008083141561168257600090506116a1565b818302905081838281151561169357fe5b0414151561169d57fe5b8090505b92915050565b600081838115156116b457fe5b049050929150505600a165627a7a72305820f5e0e3b159468a3907d03bc1e253ea328fa6072f4cbab92ef3fccd8b740ae3900029", - "deployedBytecode": "0x6080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630fb5a6b4146100eb57806313d033c0146101165780631726cbc8146101415780631916558714610198578063384711cc146101db57806338af3eed1461023257806374a8f10314610289578063872a7810146102cc5780638da5cb5b146102fb578063914a4ed7146103525780639852595c146103df578063be9a655514610436578063c0bac1a814610461578063c4d66de814610528578063f2fde38b1461056b578063fa01dc06146105ae575b600080fd5b3480156100f757600080fd5b50610100610609565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b5061012b61060f565b6040518082815260200191505060405180910390f35b34801561014d57600080fd5b50610182600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610615565b6040518082815260200191505060405180910390f35b3480156101a457600080fd5b506101d9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610678565b005b3480156101e757600080fd5b5061021c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107b1565b6040518082815260200191505060405180910390f35b34801561023e57600080fd5b506102476109b5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029557600080fd5b506102ca600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109db565b005b3480156102d857600080fd5b506102e1610c7f565b604051808215151515815260200191505060405180910390f35b34801561030757600080fd5b50610310610c92565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035e57600080fd5b506103dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803515159060200190929190505050610cb8565b005b3480156103eb57600080fd5b50610420600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611010565b6040518082815260200191505060405180910390f35b34801561044257600080fd5b5061044b611028565b6040518082815260200191505060405180910390f35b34801561046d57600080fd5b5061050e600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061102e565b604051808215151515815260200191505060405180910390f35b34801561053457600080fd5b50610569600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611119565b005b34801561057757600080fd5b506105ac600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113d7565b005b3480156105ba57600080fd5b506105ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061152f565b604051808215151515815260200191505060405180910390f35b60055481565b60035481565b6000610671600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610663846107b1565b61154f90919063ffffffff16565b9050919050565b600061068382610615565b905060008111151561069457600080fd5b6106e681600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156890919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610776600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff166115849092919063ffffffff16565b7ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c565816040518082815260200191505060405180910390a15050565b60008060008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561085157600080fd5b505af1158015610865573d6000803e3d6000fd5b505050506040513d602081101561087b57600080fd5b810190808051906020019092919050505091506108e0600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361156890919063ffffffff16565b90506003544210156108f557600092506109ae565b61090c60055460045461156890919063ffffffff16565b421015806109635750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610970578092506109ae565b6109ab60055461099d61098e6004544261154f90919063ffffffff16565b8461166f90919063ffffffff16565b6116a790919063ffffffff16565b92505b5050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a3c57600080fd5b600660009054906101000a900460ff161515610a5757600080fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610ab057600080fd5b8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b4b57600080fd5b505af1158015610b5f573d6000803e3d6000fd5b505050506040513d6020811015610b7557600080fd5b81019080805190602001909291905050509250610b9184610615565b9150610ba6828461154f90919063ffffffff16565b90506001600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610c4d600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828673ffffffffffffffffffffffffffffffffffffffff166115849092919063ffffffff16565b7f44825a4b2df8acb19ce4e1afba9aa850c8b65cdb7942e2078f27d0b0960efee660405160405180910390a150505050565b600660009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600c81526020017f546f6b656e56657374696e6700000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610d2e828261102e565b151515610d3a57600080fd5b610d4388611119565b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614151515610d7f57600080fd5b838511151515610d8e57600080fd5b86600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600660006101000a81548160ff02191690831515021790555083600581905550610e03858761156890919063ffffffff16565b600381905550856004819055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610e77578082015181840152602081019050610e5c565b50505050905090810190601f168015610ea45780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610edd578082015181840152602081019050610ec2565b50505050905090810190601f168015610f0a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610f535780518252602082019150602081019050602083039250610f2e565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610fbc5780518252602082019150602081019050602083039250610f97565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050505050565b60076020528060005260406000206000915090505481565b60045481565b600080836040518082805190602001908083835b6020831015156110675780518252602082019150602081019050602083039250611042565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156110d057805182526020820191506020810190506020830392506110ab565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061118f828261102e565b15151561119b57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611243578082015181840152602081019050611228565b50505050905090810190601f1680156112705780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156112a957808201518184015260208101905061128e565b50505050905090810190601f1680156112d65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561131f57805182526020820191506020810190506020830392506112fa565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156113885780518252602082019150602081019050602083039250611363565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561143357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561146f57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60086020528060005260406000206000915054906101000a900460ff1681565b600082821115151561155d57fe5b818303905092915050565b6000818301905082811015151561157b57fe5b80905092915050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561162757600080fd5b505af115801561163b573d6000803e3d6000fd5b505050506040513d602081101561165157600080fd5b8101908080519060200190929190505050151561166a57fe5b505050565b60008083141561168257600090506116a1565b818302905081838281151561169357fe5b0414151561169d57fe5b8090505b92915050565b600081838115156116b457fe5b049050929150505600a165627a7a72305820f5e0e3b159468a3907d03bc1e253ea328fa6072f4cbab92ef3fccd8b740ae3900029", - "sourceMap": "468:3244:44:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;468:3244:44;;;;;;;", - "deployedSourceMap": "468:3244:44:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;766:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;766:23:44;;;;;;;;;;;;;;;;;;;;;;;718:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;718:20:44;;;;;;;;;;;;;;;;;;;;;;;3016:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3016:132:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2047:265;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2047:265:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;3273:437;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3273:437:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;687:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;687:26:44;;;;;;;;;;;;;;;;;;;;;;;;;;;2520:342;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2520:342:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;794:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;794:21:44;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:25;;;;;;;;;;;;;;;;;;;;;;;;;;;1462:464:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1462:464:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;820:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;820:44:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;742:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;742:20:44;;;;;;;;;;;;;;;;;;;;;;;1950:140:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;537:104:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;537:104:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;868:40:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;868:40:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;766:23;;;;:::o;718:20::-;;;;:::o;3016:132::-;3081:7;3103:40;3127:8;:15;3136:5;3127:15;;;;;;;;;;;;;;;;3103:19;3116:5;3103:12;:19::i;:::-;:23;;:40;;;;:::i;:::-;3096:47;;3016:132;;;:::o;2047:265::-;2095:18;2116:23;2133:5;2116:16;:23::i;:::-;2095:44;;2167:1;2154:10;:14;2146:23;;;;;;;;2194:31;2214:10;2194:8;:15;2203:5;2194:15;;;;;;;;;;;;;;;;:19;;:31;;;;:::i;:::-;2176:8;:15;2185:5;2176:15;;;;;;;;;;;;;;;:49;;;;2232:43;2251:11;;;;;;;;;;;2264:10;2232:5;:18;;;;:43;;;;;:::i;:::-;2287:20;2296:10;2287:20;;;;;;;;;;;;;;;;;;2047:265;;:::o;3273:437::-;3334:7;3349:22;3401:20;3374:5;:15;;;3390:4;3374:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3374:21:44;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3374:21:44;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3374:21:44;;;;;;;;;;;;;;;;3349:46;;3424:35;3443:8;:15;3452:5;3443:15;;;;;;;;;;;;;;;;3424:14;:18;;:35;;;;:::i;:::-;3401:58;;3488:5;;3470:15;:23;3466:240;;;3510:1;3503:8;;;;3466:240;3547:19;3557:8;;3547:5;;:9;;:19;;;;:::i;:::-;3528:15;:38;;:56;;;;3570:7;:14;3578:5;3570:14;;;;;;;;;;;;;;;;;;;;;;;;;3528:56;3524:182;;;3601:12;3594:19;;;;3524:182;3641:58;3690:8;;3641:44;3658:26;3678:5;;3658:15;:19;;:26;;;;:::i;:::-;3641:12;:16;;:44;;;;:::i;:::-;:48;;:58;;;;:::i;:::-;3634:65;;3273:437;;;;;;:::o;687:26::-;;;;;;;;;;;;;:::o;2520:342::-;2632:15;2678:18;2728:14;770:5:25;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;2585:9:44;;;;;;;;;;;2577:18;;;;;;;;2610:7;:14;2618:5;2610:14;;;;;;;;;;;;;;;;;;;;;;;;;2609:15;2601:24;;;;;;;;2650:5;:15;;;2666:4;2650:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2650:21:44;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2650:21:44;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2650:21:44;;;;;;;;;;;;;;;;2632:39;;2699:23;2716:5;2699:16;:23::i;:::-;2678:44;;2745:23;2757:10;2745:7;:11;;:23;;;;:::i;:::-;2728:40;;2792:4;2775:7;:14;2783:5;2775:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;2803:33;2822:5;;;;;;;;;;;2829:6;2803:5;:18;;;;:33;;;;;:::i;:::-;2848:9;;;;;;;;;;2520:342;;;;:::o;794:21::-;;;;;;;;;;;;;:::o;307:20:25:-;;;;;;;;;;;;;:::o;1462:464:44:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;1679:27:44;1698:7;1679:18;:27::i;:::-;1745:1;1721:26;;:12;:26;;;;1713:35;;;;;;;;1772:9;1762:6;:19;;1754:28;;;;;;;;1803:12;1789:11;;:26;;;;;;;;;;;;;;;;;;1833:10;1821:9;;:22;;;;;;;;;;;;;;;;;;1860:9;1849:8;:20;;;;1883:18;1894:6;1883;:10;;:18;;;;:::i;:::-;1875:5;:26;;;;1915:6;1907:5;:14;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;1462:464:44;;;;;;;;:::o;820:44::-;;;;;;;;;;;;;;;;;:::o;742:20::-;;;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;537:104:25:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:25;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:25;;;:::o;949:174::-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;868:40:44:-;;;;;;;;;;;;;;;;;;;;;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;368:120:40:-;457:5;:14;;;472:2;476:5;457:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;457:25:40;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;457:25:40;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;457:25:40;;;;;;;;;;;;;;;;450:33;;;;;;368:120;;;:::o;203:167:6:-;261:9;287:1;282;:6;278:35;;;305:1;298:8;;;;278:35;326:1;322;:5;318:9;;349:1;344;340;:5;;;;;;;;:10;333:18;;;;;;364:1;357:8;;203:167;;;;;:::o;452:272::-;510:7;718:1;714;:5;;;;;;;;707:12;;452:272;;;;:::o", + "bytecode": "0x608060405234801561001057600080fd5b506116e9806100206000396000f3006080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630fb5a6b4146100eb57806313d033c0146101165780631726cbc8146101415780631916558714610198578063384711cc146101db57806338af3eed1461023257806374a8f10314610289578063872a7810146102cc5780638da5cb5b146102fb578063914a4ed7146103525780639852595c146103df578063be9a655514610436578063c0bac1a814610461578063c4d66de814610528578063f2fde38b1461056b578063fa01dc06146105ae575b600080fd5b3480156100f757600080fd5b50610100610609565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b5061012b61060f565b6040518082815260200191505060405180910390f35b34801561014d57600080fd5b50610182600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610615565b6040518082815260200191505060405180910390f35b3480156101a457600080fd5b506101d9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610678565b005b3480156101e757600080fd5b5061021c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107b1565b6040518082815260200191505060405180910390f35b34801561023e57600080fd5b506102476109b5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029557600080fd5b506102ca600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109db565b005b3480156102d857600080fd5b506102e1610c7f565b604051808215151515815260200191505060405180910390f35b34801561030757600080fd5b50610310610c92565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035e57600080fd5b506103dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803515159060200190929190505050610cb8565b005b3480156103eb57600080fd5b50610420600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611010565b6040518082815260200191505060405180910390f35b34801561044257600080fd5b5061044b611028565b6040518082815260200191505060405180910390f35b34801561046d57600080fd5b5061050e600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061102e565b604051808215151515815260200191505060405180910390f35b34801561053457600080fd5b50610569600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611119565b005b34801561057757600080fd5b506105ac600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113d7565b005b3480156105ba57600080fd5b506105ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061152f565b604051808215151515815260200191505060405180910390f35b60055481565b60035481565b6000610671600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610663846107b1565b61154f90919063ffffffff16565b9050919050565b600061068382610615565b905060008111151561069457600080fd5b6106e681600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156890919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610776600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff166115849092919063ffffffff16565b7ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c565816040518082815260200191505060405180910390a15050565b60008060008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561085157600080fd5b505af1158015610865573d6000803e3d6000fd5b505050506040513d602081101561087b57600080fd5b810190808051906020019092919050505091506108e0600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361156890919063ffffffff16565b90506003544210156108f557600092506109ae565b61090c60055460045461156890919063ffffffff16565b421015806109635750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610970578092506109ae565b6109ab60055461099d61098e6004544261154f90919063ffffffff16565b8461166f90919063ffffffff16565b6116a790919063ffffffff16565b92505b5050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a3c57600080fd5b600660009054906101000a900460ff161515610a5757600080fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610ab057600080fd5b8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b4b57600080fd5b505af1158015610b5f573d6000803e3d6000fd5b505050506040513d6020811015610b7557600080fd5b81019080805190602001909291905050509250610b9184610615565b9150610ba6828461154f90919063ffffffff16565b90506001600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610c4d600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828673ffffffffffffffffffffffffffffffffffffffff166115849092919063ffffffff16565b7f44825a4b2df8acb19ce4e1afba9aa850c8b65cdb7942e2078f27d0b0960efee660405160405180910390a150505050565b600660009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600c81526020017f546f6b656e56657374696e6700000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610d2e828261102e565b151515610d3a57600080fd5b610d4388611119565b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614151515610d7f57600080fd5b838511151515610d8e57600080fd5b86600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600660006101000a81548160ff02191690831515021790555083600581905550610e03858761156890919063ffffffff16565b600381905550856004819055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610e77578082015181840152602081019050610e5c565b50505050905090810190601f168015610ea45780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610edd578082015181840152602081019050610ec2565b50505050905090810190601f168015610f0a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610f535780518252602082019150602081019050602083039250610f2e565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610fbc5780518252602082019150602081019050602083039250610f97565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050505050565b60076020528060005260406000206000915090505481565b60045481565b600080836040518082805190602001908083835b6020831015156110675780518252602082019150602081019050602083039250611042565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156110d057805182526020820191506020810190506020830392506110ab565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061118f828261102e565b15151561119b57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611243578082015181840152602081019050611228565b50505050905090810190601f1680156112705780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156112a957808201518184015260208101905061128e565b50505050905090810190601f1680156112d65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561131f57805182526020820191506020810190506020830392506112fa565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156113885780518252602082019150602081019050602083039250611363565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561143357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561146f57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60086020528060005260406000206000915054906101000a900460ff1681565b600082821115151561155d57fe5b818303905092915050565b6000818301905082811015151561157b57fe5b80905092915050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561162757600080fd5b505af115801561163b573d6000803e3d6000fd5b505050506040513d602081101561165157600080fd5b8101908080519060200190929190505050151561166a57fe5b505050565b60008083141561168257600090506116a1565b818302905081838281151561169357fe5b0414151561169d57fe5b8090505b92915050565b600081838115156116b457fe5b049050929150505600a165627a7a72305820554e928f0600bea2cf1981a656fc751b8fd102742f802c40328a22062cc6cc630029", + "deployedBytecode": "0x6080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630fb5a6b4146100eb57806313d033c0146101165780631726cbc8146101415780631916558714610198578063384711cc146101db57806338af3eed1461023257806374a8f10314610289578063872a7810146102cc5780638da5cb5b146102fb578063914a4ed7146103525780639852595c146103df578063be9a655514610436578063c0bac1a814610461578063c4d66de814610528578063f2fde38b1461056b578063fa01dc06146105ae575b600080fd5b3480156100f757600080fd5b50610100610609565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b5061012b61060f565b6040518082815260200191505060405180910390f35b34801561014d57600080fd5b50610182600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610615565b6040518082815260200191505060405180910390f35b3480156101a457600080fd5b506101d9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610678565b005b3480156101e757600080fd5b5061021c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107b1565b6040518082815260200191505060405180910390f35b34801561023e57600080fd5b506102476109b5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029557600080fd5b506102ca600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109db565b005b3480156102d857600080fd5b506102e1610c7f565b604051808215151515815260200191505060405180910390f35b34801561030757600080fd5b50610310610c92565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035e57600080fd5b506103dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803515159060200190929190505050610cb8565b005b3480156103eb57600080fd5b50610420600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611010565b6040518082815260200191505060405180910390f35b34801561044257600080fd5b5061044b611028565b6040518082815260200191505060405180910390f35b34801561046d57600080fd5b5061050e600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061102e565b604051808215151515815260200191505060405180910390f35b34801561053457600080fd5b50610569600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611119565b005b34801561057757600080fd5b506105ac600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113d7565b005b3480156105ba57600080fd5b506105ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061152f565b604051808215151515815260200191505060405180910390f35b60055481565b60035481565b6000610671600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610663846107b1565b61154f90919063ffffffff16565b9050919050565b600061068382610615565b905060008111151561069457600080fd5b6106e681600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156890919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610776600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff166115849092919063ffffffff16565b7ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c565816040518082815260200191505060405180910390a15050565b60008060008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561085157600080fd5b505af1158015610865573d6000803e3d6000fd5b505050506040513d602081101561087b57600080fd5b810190808051906020019092919050505091506108e0600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361156890919063ffffffff16565b90506003544210156108f557600092506109ae565b61090c60055460045461156890919063ffffffff16565b421015806109635750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610970578092506109ae565b6109ab60055461099d61098e6004544261154f90919063ffffffff16565b8461166f90919063ffffffff16565b6116a790919063ffffffff16565b92505b5050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a3c57600080fd5b600660009054906101000a900460ff161515610a5757600080fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610ab057600080fd5b8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b4b57600080fd5b505af1158015610b5f573d6000803e3d6000fd5b505050506040513d6020811015610b7557600080fd5b81019080805190602001909291905050509250610b9184610615565b9150610ba6828461154f90919063ffffffff16565b90506001600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610c4d600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828673ffffffffffffffffffffffffffffffffffffffff166115849092919063ffffffff16565b7f44825a4b2df8acb19ce4e1afba9aa850c8b65cdb7942e2078f27d0b0960efee660405160405180910390a150505050565b600660009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600c81526020017f546f6b656e56657374696e6700000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250610d2e828261102e565b151515610d3a57600080fd5b610d4388611119565b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614151515610d7f57600080fd5b838511151515610d8e57600080fd5b86600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600660006101000a81548160ff02191690831515021790555083600581905550610e03858761156890919063ffffffff16565b600381905550856004819055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610e77578082015181840152602081019050610e5c565b50505050905090810190601f168015610ea45780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610edd578082015181840152602081019050610ec2565b50505050905090810190601f168015610f0a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515610f535780518252602082019150602081019050602083039250610f2e565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515610fbc5780518252602082019150602081019050602083039250610f97565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050505050565b60076020528060005260406000206000915090505481565b60045481565b600080836040518082805190602001908083835b6020831015156110675780518252602082019150602081019050602083039250611042565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156110d057805182526020820191506020810190506020830392506110ab565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525061118f828261102e565b15151561119b57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611243578082015181840152602081019050611228565b50505050905090810190601f1680156112705780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156112a957808201518184015260208101905061128e565b50505050905090810190601f1680156112d65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561131f57805182526020820191506020810190506020830392506112fa565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156113885780518252602082019150602081019050602083039250611363565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561143357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561146f57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60086020528060005260406000206000915054906101000a900460ff1681565b600082821115151561155d57fe5b818303905092915050565b6000818301905082811015151561157b57fe5b80905092915050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561162757600080fd5b505af115801561163b573d6000803e3d6000fd5b505050506040513d602081101561165157600080fd5b8101908080519060200190929190505050151561166a57fe5b505050565b60008083141561168257600090506116a1565b818302905081838281151561169357fe5b0414151561169d57fe5b8090505b92915050565b600081838115156116b457fe5b049050929150505600a165627a7a72305820554e928f0600bea2cf1981a656fc751b8fd102742f802c40328a22062cc6cc630029", + "sourceMap": "468:3244:46:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;468:3244:46;;;;;;;", + "deployedSourceMap": "468:3244:46:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;766:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;766:23:46;;;;;;;;;;;;;;;;;;;;;;;718:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;718:20:46;;;;;;;;;;;;;;;;;;;;;;;3016:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3016:132:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2047:265;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2047:265:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;3273:437;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3273:437:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;687:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;687:26:46;;;;;;;;;;;;;;;;;;;;;;;;;;;2520:342;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2520:342:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;794:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;794:21:46;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:27;;;;;;;;;;;;;;;;;;;;;;;;;;;1462:464:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1462:464:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;820:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;820:44:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;742:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;742:20:46;;;;;;;;;;;;;;;;;;;;;;;1950:140:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;537:104:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;537:104:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;868:40:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;868:40:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;766:23;;;;:::o;718:20::-;;;;:::o;3016:132::-;3081:7;3103:40;3127:8;:15;3136:5;3127:15;;;;;;;;;;;;;;;;3103:19;3116:5;3103:12;:19::i;:::-;:23;;:40;;;;:::i;:::-;3096:47;;3016:132;;;:::o;2047:265::-;2095:18;2116:23;2133:5;2116:16;:23::i;:::-;2095:44;;2167:1;2154:10;:14;2146:23;;;;;;;;2194:31;2214:10;2194:8;:15;2203:5;2194:15;;;;;;;;;;;;;;;;:19;;:31;;;;:::i;:::-;2176:8;:15;2185:5;2176:15;;;;;;;;;;;;;;;:49;;;;2232:43;2251:11;;;;;;;;;;;2264:10;2232:5;:18;;;;:43;;;;;:::i;:::-;2287:20;2296:10;2287:20;;;;;;;;;;;;;;;;;;2047:265;;:::o;3273:437::-;3334:7;3349:22;3401:20;3374:5;:15;;;3390:4;3374:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3374:21:46;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3374:21:46;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3374:21:46;;;;;;;;;;;;;;;;3349:46;;3424:35;3443:8;:15;3452:5;3443:15;;;;;;;;;;;;;;;;3424:14;:18;;:35;;;;:::i;:::-;3401:58;;3488:5;;3470:15;:23;3466:240;;;3510:1;3503:8;;;;3466:240;3547:19;3557:8;;3547:5;;:9;;:19;;;;:::i;:::-;3528:15;:38;;:56;;;;3570:7;:14;3578:5;3570:14;;;;;;;;;;;;;;;;;;;;;;;;;3528:56;3524:182;;;3601:12;3594:19;;;;3524:182;3641:58;3690:8;;3641:44;3658:26;3678:5;;3658:15;:19;;:26;;;;:::i;:::-;3641:12;:16;;:44;;;;:::i;:::-;:48;;:58;;;;:::i;:::-;3634:65;;3273:437;;;;;;:::o;687:26::-;;;;;;;;;;;;;:::o;2520:342::-;2632:15;2678:18;2728:14;770:5:27;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;2585:9:46;;;;;;;;;;;2577:18;;;;;;;;2610:7;:14;2618:5;2610:14;;;;;;;;;;;;;;;;;;;;;;;;;2609:15;2601:24;;;;;;;;2650:5;:15;;;2666:4;2650:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2650:21:46;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2650:21:46;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2650:21:46;;;;;;;;;;;;;;;;2632:39;;2699:23;2716:5;2699:16;:23::i;:::-;2678:44;;2745:23;2757:10;2745:7;:11;;:23;;;;:::i;:::-;2728:40;;2792:4;2775:7;:14;2783:5;2775:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;2803:33;2822:5;;;;;;;;;;;2829:6;2803:5;:18;;;;:33;;;;;:::i;:::-;2848:9;;;;;;;;;;2520:342;;;;:::o;794:21::-;;;;;;;;;;;;;:::o;307:20:27:-;;;;;;;;;;;;;:::o;1462:464:46:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;1679:27:46;1698:7;1679:18;:27::i;:::-;1745:1;1721:26;;:12;:26;;;;1713:35;;;;;;;;1772:9;1762:6;:19;;1754:28;;;;;;;;1803:12;1789:11;;:26;;;;;;;;;;;;;;;;;;1833:10;1821:9;;:22;;;;;;;;;;;;;;;;;;1860:9;1849:8;:20;;;;1883:18;1894:6;1883;:10;;:18;;;;:::i;:::-;1875:5;:26;;;;1915:6;1907:5;:14;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;1462:464:46;;;;;;;;:::o;820:44::-;;;;;;;;;;;;;;;;;:::o;742:20::-;;;;:::o;1950:140:54:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:22:54;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;2050:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;537:104:27:-;1004:223:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:27;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:54;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1139:35:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:22:54;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;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;;;1180:35:54;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:27;;;:::o;949:174::-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o;868:40:46:-;;;;;;;;;;;;;;;;;;;;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o;368:120:42:-;457:5;:14;;;472:2;476:5;457:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;457:25:42;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;457:25:42;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;457:25:42;;;;;;;;;;;;;;;;450:33;;;;;;368:120;;;:::o;203:167:8:-;261:9;287:1;282;:6;278:35;;;305:1;298:8;;;;278:35;326:1;322;:5;318:9;;349:1;344;340;:5;;;;;;;;:10;333:18;;;;;;364:1;357:8;;203:167;;;;;:::o;452:272::-;510:7;718:1;714;:5;;;;;;;;707:12;;452:272;;;;:::o", "source": "/* solium-disable security/no-block-members */\n\npragma solidity ^0.4.21;\n\nimport \"./ERC20Basic.sol\";\nimport \"./SafeERC20.sol\";\nimport \"../../ownership/Ownable.sol\";\nimport \"../../math/SafeMath.sol\";\nimport \"zos-lib/contracts/migrations/Migratable.sol\";\n\n\n/**\n * @title TokenVesting\n * @dev A token holder contract that can release its token balance gradually like a\n * typical vesting scheme, with a cliff and vesting period. Optionally revocable by the\n * owner.\n */\ncontract TokenVesting is Migratable, Ownable {\n using SafeMath for uint256;\n using SafeERC20 for ERC20Basic;\n\n event Released(uint256 amount);\n event Revoked();\n\n // beneficiary of tokens after they are released\n address public beneficiary;\n\n uint256 public cliff;\n uint256 public start;\n uint256 public duration;\n\n bool public revocable;\n\n mapping (address => uint256) public released;\n mapping (address => bool) public revoked;\n\n /**\n * @dev Creates a vesting contract that vests its balance of any ERC20 token to the\n * _beneficiary, gradually in a linear fashion until _start + _duration. By then all\n * of the balance will have vested.\n * @param _beneficiary address of the beneficiary to whom vested tokens are transferred\n * @param _cliff duration in seconds of the cliff in which tokens will begin to vest\n * @param _duration duration in seconds of the period in which the tokens will vest\n * @param _revocable whether the vesting is revocable or not\n */\n function initialize(\n address _sender,\n address _beneficiary,\n uint256 _start,\n uint256 _cliff,\n uint256 _duration,\n bool _revocable\n )\n public\n isInitializer(\"TokenVesting\", \"1.9.0\")\n {\n Ownable.initialize(_sender);\n\n require(_beneficiary != address(0));\n require(_cliff <= _duration);\n\n beneficiary = _beneficiary;\n revocable = _revocable;\n duration = _duration;\n cliff = _start.add(_cliff);\n start = _start;\n }\n\n /**\n * @notice Transfers vested tokens to beneficiary.\n * @param token ERC20 token which is being vested\n */\n function release(ERC20Basic token) public {\n uint256 unreleased = releasableAmount(token);\n\n require(unreleased > 0);\n\n released[token] = released[token].add(unreleased);\n\n token.safeTransfer(beneficiary, unreleased);\n\n emit Released(unreleased);\n }\n\n /**\n * @notice Allows the owner to revoke the vesting. Tokens already vested\n * remain in the contract, the rest are returned to the owner.\n * @param token ERC20 token which is being vested\n */\n function revoke(ERC20Basic token) public onlyOwner {\n require(revocable);\n require(!revoked[token]);\n\n uint256 balance = token.balanceOf(this);\n\n uint256 unreleased = releasableAmount(token);\n uint256 refund = balance.sub(unreleased);\n\n revoked[token] = true;\n\n token.safeTransfer(owner, refund);\n\n emit Revoked();\n }\n\n /**\n * @dev Calculates the amount that has already vested but hasn't been released yet.\n * @param token ERC20 token which is being vested\n */\n function releasableAmount(ERC20Basic token) public view returns (uint256) {\n return vestedAmount(token).sub(released[token]);\n }\n\n /**\n * @dev Calculates the amount that has already vested.\n * @param token ERC20 token which is being vested\n */\n function vestedAmount(ERC20Basic token) public view returns (uint256) {\n uint256 currentBalance = token.balanceOf(this);\n uint256 totalBalance = currentBalance.add(released[token]);\n\n if (block.timestamp < cliff) {\n return 0;\n } else if (block.timestamp >= start.add(duration) || revoked[token]) {\n return totalBalance;\n } else {\n return totalBalance.mul(block.timestamp.sub(start)).div(duration);\n }\n }\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/TokenVesting.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/TokenVesting.sol", "exportedSymbols": { "TokenVesting": [ - 3462 + 3510 ] }, - "id": 3463, + "id": 3511, "nodeType": "SourceUnit", "nodes": [ { - "id": 3187, + "id": 3235, "literals": [ "solidity", "^", @@ -352,60 +352,60 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "48:24:44" + "src": "48:24:46" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20Basic.sol", "file": "./ERC20Basic.sol", - "id": 3188, + "id": 3236, "nodeType": "ImportDirective", - "scope": 3463, - "sourceUnit": 2512, - "src": "74:26:44", + "scope": 3511, + "sourceUnit": 2560, + "src": "74:26:46", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/SafeERC20.sol", "file": "./SafeERC20.sol", - "id": 3189, + "id": 3237, "nodeType": "ImportDirective", - "scope": 3463, - "sourceUnit": 2808, - "src": "101:25:44", + "scope": 3511, + "sourceUnit": 2856, + "src": "101:25:46", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/Ownable.sol", "file": "../../ownership/Ownable.sol", - "id": 3190, + "id": 3238, "nodeType": "ImportDirective", - "scope": 3463, - "sourceUnit": 1581, - "src": "127:37:44", + "scope": 3511, + "sourceUnit": 1629, + "src": "127:37:46", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 3191, + "id": 3239, "nodeType": "ImportDirective", - "scope": 3463, - "sourceUnit": 537, - "src": "165:33:44", + "scope": 3511, + "sourceUnit": 580, + "src": "165:33:46", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 3192, + "id": 3240, "nodeType": "ImportDirective", - "scope": 3463, - "sourceUnit": 4770, - "src": "199:53:44", + "scope": 3511, + "sourceUnit": 4865, + "src": "199:53:46", "symbolAliases": [], "unitAlias": "" }, @@ -415,76 +415,76 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 3193, + "id": 3241, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "493:10:44", + "referencedDeclaration": 4864, + "src": "493:10:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 3194, + "id": 3242, "nodeType": "InheritanceSpecifier", - "src": "493:10:44" + "src": "493:10:46" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 3195, + "id": 3243, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1580, - "src": "505:7:44", + "referencedDeclaration": 1628, + "src": "505:7:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$1580", + "typeIdentifier": "t_contract$_Ownable_$1628", "typeString": "contract Ownable" } }, - "id": 3196, + "id": 3244, "nodeType": "InheritanceSpecifier", - "src": "505:7:44" + "src": "505:7:46" } ], "contractDependencies": [ - 1580, - 4769 + 1628, + 4864 ], "contractKind": "contract", "documentation": "@title TokenVesting\n@dev A token holder contract that can release its token balance gradually like a\ntypical vesting scheme, with a cliff and vesting period. Optionally revocable by the\nowner.", "fullyImplemented": true, - "id": 3462, + "id": 3510, "linearizedBaseContracts": [ - 3462, - 1580, - 4769 + 3510, + 1628, + 4864 ], "name": "TokenVesting", "nodeType": "ContractDefinition", "nodes": [ { - "id": 3199, + "id": 3247, "libraryName": { "contractScope": null, - "id": 3197, + "id": 3245, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 536, - "src": "523:8:44", + "referencedDeclaration": 579, + "src": "523:8:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$536", + "typeIdentifier": "t_contract$_SafeMath_$579", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "517:27:44", + "src": "517:27:46", "typeName": { - "id": 3198, + "id": 3246, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "536:7:44", + "src": "536:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -492,30 +492,30 @@ } }, { - "id": 3202, + "id": 3250, "libraryName": { "contractScope": null, - "id": 3200, + "id": 3248, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2807, - "src": "553:9:44", + "referencedDeclaration": 2855, + "src": "553:9:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$2807", + "typeIdentifier": "t_contract$_SafeERC20_$2855", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "547:31:44", + "src": "547:31:46", "typeName": { "contractScope": null, - "id": 3201, + "id": 3249, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "567:10:44", + "referencedDeclaration": 2559, + "src": "567:10:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } } @@ -523,21 +523,21 @@ { "anonymous": false, "documentation": null, - "id": 3206, + "id": 3254, "name": "Released", "nodeType": "EventDefinition", "parameters": { - "id": 3205, + "id": 3253, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3204, + "id": 3252, "indexed": false, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 3206, - "src": "597:14:44", + "scope": 3254, + "src": "597:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -545,10 +545,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3203, + "id": 3251, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "597:7:44", + "src": "597:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -558,31 +558,31 @@ "visibility": "internal" } ], - "src": "596:16:44" + "src": "596:16:46" }, - "src": "582:31:44" + "src": "582:31:46" }, { "anonymous": false, "documentation": null, - "id": 3208, + "id": 3256, "name": "Revoked", "nodeType": "EventDefinition", "parameters": { - "id": 3207, + "id": 3255, "nodeType": "ParameterList", "parameters": [], - "src": "629:2:44" + "src": "629:2:46" }, - "src": "616:16:44" + "src": "616:16:46" }, { "constant": false, - "id": 3210, + "id": 3258, "name": "beneficiary", "nodeType": "VariableDeclaration", - "scope": 3462, - "src": "687:26:44", + "scope": 3510, + "src": "687:26:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -590,10 +590,10 @@ "typeString": "address" }, "typeName": { - "id": 3209, + "id": 3257, "name": "address", "nodeType": "ElementaryTypeName", - "src": "687:7:44", + "src": "687:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -604,11 +604,11 @@ }, { "constant": false, - "id": 3212, + "id": 3260, "name": "cliff", "nodeType": "VariableDeclaration", - "scope": 3462, - "src": "718:20:44", + "scope": 3510, + "src": "718:20:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -616,10 +616,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3211, + "id": 3259, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "718:7:44", + "src": "718:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -630,11 +630,11 @@ }, { "constant": false, - "id": 3214, + "id": 3262, "name": "start", "nodeType": "VariableDeclaration", - "scope": 3462, - "src": "742:20:44", + "scope": 3510, + "src": "742:20:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -642,10 +642,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3213, + "id": 3261, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "742:7:44", + "src": "742:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -656,11 +656,11 @@ }, { "constant": false, - "id": 3216, + "id": 3264, "name": "duration", "nodeType": "VariableDeclaration", - "scope": 3462, - "src": "766:23:44", + "scope": 3510, + "src": "766:23:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -668,10 +668,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3215, + "id": 3263, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "766:7:44", + "src": "766:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -682,11 +682,11 @@ }, { "constant": false, - "id": 3218, + "id": 3266, "name": "revocable", "nodeType": "VariableDeclaration", - "scope": 3462, - "src": "794:21:44", + "scope": 3510, + "src": "794:21:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -694,10 +694,10 @@ "typeString": "bool" }, "typeName": { - "id": 3217, + "id": 3265, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "794:4:44", + "src": "794:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -708,11 +708,11 @@ }, { "constant": false, - "id": 3222, + "id": 3270, "name": "released", "nodeType": "VariableDeclaration", - "scope": 3462, - "src": "820:44:44", + "scope": 3510, + "src": "820:44:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -720,28 +720,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 3221, + "id": 3269, "keyType": { - "id": 3219, + "id": 3267, "name": "address", "nodeType": "ElementaryTypeName", - "src": "829:7:44", + "src": "829:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "820:28:44", + "src": "820:28:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 3220, + "id": 3268, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "840:7:44", + "src": "840:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -753,11 +753,11 @@ }, { "constant": false, - "id": 3226, + "id": 3274, "name": "revoked", "nodeType": "VariableDeclaration", - "scope": 3462, - "src": "868:40:44", + "scope": 3510, + "src": "868:40:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -765,28 +765,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 3225, + "id": 3273, "keyType": { - "id": 3223, + "id": 3271, "name": "address", "nodeType": "ElementaryTypeName", - "src": "877:7:44", + "src": "877:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "868:25:44", + "src": "868:25:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 3224, + "id": 3272, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "888:4:44", + "src": "888:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -798,9 +798,9 @@ }, { "body": { - "id": 3288, + "id": 3336, "nodeType": "Block", - "src": "1673:253:44", + "src": "1673:253:46", "statements": [ { "expression": { @@ -808,12 +808,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3248, + "id": 3296, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "1698:7:44", + "referencedDeclaration": 3276, + "src": "1698:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -829,32 +829,32 @@ ], "expression": { "argumentTypes": null, - "id": 3245, + "id": 3293, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "1679:7:44", + "referencedDeclaration": 1628, + "src": "1679:7:46", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Ownable_$1580_$", + "typeIdentifier": "t_type$_t_contract$_Ownable_$1628_$", "typeString": "type(contract Ownable)" } }, - "id": 3247, + "id": 3295, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1543, - "src": "1679:18:44", + "referencedDeclaration": 1591, + "src": "1679:18:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 3249, + "id": 3297, "isConstant": false, "isLValue": false, "isPure": false, @@ -862,15 +862,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1679:27:44", + "src": "1679:27:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3250, + "id": 3298, "nodeType": "ExpressionStatement", - "src": "1679:27:44" + "src": "1679:27:46" }, { "expression": { @@ -882,19 +882,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3256, + "id": 3304, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3252, + "id": 3300, "name": "_beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3230, - "src": "1721:12:44", + "referencedDeclaration": 3278, + "src": "1721:12:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -908,14 +908,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 3254, + "id": 3302, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1745:1:44", + "src": "1745:1:46", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -931,20 +931,20 @@ "typeString": "int_const 0" } ], - "id": 3253, + "id": 3301, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1737:7:44", + "src": "1737:7:46", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 3255, + "id": 3303, "isConstant": false, "isLValue": false, "isPure": true, @@ -952,13 +952,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1737:10:44", + "src": "1737:10:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1721:26:44", + "src": "1721:26:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -972,21 +972,21 @@ "typeString": "bool" } ], - "id": 3251, + "id": 3299, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1713:7:44", + "referencedDeclaration": 4882, + "src": "1713:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3257, + "id": 3305, "isConstant": false, "isLValue": false, "isPure": false, @@ -994,15 +994,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1713:35:44", + "src": "1713:35:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3258, + "id": 3306, "nodeType": "ExpressionStatement", - "src": "1713:35:44" + "src": "1713:35:46" }, { "expression": { @@ -1014,19 +1014,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3262, + "id": 3310, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3260, + "id": 3308, "name": "_cliff", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3234, - "src": "1762:6:44", + "referencedDeclaration": 3282, + "src": "1762:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1036,18 +1036,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 3261, + "id": 3309, "name": "_duration", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3236, - "src": "1772:9:44", + "referencedDeclaration": 3284, + "src": "1772:9:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1762:19:44", + "src": "1762:19:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1061,21 +1061,21 @@ "typeString": "bool" } ], - "id": 3259, + "id": 3307, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1754:7:44", + "referencedDeclaration": 4882, + "src": "1754:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3263, + "id": 3311, "isConstant": false, "isLValue": false, "isPure": false, @@ -1083,725 +1083,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1754:28:44", + "src": "1754:28:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3264, + "id": 3312, "nodeType": "ExpressionStatement", - "src": "1754:28:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 3267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3265, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3210, - "src": "1789:11:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3266, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3230, - "src": "1803:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1789:26:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3268, - "nodeType": "ExpressionStatement", - "src": "1789:26:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 3271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3269, - "name": "revocable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3218, - "src": "1821:9:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3270, - "name": "_revocable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3238, - "src": "1833:10:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1821:22:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3272, - "nodeType": "ExpressionStatement", - "src": "1821:22:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 3275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3273, - "name": "duration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3216, - "src": "1849:8:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3274, - "name": "_duration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3236, - "src": "1860:9:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1849:20:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3276, - "nodeType": "ExpressionStatement", - "src": "1849:20:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 3282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3277, - "name": "cliff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3212, - "src": "1875:5:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3280, - "name": "_cliff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3234, - "src": "1894:6:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3278, - "name": "_start", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3232, - "src": "1883:6:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1883:10:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1883:18:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1875:26:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3283, - "nodeType": "ExpressionStatement", - "src": "1875:26:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 3286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3284, - "name": "start", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3214, - "src": "1907:5:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3285, - "name": "_start", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3232, - "src": "1915:6:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1907:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3287, - "nodeType": "ExpressionStatement", - "src": "1907:14:44" - } - ] - }, - "documentation": "@dev Creates a vesting contract that vests its balance of any ERC20 token to the\n_beneficiary, gradually in a linear fashion until _start + _duration. By then all\nof the balance will have vested.\n@param _beneficiary address of the beneficiary to whom vested tokens are transferred\n@param _cliff duration in seconds of the cliff in which tokens will begin to vest\n@param _duration duration in seconds of the period in which the tokens will vest\n@param _revocable whether the vesting is revocable or not", - "id": 3289, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "hexValue": "546f6b656e56657374696e67", - "id": 3241, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1646:14:44", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e0d70f1cfb5d37122c7d281c78f46fb60f53015666030a7a749c1365febf4541", - "typeString": "literal_string \"TokenVesting\"" - }, - "value": "TokenVesting" - }, - { - "argumentTypes": null, - "hexValue": "312e392e30", - "id": 3242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1662:7:44", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", - "typeString": "literal_string \"1.9.0\"" - }, - "value": "1.9.0" - } - ], - "id": 3243, - "modifierName": { - "argumentTypes": null, - "id": 3240, - "name": "isInitializer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "1632:13:44", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", - "typeString": "modifier (string memory,string memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1632:38:44" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3228, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 3289, - "src": "1487:15:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3227, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3230, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 3289, - "src": "1508:20:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1508:7:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3232, - "name": "_start", - "nodeType": "VariableDeclaration", - "scope": 3289, - "src": "1534:14:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3231, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1534:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3234, - "name": "_cliff", - "nodeType": "VariableDeclaration", - "scope": 3289, - "src": "1554:14:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1554:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3236, - "name": "_duration", - "nodeType": "VariableDeclaration", - "scope": 3289, - "src": "1574:17:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1574:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3238, - "name": "_revocable", - "nodeType": "VariableDeclaration", - "scope": 3289, - "src": "1597:15:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3237, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1597:4:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1481:135:44" - }, - "payable": false, - "returnParameters": { - "id": 3244, - "nodeType": "ParameterList", - "parameters": [], - "src": "1673:0:44" - }, - "scope": 3462, - "src": "1462:464:44", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3328, - "nodeType": "Block", - "src": "2089:223:44", - "statements": [ - { - "assignments": [ - 3295 - ], - "declarations": [ - { - "constant": false, - "id": 3295, - "name": "unreleased", - "nodeType": "VariableDeclaration", - "scope": 3329, - "src": "2095:18:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3294, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2095:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3299, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3297, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3291, - "src": "2133:5:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", - "typeString": "contract ERC20Basic" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", - "typeString": "contract ERC20Basic" - } - ], - "id": 3296, - "name": "releasableAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "2116:16:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20Basic_$2511_$returns$_t_uint256_$", - "typeString": "function (contract ERC20Basic) view returns (uint256)" - } - }, - "id": 3298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2116:23:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2095:44:44" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3301, - "name": "unreleased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3295, - "src": "2154:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2167:1:44", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2154:14:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3300, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4787, - 4788 - ], - "referencedDeclaration": 4787, - "src": "2146:7:44", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2146:23:44", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3305, - "nodeType": "ExpressionStatement", - "src": "2146:23:44" + "src": "1754:28:46" }, { "expression": { @@ -1813,39 +1103,150 @@ "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3306, - "name": "released", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "2176:8:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3308, - "indexExpression": { - "argumentTypes": null, - "id": 3307, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3291, - "src": "2185:5:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", - "typeString": "contract ERC20Basic" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2176:15:44", + "id": 3313, + "name": "beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3258, + "src": "1789:11:46", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3314, + "name": "_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3278, + "src": "1803:12:46", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1789:26:46", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3316, + "nodeType": "ExpressionStatement", + "src": "1789:26:46" + }, + { + "expression": { + "argumentTypes": null, + "id": 3319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3317, + "name": "revocable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3266, + "src": "1821:9:46", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3318, + "name": "_revocable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3286, + "src": "1833:10:46", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1821:22:46", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3320, + "nodeType": "ExpressionStatement", + "src": "1821:22:46" + }, + { + "expression": { + "argumentTypes": null, + "id": 3323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3321, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3264, + "src": "1849:8:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3322, + "name": "_duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3284, + "src": "1860:9:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1849:20:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3324, + "nodeType": "ExpressionStatement", + "src": "1849:20:46" + }, + { + "expression": { + "argumentTypes": null, + "id": 3330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3325, + "name": "cliff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3260, + "src": "1875:5:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1858,12 +1259,611 @@ "arguments": [ { "argumentTypes": null, - "id": 3313, + "id": 3328, + "name": "_cliff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3282, + "src": "1894:6:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3326, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3280, + "src": "1883:6:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 578, + "src": "1883:10:46", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1883:18:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1875:26:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3331, + "nodeType": "ExpressionStatement", + "src": "1875:26:46" + }, + { + "expression": { + "argumentTypes": null, + "id": 3334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3332, + "name": "start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3262, + "src": "1907:5:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3333, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3280, + "src": "1915:6:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1907:14:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3335, + "nodeType": "ExpressionStatement", + "src": "1907:14:46" + } + ] + }, + "documentation": "@dev Creates a vesting contract that vests its balance of any ERC20 token to the\n_beneficiary, gradually in a linear fashion until _start + _duration. By then all\nof the balance will have vested.\n@param _beneficiary address of the beneficiary to whom vested tokens are transferred\n@param _cliff duration in seconds of the cliff in which tokens will begin to vest\n@param _duration duration in seconds of the period in which the tokens will vest\n@param _revocable whether the vesting is revocable or not", + "id": 3337, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "hexValue": "546f6b656e56657374696e67", + "id": 3289, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1646:14:46", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e0d70f1cfb5d37122c7d281c78f46fb60f53015666030a7a749c1365febf4541", + "typeString": "literal_string \"TokenVesting\"" + }, + "value": "TokenVesting" + }, + { + "argumentTypes": null, + "hexValue": "312e392e30", + "id": 3290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1662:7:46", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", + "typeString": "literal_string \"1.9.0\"" + }, + "value": "1.9.0" + } + ], + "id": 3291, + "modifierName": { + "argumentTypes": null, + "id": 3288, + "name": "isInitializer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4811, + "src": "1632:13:46", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", + "typeString": "modifier (string memory,string memory)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1632:38:46" + } + ], + "name": "initialize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3276, + "name": "_sender", + "nodeType": "VariableDeclaration", + "scope": 3337, + "src": "1487:15:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3275, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1487:7:46", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3278, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 3337, + "src": "1508:20:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3277, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1508:7:46", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3280, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 3337, + "src": "1534:14:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1534:7:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3282, + "name": "_cliff", + "nodeType": "VariableDeclaration", + "scope": 3337, + "src": "1554:14:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3281, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1554:7:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3284, + "name": "_duration", + "nodeType": "VariableDeclaration", + "scope": 3337, + "src": "1574:17:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1574:7:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3286, + "name": "_revocable", + "nodeType": "VariableDeclaration", + "scope": 3337, + "src": "1597:15:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3285, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1597:4:46", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1481:135:46" + }, + "payable": false, + "returnParameters": { + "id": 3292, + "nodeType": "ParameterList", + "parameters": [], + "src": "1673:0:46" + }, + "scope": 3510, + "src": "1462:464:46", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3376, + "nodeType": "Block", + "src": "2089:223:46", + "statements": [ + { + "assignments": [ + 3343 + ], + "declarations": [ + { + "constant": false, + "id": 3343, + "name": "unreleased", + "nodeType": "VariableDeclaration", + "scope": 3377, + "src": "2095:18:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3342, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2095:7:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3347, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3345, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3339, + "src": "2133:5:46", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20Basic_$2559", + "typeString": "contract ERC20Basic" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ERC20Basic_$2559", + "typeString": "contract ERC20Basic" + } + ], + "id": 3344, + "name": "releasableAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3449, + "src": "2116:16:46", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20Basic_$2559_$returns$_t_uint256_$", + "typeString": "function (contract ERC20Basic) view returns (uint256)" + } + }, + "id": 3346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2116:23:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2095:44:46" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3349, "name": "unreleased", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3295, - "src": "2214:10:44", + "referencedDeclaration": 3343, + "src": "2154:10:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2167:1:46", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2154:14:46", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3348, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4882, + 4883 + ], + "referencedDeclaration": 4882, + "src": "2146:7:46", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2146:23:46", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3353, + "nodeType": "ExpressionStatement", + "src": "2146:23:46" + }, + { + "expression": { + "argumentTypes": null, + "id": 3363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3354, + "name": "released", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3270, + "src": "2176:8:46", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3356, + "indexExpression": { + "argumentTypes": null, + "id": 3355, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3339, + "src": "2185:5:46", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20Basic_$2559", + "typeString": "contract ERC20Basic" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2176:15:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3361, + "name": "unreleased", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3343, + "src": "2214:10:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1881,28 +1881,28 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3309, + "id": 3357, "name": "released", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "2194:8:44", + "referencedDeclaration": 3270, + "src": "2194:8:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3311, + "id": 3359, "indexExpression": { "argumentTypes": null, - "id": 3310, + "id": 3358, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3291, - "src": "2203:5:44", + "referencedDeclaration": 3339, + "src": "2203:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -1911,27 +1911,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2194:15:44", + "src": "2194:15:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3312, + "id": 3360, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "2194:19:44", + "referencedDeclaration": 578, + "src": "2194:19:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3314, + "id": 3362, "isConstant": false, "isLValue": false, "isPure": false, @@ -1939,21 +1939,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2194:31:44", + "src": "2194:31:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2176:49:44", + "src": "2176:49:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3316, + "id": 3364, "nodeType": "ExpressionStatement", - "src": "2176:49:44" + "src": "2176:49:46" }, { "expression": { @@ -1961,12 +1961,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3320, + "id": 3368, "name": "beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3210, - "src": "2251:11:44", + "referencedDeclaration": 3258, + "src": "2251:11:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1974,12 +1974,12 @@ }, { "argumentTypes": null, - "id": 3321, + "id": 3369, "name": "unreleased", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3295, - "src": "2264:10:44", + "referencedDeclaration": 3343, + "src": "2264:10:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1999,32 +1999,32 @@ ], "expression": { "argumentTypes": null, - "id": 3317, + "id": 3365, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3291, - "src": "2232:5:44", + "referencedDeclaration": 3339, + "src": "2232:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 3319, + "id": 3367, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "2232:18:44", + "referencedDeclaration": 2815, + "src": "2232:18:46", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 3322, + "id": 3370, "isConstant": false, "isLValue": false, "isPure": false, @@ -2032,15 +2032,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2232:43:44", + "src": "2232:43:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3323, + "id": 3371, "nodeType": "ExpressionStatement", - "src": "2232:43:44" + "src": "2232:43:46" }, { "eventCall": { @@ -2048,12 +2048,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3325, + "id": 3373, "name": "unreleased", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3295, - "src": "2296:10:44", + "referencedDeclaration": 3343, + "src": "2296:10:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2067,18 +2067,18 @@ "typeString": "uint256" } ], - "id": 3324, + "id": 3372, "name": "Released", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3206, - "src": "2287:8:44", + "referencedDeclaration": 3254, + "src": "2287:8:46", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 3326, + "id": 3374, "isConstant": false, "isLValue": false, "isPure": false, @@ -2086,20 +2086,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2287:20:44", + "src": "2287:20:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3327, + "id": 3375, "nodeType": "EmitStatement", - "src": "2282:25:44" + "src": "2282:25:46" } ] }, "documentation": "@notice Transfers vested tokens to beneficiary.\n@param token ERC20 token which is being vested", - "id": 3329, + "id": 3377, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2107,31 +2107,31 @@ "name": "release", "nodeType": "FunctionDefinition", "parameters": { - "id": 3292, + "id": 3340, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3291, + "id": 3339, "name": "token", "nodeType": "VariableDeclaration", - "scope": 3329, - "src": "2064:16:44", + "scope": 3377, + "src": "2064:16:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" }, "typeName": { "contractScope": null, - "id": 3290, + "id": 3338, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "2064:10:44", + "referencedDeclaration": 2559, + "src": "2064:10:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -2139,26 +2139,26 @@ "visibility": "internal" } ], - "src": "2063:18:44" + "src": "2063:18:46" }, "payable": false, "returnParameters": { - "id": 3293, + "id": 3341, "nodeType": "ParameterList", "parameters": [], - "src": "2089:0:44" + "src": "2089:0:46" }, - "scope": 3462, - "src": "2047:265:44", + "scope": 3510, + "src": "2047:265:46", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 3383, + "id": 3431, "nodeType": "Block", - "src": "2571:291:44", + "src": "2571:291:46", "statements": [ { "expression": { @@ -2166,12 +2166,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3337, + "id": 3385, "name": "revocable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3218, - "src": "2585:9:44", + "referencedDeclaration": 3266, + "src": "2585:9:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2185,21 +2185,21 @@ "typeString": "bool" } ], - "id": 3336, + "id": 3384, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "2577:7:44", + "referencedDeclaration": 4882, + "src": "2577:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3338, + "id": 3386, "isConstant": false, "isLValue": false, "isPure": false, @@ -2207,15 +2207,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2577:18:44", + "src": "2577:18:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3339, + "id": 3387, "nodeType": "ExpressionStatement", - "src": "2577:18:44" + "src": "2577:18:46" }, { "expression": { @@ -2223,7 +2223,7 @@ "arguments": [ { "argumentTypes": null, - "id": 3344, + "id": 3392, "isConstant": false, "isLValue": false, "isPure": false, @@ -2231,33 +2231,33 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "2609:15:44", + "src": "2609:15:46", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3341, + "id": 3389, "name": "revoked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3226, - "src": "2610:7:44", + "referencedDeclaration": 3274, + "src": "2610:7:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 3343, + "id": 3391, "indexExpression": { "argumentTypes": null, - "id": 3342, + "id": 3390, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3331, - "src": "2618:5:44", + "referencedDeclaration": 3379, + "src": "2618:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -2266,7 +2266,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2610:14:44", + "src": "2610:14:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2285,21 +2285,21 @@ "typeString": "bool" } ], - "id": 3340, + "id": 3388, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "2601:7:44", + "referencedDeclaration": 4882, + "src": "2601:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3345, + "id": 3393, "isConstant": false, "isLValue": false, "isPure": false, @@ -2307,28 +2307,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2601:24:44", + "src": "2601:24:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3346, + "id": 3394, "nodeType": "ExpressionStatement", - "src": "2601:24:44" + "src": "2601:24:46" }, { "assignments": [ - 3348 + 3396 ], "declarations": [ { "constant": false, - "id": 3348, + "id": 3396, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 3384, - "src": "2632:15:44", + "scope": 3432, + "src": "2632:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2336,10 +2336,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3347, + "id": 3395, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2632:7:44", + "src": "2632:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2349,20 +2349,20 @@ "visibility": "internal" } ], - "id": 3353, + "id": 3401, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3351, + "id": 3399, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4905, - "src": "2666:4:44", + "referencedDeclaration": 5004, + "src": "2666:4:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenVesting_$3462", + "typeIdentifier": "t_contract$_TokenVesting_$3510", "typeString": "contract TokenVesting" } } @@ -2370,38 +2370,38 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_TokenVesting_$3462", + "typeIdentifier": "t_contract$_TokenVesting_$3510", "typeString": "contract TokenVesting" } ], "expression": { "argumentTypes": null, - "id": 3349, + "id": 3397, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3331, - "src": "2650:5:44", + "referencedDeclaration": 3379, + "src": "2650:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 3350, + "id": 3398, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2493, - "src": "2650:15:44", + "referencedDeclaration": 2541, + "src": "2650:15:46", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 3352, + "id": 3400, "isConstant": false, "isLValue": false, "isPure": false, @@ -2409,27 +2409,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2650:21:44", + "src": "2650:21:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2632:39:44" + "src": "2632:39:46" }, { "assignments": [ - 3355 + 3403 ], "declarations": [ { "constant": false, - "id": 3355, + "id": 3403, "name": "unreleased", "nodeType": "VariableDeclaration", - "scope": 3384, - "src": "2678:18:44", + "scope": 3432, + "src": "2678:18:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2437,10 +2437,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3354, + "id": 3402, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2678:7:44", + "src": "2678:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2450,20 +2450,20 @@ "visibility": "internal" } ], - "id": 3359, + "id": 3407, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3357, + "id": 3405, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3331, - "src": "2716:5:44", + "referencedDeclaration": 3379, + "src": "2716:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } } @@ -2471,22 +2471,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } ], - "id": 3356, + "id": 3404, "name": "releasableAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "2699:16:44", + "referencedDeclaration": 3449, + "src": "2699:16:46", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20Basic_$2511_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20Basic_$2559_$returns$_t_uint256_$", "typeString": "function (contract ERC20Basic) view returns (uint256)" } }, - "id": 3358, + "id": 3406, "isConstant": false, "isLValue": false, "isPure": false, @@ -2494,27 +2494,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2699:23:44", + "src": "2699:23:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2678:44:44" + "src": "2678:44:46" }, { "assignments": [ - 3361 + 3409 ], "declarations": [ { "constant": false, - "id": 3361, + "id": 3409, "name": "refund", "nodeType": "VariableDeclaration", - "scope": 3384, - "src": "2728:14:44", + "scope": 3432, + "src": "2728:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2522,10 +2522,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3360, + "id": 3408, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2728:7:44", + "src": "2728:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2535,18 +2535,18 @@ "visibility": "internal" } ], - "id": 3366, + "id": 3414, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3364, + "id": 3412, "name": "unreleased", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3355, - "src": "2757:10:44", + "referencedDeclaration": 3403, + "src": "2757:10:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2562,32 +2562,32 @@ ], "expression": { "argumentTypes": null, - "id": 3362, + "id": 3410, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "2745:7:44", + "referencedDeclaration": 3396, + "src": "2745:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3363, + "id": 3411, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "2745:11:44", + "referencedDeclaration": 554, + "src": "2745:11:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3365, + "id": 3413, "isConstant": false, "isLValue": false, "isPure": false, @@ -2595,19 +2595,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2745:23:44", + "src": "2745:23:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2728:40:44" + "src": "2728:40:46" }, { "expression": { "argumentTypes": null, - "id": 3371, + "id": 3419, "isConstant": false, "isLValue": false, "isPure": false, @@ -2616,28 +2616,28 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3367, + "id": 3415, "name": "revoked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3226, - "src": "2775:7:44", + "referencedDeclaration": 3274, + "src": "2775:7:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 3369, + "id": 3417, "indexExpression": { "argumentTypes": null, - "id": 3368, + "id": 3416, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3331, - "src": "2783:5:44", + "referencedDeclaration": 3379, + "src": "2783:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -2646,7 +2646,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2775:14:44", + "src": "2775:14:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2657,14 +2657,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 3370, + "id": 3418, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2792:4:44", + "src": "2792:4:46", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2672,15 +2672,15 @@ }, "value": "true" }, - "src": "2775:21:44", + "src": "2775:21:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 3372, + "id": 3420, "nodeType": "ExpressionStatement", - "src": "2775:21:44" + "src": "2775:21:46" }, { "expression": { @@ -2688,12 +2688,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3376, + "id": 3424, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1523, - "src": "2822:5:44", + "referencedDeclaration": 1571, + "src": "2822:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2701,12 +2701,12 @@ }, { "argumentTypes": null, - "id": 3377, + "id": 3425, "name": "refund", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3361, - "src": "2829:6:44", + "referencedDeclaration": 3409, + "src": "2829:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2726,32 +2726,32 @@ ], "expression": { "argumentTypes": null, - "id": 3373, + "id": 3421, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3331, - "src": "2803:5:44", + "referencedDeclaration": 3379, + "src": "2803:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 3375, + "id": 3423, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "2803:18:44", + "referencedDeclaration": 2815, + "src": "2803:18:46", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 3378, + "id": 3426, "isConstant": false, "isLValue": false, "isPure": false, @@ -2759,15 +2759,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2803:33:44", + "src": "2803:33:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3379, + "id": 3427, "nodeType": "ExpressionStatement", - "src": "2803:33:44" + "src": "2803:33:46" }, { "eventCall": { @@ -2775,18 +2775,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 3380, + "id": 3428, "name": "Revoked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3208, - "src": "2848:7:44", + "referencedDeclaration": 3256, + "src": "2848:7:46", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 3381, + "id": 3429, "isConstant": false, "isLValue": false, "isPure": false, @@ -2794,72 +2794,72 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2848:9:44", + "src": "2848:9:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3382, + "id": 3430, "nodeType": "EmitStatement", - "src": "2843:14:44" + "src": "2843:14:46" } ] }, "documentation": "@notice Allows the owner to revoke the vesting. Tokens already vested\nremain in the contract, the rest are returned to the owner.\n@param token ERC20 token which is being vested", - "id": 3384, + "id": 3432, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 3334, + "id": 3382, "modifierName": { "argumentTypes": null, - "id": 3333, + "id": 3381, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1554, - "src": "2561:9:44", + "referencedDeclaration": 1602, + "src": "2561:9:46", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2561:9:44" + "src": "2561:9:46" } ], "name": "revoke", "nodeType": "FunctionDefinition", "parameters": { - "id": 3332, + "id": 3380, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3331, + "id": 3379, "name": "token", "nodeType": "VariableDeclaration", - "scope": 3384, - "src": "2536:16:44", + "scope": 3432, + "src": "2536:16:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" }, "typeName": { "contractScope": null, - "id": 3330, + "id": 3378, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "2536:10:44", + "referencedDeclaration": 2559, + "src": "2536:10:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -2867,26 +2867,26 @@ "visibility": "internal" } ], - "src": "2535:18:44" + "src": "2535:18:46" }, "payable": false, "returnParameters": { - "id": 3335, + "id": 3383, "nodeType": "ParameterList", "parameters": [], - "src": "2571:0:44" + "src": "2571:0:46" }, - "scope": 3462, - "src": "2520:342:44", + "scope": 3510, + "src": "2520:342:46", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 3400, + "id": 3448, "nodeType": "Block", - "src": "3090:58:44", + "src": "3090:58:46", "statements": [ { "expression": { @@ -2896,28 +2896,28 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3395, + "id": 3443, "name": "released", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "3127:8:44", + "referencedDeclaration": 3270, + "src": "3127:8:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3397, + "id": 3445, "indexExpression": { "argumentTypes": null, - "id": 3396, + "id": 3444, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3386, - "src": "3136:5:44", + "referencedDeclaration": 3434, + "src": "3136:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -2926,7 +2926,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3127:15:44", + "src": "3127:15:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2945,14 +2945,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3392, + "id": 3440, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3386, - "src": "3116:5:44", + "referencedDeclaration": 3434, + "src": "3116:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } } @@ -2960,22 +2960,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } ], - "id": 3391, + "id": 3439, "name": "vestedAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3461, - "src": "3103:12:44", + "referencedDeclaration": 3509, + "src": "3103:12:46", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20Basic_$2511_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20Basic_$2559_$returns$_t_uint256_$", "typeString": "function (contract ERC20Basic) view returns (uint256)" } }, - "id": 3393, + "id": 3441, "isConstant": false, "isLValue": false, "isPure": false, @@ -2983,27 +2983,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3103:19:44", + "src": "3103:19:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3394, + "id": 3442, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "3103:23:44", + "referencedDeclaration": 554, + "src": "3103:23:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3398, + "id": 3446, "isConstant": false, "isLValue": false, "isPure": false, @@ -3011,21 +3011,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3103:40:44", + "src": "3103:40:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 3390, - "id": 3399, + "functionReturnParameters": 3438, + "id": 3447, "nodeType": "Return", - "src": "3096:47:44" + "src": "3096:47:46" } ] }, "documentation": "@dev Calculates the amount that has already vested but hasn't been released yet.\n@param token ERC20 token which is being vested", - "id": 3401, + "id": 3449, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3033,31 +3033,31 @@ "name": "releasableAmount", "nodeType": "FunctionDefinition", "parameters": { - "id": 3387, + "id": 3435, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3386, + "id": 3434, "name": "token", "nodeType": "VariableDeclaration", - "scope": 3401, - "src": "3042:16:44", + "scope": 3449, + "src": "3042:16:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" }, "typeName": { "contractScope": null, - "id": 3385, + "id": 3433, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "3042:10:44", + "referencedDeclaration": 2559, + "src": "3042:10:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -3065,20 +3065,20 @@ "visibility": "internal" } ], - "src": "3041:18:44" + "src": "3041:18:46" }, "payable": false, "returnParameters": { - "id": 3390, + "id": 3438, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3389, + "id": 3437, "name": "", "nodeType": "VariableDeclaration", - "scope": 3401, - "src": "3081:7:44", + "scope": 3449, + "src": "3081:7:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3086,10 +3086,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3388, + "id": 3436, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3081:7:44", + "src": "3081:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3099,32 +3099,32 @@ "visibility": "internal" } ], - "src": "3080:9:44" + "src": "3080:9:46" }, - "scope": 3462, - "src": "3016:132:44", + "scope": 3510, + "src": "3016:132:46", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 3460, + "id": 3508, "nodeType": "Block", - "src": "3343:367:44", + "src": "3343:367:46", "statements": [ { "assignments": [ - 3409 + 3457 ], "declarations": [ { "constant": false, - "id": 3409, + "id": 3457, "name": "currentBalance", "nodeType": "VariableDeclaration", - "scope": 3461, - "src": "3349:22:44", + "scope": 3509, + "src": "3349:22:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3132,10 +3132,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3408, + "id": 3456, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3349:7:44", + "src": "3349:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3145,20 +3145,20 @@ "visibility": "internal" } ], - "id": 3414, + "id": 3462, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3412, + "id": 3460, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4905, - "src": "3390:4:44", + "referencedDeclaration": 5004, + "src": "3390:4:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenVesting_$3462", + "typeIdentifier": "t_contract$_TokenVesting_$3510", "typeString": "contract TokenVesting" } } @@ -3166,38 +3166,38 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_TokenVesting_$3462", + "typeIdentifier": "t_contract$_TokenVesting_$3510", "typeString": "contract TokenVesting" } ], "expression": { "argumentTypes": null, - "id": 3410, + "id": 3458, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3403, - "src": "3374:5:44", + "referencedDeclaration": 3451, + "src": "3374:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 3411, + "id": 3459, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2493, - "src": "3374:15:44", + "referencedDeclaration": 2541, + "src": "3374:15:46", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 3413, + "id": 3461, "isConstant": false, "isLValue": false, "isPure": false, @@ -3205,27 +3205,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3374:21:44", + "src": "3374:21:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3349:46:44" + "src": "3349:46:46" }, { "assignments": [ - 3416 + 3464 ], "declarations": [ { "constant": false, - "id": 3416, + "id": 3464, "name": "totalBalance", "nodeType": "VariableDeclaration", - "scope": 3461, - "src": "3401:20:44", + "scope": 3509, + "src": "3401:20:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3233,10 +3233,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3415, + "id": 3463, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3401:7:44", + "src": "3401:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3246,7 +3246,7 @@ "visibility": "internal" } ], - "id": 3423, + "id": 3471, "initialValue": { "argumentTypes": null, "arguments": [ @@ -3254,28 +3254,28 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3419, + "id": 3467, "name": "released", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "3443:8:44", + "referencedDeclaration": 3270, + "src": "3443:8:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3421, + "id": 3469, "indexExpression": { "argumentTypes": null, - "id": 3420, + "id": 3468, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3403, - "src": "3452:5:44", + "referencedDeclaration": 3451, + "src": "3452:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -3284,7 +3284,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3443:15:44", + "src": "3443:15:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3300,32 +3300,32 @@ ], "expression": { "argumentTypes": null, - "id": 3417, + "id": 3465, "name": "currentBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3409, - "src": "3424:14:44", + "referencedDeclaration": 3457, + "src": "3424:14:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3418, + "id": 3466, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "3424:18:44", + "referencedDeclaration": 578, + "src": "3424:18:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3422, + "id": 3470, "isConstant": false, "isLValue": false, "isPure": false, @@ -3333,14 +3333,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3424:35:44", + "src": "3424:35:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3401:58:44" + "src": "3401:58:46" }, { "condition": { @@ -3349,7 +3349,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3427, + "id": 3475, "isConstant": false, "isLValue": false, "isPure": false, @@ -3358,18 +3358,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3424, + "id": 3472, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "3470:5:44", + "referencedDeclaration": 4869, + "src": "3470:5:46", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 3425, + "id": 3473, "isConstant": false, "isLValue": false, "isPure": false, @@ -3377,7 +3377,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3470:15:44", + "src": "3470:15:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3387,18 +3387,18 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 3426, + "id": 3474, "name": "cliff", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3212, - "src": "3488:5:44", + "referencedDeclaration": 3260, + "src": "3488:5:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3470:23:44", + "src": "3470:23:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3411,7 +3411,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 3441, + "id": 3489, "isConstant": false, "isLValue": false, "isPure": false, @@ -3422,7 +3422,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3437, + "id": 3485, "isConstant": false, "isLValue": false, "isPure": false, @@ -3431,18 +3431,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3431, + "id": 3479, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "3528:5:44", + "referencedDeclaration": 4869, + "src": "3528:5:46", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 3432, + "id": 3480, "isConstant": false, "isLValue": false, "isPure": false, @@ -3450,7 +3450,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3528:15:44", + "src": "3528:15:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3463,12 +3463,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3435, + "id": 3483, "name": "duration", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3216, - "src": "3557:8:44", + "referencedDeclaration": 3264, + "src": "3557:8:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3484,32 +3484,32 @@ ], "expression": { "argumentTypes": null, - "id": 3433, + "id": 3481, "name": "start", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3214, - "src": "3547:5:44", + "referencedDeclaration": 3262, + "src": "3547:5:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3434, + "id": 3482, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "3547:9:44", + "referencedDeclaration": 578, + "src": "3547:9:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3436, + "id": 3484, "isConstant": false, "isLValue": false, "isPure": false, @@ -3517,13 +3517,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3547:19:44", + "src": "3547:19:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3528:38:44", + "src": "3528:38:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3535,28 +3535,28 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3438, + "id": 3486, "name": "revoked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3226, - "src": "3570:7:44", + "referencedDeclaration": 3274, + "src": "3570:7:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 3440, + "id": 3488, "indexExpression": { "argumentTypes": null, - "id": 3439, + "id": 3487, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3403, - "src": "3578:5:44", + "referencedDeclaration": 3451, + "src": "3578:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -3565,22 +3565,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3570:14:44", + "src": "3570:14:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "3528:56:44", + "src": "3528:56:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 3457, + "id": 3505, "nodeType": "Block", - "src": "3626:80:44", + "src": "3626:80:46", "statements": [ { "expression": { @@ -3588,12 +3588,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3454, + "id": 3502, "name": "duration", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3216, - "src": "3690:8:44", + "referencedDeclaration": 3264, + "src": "3690:8:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3615,12 +3615,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3450, + "id": 3498, "name": "start", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3214, - "src": "3678:5:44", + "referencedDeclaration": 3262, + "src": "3678:5:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3638,18 +3638,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3447, + "id": 3495, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "3658:5:44", + "referencedDeclaration": 4869, + "src": "3658:5:46", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 3448, + "id": 3496, "isConstant": false, "isLValue": false, "isPure": false, @@ -3657,27 +3657,27 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3658:15:44", + "src": "3658:15:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3449, + "id": 3497, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "3658:19:44", + "referencedDeclaration": 554, + "src": "3658:19:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3451, + "id": 3499, "isConstant": false, "isLValue": false, "isPure": false, @@ -3685,7 +3685,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3658:26:44", + "src": "3658:26:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3701,32 +3701,32 @@ ], "expression": { "argumentTypes": null, - "id": 3445, + "id": 3493, "name": "totalBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3416, - "src": "3641:12:44", + "referencedDeclaration": 3464, + "src": "3641:12:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3446, + "id": 3494, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 477, - "src": "3641:16:44", + "referencedDeclaration": 520, + "src": "3641:16:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3452, + "id": 3500, "isConstant": false, "isLValue": false, "isPure": false, @@ -3734,27 +3734,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3641:44:44", + "src": "3641:44:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3453, + "id": 3501, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 491, - "src": "3641:48:44", + "referencedDeclaration": 534, + "src": "3641:48:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3455, + "id": 3503, "isConstant": false, "isLValue": false, "isPure": false, @@ -3762,69 +3762,69 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3641:58:44", + "src": "3641:58:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 3407, - "id": 3456, + "functionReturnParameters": 3455, + "id": 3504, "nodeType": "Return", - "src": "3634:65:44" + "src": "3634:65:46" } ] }, - "id": 3458, + "id": 3506, "nodeType": "IfStatement", - "src": "3524:182:44", + "src": "3524:182:46", "trueBody": { - "id": 3444, + "id": 3492, "nodeType": "Block", - "src": "3586:34:44", + "src": "3586:34:46", "statements": [ { "expression": { "argumentTypes": null, - "id": 3442, + "id": 3490, "name": "totalBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3416, - "src": "3601:12:44", + "referencedDeclaration": 3464, + "src": "3601:12:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 3407, - "id": 3443, + "functionReturnParameters": 3455, + "id": 3491, "nodeType": "Return", - "src": "3594:19:44" + "src": "3594:19:46" } ] } }, - "id": 3459, + "id": 3507, "nodeType": "IfStatement", - "src": "3466:240:44", + "src": "3466:240:46", "trueBody": { - "id": 3430, + "id": 3478, "nodeType": "Block", - "src": "3495:23:44", + "src": "3495:23:46", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 3428, + "id": 3476, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3510:1:44", + "src": "3510:1:46", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3832,10 +3832,10 @@ }, "value": "0" }, - "functionReturnParameters": 3407, - "id": 3429, + "functionReturnParameters": 3455, + "id": 3477, "nodeType": "Return", - "src": "3503:8:44" + "src": "3503:8:46" } ] } @@ -3843,7 +3843,7 @@ ] }, "documentation": "@dev Calculates the amount that has already vested.\n@param token ERC20 token which is being vested", - "id": 3461, + "id": 3509, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3851,31 +3851,31 @@ "name": "vestedAmount", "nodeType": "FunctionDefinition", "parameters": { - "id": 3404, + "id": 3452, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3403, + "id": 3451, "name": "token", "nodeType": "VariableDeclaration", - "scope": 3461, - "src": "3295:16:44", + "scope": 3509, + "src": "3295:16:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" }, "typeName": { "contractScope": null, - "id": 3402, + "id": 3450, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "3295:10:44", + "referencedDeclaration": 2559, + "src": "3295:10:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -3883,20 +3883,20 @@ "visibility": "internal" } ], - "src": "3294:18:44" + "src": "3294:18:46" }, "payable": false, "returnParameters": { - "id": 3407, + "id": 3455, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3406, + "id": 3454, "name": "", "nodeType": "VariableDeclaration", - "scope": 3461, - "src": "3334:7:44", + "scope": 3509, + "src": "3334:7:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3904,10 +3904,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3405, + "id": 3453, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3334:7:44", + "src": "3334:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3917,33 +3917,33 @@ "visibility": "internal" } ], - "src": "3333:9:44" + "src": "3333:9:46" }, - "scope": 3462, - "src": "3273:437:44", + "scope": 3510, + "src": "3273:437:46", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 3463, - "src": "468:3244:44" + "scope": 3511, + "src": "468:3244:46" } ], - "src": "48:3665:44" + "src": "48:3665:46" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/TokenVesting.sol", "exportedSymbols": { "TokenVesting": [ - 3462 + 3510 ] }, - "id": 3463, + "id": 3511, "nodeType": "SourceUnit", "nodes": [ { - "id": 3187, + "id": 3235, "literals": [ "solidity", "^", @@ -3951,60 +3951,60 @@ ".21" ], "nodeType": "PragmaDirective", - "src": "48:24:44" + "src": "48:24:46" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20Basic.sol", "file": "./ERC20Basic.sol", - "id": 3188, + "id": 3236, "nodeType": "ImportDirective", - "scope": 3463, - "sourceUnit": 2512, - "src": "74:26:44", + "scope": 3511, + "sourceUnit": 2560, + "src": "74:26:46", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/SafeERC20.sol", "file": "./SafeERC20.sol", - "id": 3189, + "id": 3237, "nodeType": "ImportDirective", - "scope": 3463, - "sourceUnit": 2808, - "src": "101:25:44", + "scope": 3511, + "sourceUnit": 2856, + "src": "101:25:46", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/Ownable.sol", "file": "../../ownership/Ownable.sol", - "id": 3190, + "id": 3238, "nodeType": "ImportDirective", - "scope": 3463, - "sourceUnit": 1581, - "src": "127:37:44", + "scope": 3511, + "sourceUnit": 1629, + "src": "127:37:46", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 3191, + "id": 3239, "nodeType": "ImportDirective", - "scope": 3463, - "sourceUnit": 537, - "src": "165:33:44", + "scope": 3511, + "sourceUnit": 580, + "src": "165:33:46", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", - "id": 3192, + "id": 3240, "nodeType": "ImportDirective", - "scope": 3463, - "sourceUnit": 4770, - "src": "199:53:44", + "scope": 3511, + "sourceUnit": 4865, + "src": "199:53:46", "symbolAliases": [], "unitAlias": "" }, @@ -4014,76 +4014,76 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 3193, + "id": 3241, "name": "Migratable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4769, - "src": "493:10:44", + "referencedDeclaration": 4864, + "src": "493:10:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migratable_$4769", + "typeIdentifier": "t_contract$_Migratable_$4864", "typeString": "contract Migratable" } }, - "id": 3194, + "id": 3242, "nodeType": "InheritanceSpecifier", - "src": "493:10:44" + "src": "493:10:46" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 3195, + "id": 3243, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1580, - "src": "505:7:44", + "referencedDeclaration": 1628, + "src": "505:7:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$1580", + "typeIdentifier": "t_contract$_Ownable_$1628", "typeString": "contract Ownable" } }, - "id": 3196, + "id": 3244, "nodeType": "InheritanceSpecifier", - "src": "505:7:44" + "src": "505:7:46" } ], "contractDependencies": [ - 1580, - 4769 + 1628, + 4864 ], "contractKind": "contract", "documentation": "@title TokenVesting\n@dev A token holder contract that can release its token balance gradually like a\ntypical vesting scheme, with a cliff and vesting period. Optionally revocable by the\nowner.", "fullyImplemented": true, - "id": 3462, + "id": 3510, "linearizedBaseContracts": [ - 3462, - 1580, - 4769 + 3510, + 1628, + 4864 ], "name": "TokenVesting", "nodeType": "ContractDefinition", "nodes": [ { - "id": 3199, + "id": 3247, "libraryName": { "contractScope": null, - "id": 3197, + "id": 3245, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 536, - "src": "523:8:44", + "referencedDeclaration": 579, + "src": "523:8:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$536", + "typeIdentifier": "t_contract$_SafeMath_$579", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "517:27:44", + "src": "517:27:46", "typeName": { - "id": 3198, + "id": 3246, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "536:7:44", + "src": "536:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4091,30 +4091,30 @@ } }, { - "id": 3202, + "id": 3250, "libraryName": { "contractScope": null, - "id": 3200, + "id": 3248, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2807, - "src": "553:9:44", + "referencedDeclaration": 2855, + "src": "553:9:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$2807", + "typeIdentifier": "t_contract$_SafeERC20_$2855", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "547:31:44", + "src": "547:31:46", "typeName": { "contractScope": null, - "id": 3201, + "id": 3249, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "567:10:44", + "referencedDeclaration": 2559, + "src": "567:10:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } } @@ -4122,21 +4122,21 @@ { "anonymous": false, "documentation": null, - "id": 3206, + "id": 3254, "name": "Released", "nodeType": "EventDefinition", "parameters": { - "id": 3205, + "id": 3253, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3204, + "id": 3252, "indexed": false, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 3206, - "src": "597:14:44", + "scope": 3254, + "src": "597:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4144,10 +4144,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3203, + "id": 3251, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "597:7:44", + "src": "597:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4157,31 +4157,31 @@ "visibility": "internal" } ], - "src": "596:16:44" + "src": "596:16:46" }, - "src": "582:31:44" + "src": "582:31:46" }, { "anonymous": false, "documentation": null, - "id": 3208, + "id": 3256, "name": "Revoked", "nodeType": "EventDefinition", "parameters": { - "id": 3207, + "id": 3255, "nodeType": "ParameterList", "parameters": [], - "src": "629:2:44" + "src": "629:2:46" }, - "src": "616:16:44" + "src": "616:16:46" }, { "constant": false, - "id": 3210, + "id": 3258, "name": "beneficiary", "nodeType": "VariableDeclaration", - "scope": 3462, - "src": "687:26:44", + "scope": 3510, + "src": "687:26:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4189,10 +4189,10 @@ "typeString": "address" }, "typeName": { - "id": 3209, + "id": 3257, "name": "address", "nodeType": "ElementaryTypeName", - "src": "687:7:44", + "src": "687:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4203,11 +4203,11 @@ }, { "constant": false, - "id": 3212, + "id": 3260, "name": "cliff", "nodeType": "VariableDeclaration", - "scope": 3462, - "src": "718:20:44", + "scope": 3510, + "src": "718:20:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4215,10 +4215,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3211, + "id": 3259, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "718:7:44", + "src": "718:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4229,11 +4229,11 @@ }, { "constant": false, - "id": 3214, + "id": 3262, "name": "start", "nodeType": "VariableDeclaration", - "scope": 3462, - "src": "742:20:44", + "scope": 3510, + "src": "742:20:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4241,10 +4241,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3213, + "id": 3261, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "742:7:44", + "src": "742:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4255,11 +4255,11 @@ }, { "constant": false, - "id": 3216, + "id": 3264, "name": "duration", "nodeType": "VariableDeclaration", - "scope": 3462, - "src": "766:23:44", + "scope": 3510, + "src": "766:23:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4267,10 +4267,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3215, + "id": 3263, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "766:7:44", + "src": "766:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4281,11 +4281,11 @@ }, { "constant": false, - "id": 3218, + "id": 3266, "name": "revocable", "nodeType": "VariableDeclaration", - "scope": 3462, - "src": "794:21:44", + "scope": 3510, + "src": "794:21:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4293,10 +4293,10 @@ "typeString": "bool" }, "typeName": { - "id": 3217, + "id": 3265, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "794:4:44", + "src": "794:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4307,11 +4307,11 @@ }, { "constant": false, - "id": 3222, + "id": 3270, "name": "released", "nodeType": "VariableDeclaration", - "scope": 3462, - "src": "820:44:44", + "scope": 3510, + "src": "820:44:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4319,28 +4319,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 3221, + "id": 3269, "keyType": { - "id": 3219, + "id": 3267, "name": "address", "nodeType": "ElementaryTypeName", - "src": "829:7:44", + "src": "829:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "820:28:44", + "src": "820:28:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 3220, + "id": 3268, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "840:7:44", + "src": "840:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4352,11 +4352,11 @@ }, { "constant": false, - "id": 3226, + "id": 3274, "name": "revoked", "nodeType": "VariableDeclaration", - "scope": 3462, - "src": "868:40:44", + "scope": 3510, + "src": "868:40:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4364,28 +4364,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 3225, + "id": 3273, "keyType": { - "id": 3223, + "id": 3271, "name": "address", "nodeType": "ElementaryTypeName", - "src": "877:7:44", + "src": "877:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "868:25:44", + "src": "868:25:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 3224, + "id": 3272, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "888:4:44", + "src": "888:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4397,9 +4397,9 @@ }, { "body": { - "id": 3288, + "id": 3336, "nodeType": "Block", - "src": "1673:253:44", + "src": "1673:253:46", "statements": [ { "expression": { @@ -4407,12 +4407,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3248, + "id": 3296, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "1698:7:44", + "referencedDeclaration": 3276, + "src": "1698:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4428,32 +4428,32 @@ ], "expression": { "argumentTypes": null, - "id": 3245, + "id": 3293, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "1679:7:44", + "referencedDeclaration": 1628, + "src": "1679:7:46", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Ownable_$1580_$", + "typeIdentifier": "t_type$_t_contract$_Ownable_$1628_$", "typeString": "type(contract Ownable)" } }, - "id": 3247, + "id": 3295, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 1543, - "src": "1679:18:44", + "referencedDeclaration": 1591, + "src": "1679:18:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 3249, + "id": 3297, "isConstant": false, "isLValue": false, "isPure": false, @@ -4461,15 +4461,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1679:27:44", + "src": "1679:27:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3250, + "id": 3298, "nodeType": "ExpressionStatement", - "src": "1679:27:44" + "src": "1679:27:46" }, { "expression": { @@ -4481,19 +4481,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3256, + "id": 3304, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3252, + "id": 3300, "name": "_beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3230, - "src": "1721:12:44", + "referencedDeclaration": 3278, + "src": "1721:12:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4507,14 +4507,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 3254, + "id": 3302, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1745:1:44", + "src": "1745:1:46", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4530,20 +4530,20 @@ "typeString": "int_const 0" } ], - "id": 3253, + "id": 3301, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1737:7:44", + "src": "1737:7:46", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 3255, + "id": 3303, "isConstant": false, "isLValue": false, "isPure": true, @@ -4551,13 +4551,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1737:10:44", + "src": "1737:10:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1721:26:44", + "src": "1721:26:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4571,21 +4571,21 @@ "typeString": "bool" } ], - "id": 3251, + "id": 3299, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1713:7:44", + "referencedDeclaration": 4882, + "src": "1713:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3257, + "id": 3305, "isConstant": false, "isLValue": false, "isPure": false, @@ -4593,15 +4593,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1713:35:44", + "src": "1713:35:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3258, + "id": 3306, "nodeType": "ExpressionStatement", - "src": "1713:35:44" + "src": "1713:35:46" }, { "expression": { @@ -4613,19 +4613,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3262, + "id": 3310, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3260, + "id": 3308, "name": "_cliff", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3234, - "src": "1762:6:44", + "referencedDeclaration": 3282, + "src": "1762:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4635,18 +4635,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 3261, + "id": 3309, "name": "_duration", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3236, - "src": "1772:9:44", + "referencedDeclaration": 3284, + "src": "1772:9:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1762:19:44", + "src": "1762:19:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4660,21 +4660,21 @@ "typeString": "bool" } ], - "id": 3259, + "id": 3307, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "1754:7:44", + "referencedDeclaration": 4882, + "src": "1754:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3263, + "id": 3311, "isConstant": false, "isLValue": false, "isPure": false, @@ -4682,725 +4682,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1754:28:44", + "src": "1754:28:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3264, + "id": 3312, "nodeType": "ExpressionStatement", - "src": "1754:28:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 3267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3265, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3210, - "src": "1789:11:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3266, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3230, - "src": "1803:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1789:26:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3268, - "nodeType": "ExpressionStatement", - "src": "1789:26:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 3271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3269, - "name": "revocable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3218, - "src": "1821:9:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3270, - "name": "_revocable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3238, - "src": "1833:10:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1821:22:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3272, - "nodeType": "ExpressionStatement", - "src": "1821:22:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 3275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3273, - "name": "duration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3216, - "src": "1849:8:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3274, - "name": "_duration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3236, - "src": "1860:9:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1849:20:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3276, - "nodeType": "ExpressionStatement", - "src": "1849:20:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 3282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3277, - "name": "cliff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3212, - "src": "1875:5:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3280, - "name": "_cliff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3234, - "src": "1894:6:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3278, - "name": "_start", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3232, - "src": "1883:6:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "1883:10:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1883:18:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1875:26:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3283, - "nodeType": "ExpressionStatement", - "src": "1875:26:44" - }, - { - "expression": { - "argumentTypes": null, - "id": 3286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3284, - "name": "start", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3214, - "src": "1907:5:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3285, - "name": "_start", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3232, - "src": "1915:6:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1907:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3287, - "nodeType": "ExpressionStatement", - "src": "1907:14:44" - } - ] - }, - "documentation": "@dev Creates a vesting contract that vests its balance of any ERC20 token to the\n_beneficiary, gradually in a linear fashion until _start + _duration. By then all\nof the balance will have vested.\n@param _beneficiary address of the beneficiary to whom vested tokens are transferred\n@param _cliff duration in seconds of the cliff in which tokens will begin to vest\n@param _duration duration in seconds of the period in which the tokens will vest\n@param _revocable whether the vesting is revocable or not", - "id": 3289, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "hexValue": "546f6b656e56657374696e67", - "id": 3241, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1646:14:44", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e0d70f1cfb5d37122c7d281c78f46fb60f53015666030a7a749c1365febf4541", - "typeString": "literal_string \"TokenVesting\"" - }, - "value": "TokenVesting" - }, - { - "argumentTypes": null, - "hexValue": "312e392e30", - "id": 3242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1662:7:44", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", - "typeString": "literal_string \"1.9.0\"" - }, - "value": "1.9.0" - } - ], - "id": 3243, - "modifierName": { - "argumentTypes": null, - "id": 3240, - "name": "isInitializer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "1632:13:44", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", - "typeString": "modifier (string memory,string memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1632:38:44" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3228, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 3289, - "src": "1487:15:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3227, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1487:7:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3230, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 3289, - "src": "1508:20:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1508:7:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3232, - "name": "_start", - "nodeType": "VariableDeclaration", - "scope": 3289, - "src": "1534:14:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3231, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1534:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3234, - "name": "_cliff", - "nodeType": "VariableDeclaration", - "scope": 3289, - "src": "1554:14:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1554:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3236, - "name": "_duration", - "nodeType": "VariableDeclaration", - "scope": 3289, - "src": "1574:17:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1574:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3238, - "name": "_revocable", - "nodeType": "VariableDeclaration", - "scope": 3289, - "src": "1597:15:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3237, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1597:4:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1481:135:44" - }, - "payable": false, - "returnParameters": { - "id": 3244, - "nodeType": "ParameterList", - "parameters": [], - "src": "1673:0:44" - }, - "scope": 3462, - "src": "1462:464:44", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3328, - "nodeType": "Block", - "src": "2089:223:44", - "statements": [ - { - "assignments": [ - 3295 - ], - "declarations": [ - { - "constant": false, - "id": 3295, - "name": "unreleased", - "nodeType": "VariableDeclaration", - "scope": 3329, - "src": "2095:18:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3294, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2095:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3299, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3297, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3291, - "src": "2133:5:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", - "typeString": "contract ERC20Basic" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", - "typeString": "contract ERC20Basic" - } - ], - "id": 3296, - "name": "releasableAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "2116:16:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20Basic_$2511_$returns$_t_uint256_$", - "typeString": "function (contract ERC20Basic) view returns (uint256)" - } - }, - "id": 3298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2116:23:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2095:44:44" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3301, - "name": "unreleased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3295, - "src": "2154:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2167:1:44", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2154:14:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3300, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4787, - 4788 - ], - "referencedDeclaration": 4787, - "src": "2146:7:44", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2146:23:44", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3305, - "nodeType": "ExpressionStatement", - "src": "2146:23:44" + "src": "1754:28:46" }, { "expression": { @@ -5412,39 +4702,150 @@ "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3306, - "name": "released", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "2176:8:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3308, - "indexExpression": { - "argumentTypes": null, - "id": 3307, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3291, - "src": "2185:5:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", - "typeString": "contract ERC20Basic" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2176:15:44", + "id": 3313, + "name": "beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3258, + "src": "1789:11:46", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3314, + "name": "_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3278, + "src": "1803:12:46", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1789:26:46", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3316, + "nodeType": "ExpressionStatement", + "src": "1789:26:46" + }, + { + "expression": { + "argumentTypes": null, + "id": 3319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3317, + "name": "revocable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3266, + "src": "1821:9:46", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3318, + "name": "_revocable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3286, + "src": "1833:10:46", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1821:22:46", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3320, + "nodeType": "ExpressionStatement", + "src": "1821:22:46" + }, + { + "expression": { + "argumentTypes": null, + "id": 3323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3321, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3264, + "src": "1849:8:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3322, + "name": "_duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3284, + "src": "1860:9:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1849:20:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3324, + "nodeType": "ExpressionStatement", + "src": "1849:20:46" + }, + { + "expression": { + "argumentTypes": null, + "id": 3330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3325, + "name": "cliff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3260, + "src": "1875:5:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5457,12 +4858,611 @@ "arguments": [ { "argumentTypes": null, - "id": 3313, + "id": 3328, + "name": "_cliff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3282, + "src": "1894:6:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3326, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3280, + "src": "1883:6:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 578, + "src": "1883:10:46", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1883:18:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1875:26:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3331, + "nodeType": "ExpressionStatement", + "src": "1875:26:46" + }, + { + "expression": { + "argumentTypes": null, + "id": 3334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3332, + "name": "start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3262, + "src": "1907:5:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3333, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3280, + "src": "1915:6:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1907:14:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3335, + "nodeType": "ExpressionStatement", + "src": "1907:14:46" + } + ] + }, + "documentation": "@dev Creates a vesting contract that vests its balance of any ERC20 token to the\n_beneficiary, gradually in a linear fashion until _start + _duration. By then all\nof the balance will have vested.\n@param _beneficiary address of the beneficiary to whom vested tokens are transferred\n@param _cliff duration in seconds of the cliff in which tokens will begin to vest\n@param _duration duration in seconds of the period in which the tokens will vest\n@param _revocable whether the vesting is revocable or not", + "id": 3337, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "hexValue": "546f6b656e56657374696e67", + "id": 3289, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1646:14:46", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e0d70f1cfb5d37122c7d281c78f46fb60f53015666030a7a749c1365febf4541", + "typeString": "literal_string \"TokenVesting\"" + }, + "value": "TokenVesting" + }, + { + "argumentTypes": null, + "hexValue": "312e392e30", + "id": 3290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1662:7:46", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", + "typeString": "literal_string \"1.9.0\"" + }, + "value": "1.9.0" + } + ], + "id": 3291, + "modifierName": { + "argumentTypes": null, + "id": 3288, + "name": "isInitializer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4811, + "src": "1632:13:46", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", + "typeString": "modifier (string memory,string memory)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1632:38:46" + } + ], + "name": "initialize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3276, + "name": "_sender", + "nodeType": "VariableDeclaration", + "scope": 3337, + "src": "1487:15:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3275, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1487:7:46", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3278, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 3337, + "src": "1508:20:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3277, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1508:7:46", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3280, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 3337, + "src": "1534:14:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1534:7:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3282, + "name": "_cliff", + "nodeType": "VariableDeclaration", + "scope": 3337, + "src": "1554:14:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3281, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1554:7:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3284, + "name": "_duration", + "nodeType": "VariableDeclaration", + "scope": 3337, + "src": "1574:17:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1574:7:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3286, + "name": "_revocable", + "nodeType": "VariableDeclaration", + "scope": 3337, + "src": "1597:15:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3285, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1597:4:46", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1481:135:46" + }, + "payable": false, + "returnParameters": { + "id": 3292, + "nodeType": "ParameterList", + "parameters": [], + "src": "1673:0:46" + }, + "scope": 3510, + "src": "1462:464:46", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3376, + "nodeType": "Block", + "src": "2089:223:46", + "statements": [ + { + "assignments": [ + 3343 + ], + "declarations": [ + { + "constant": false, + "id": 3343, + "name": "unreleased", + "nodeType": "VariableDeclaration", + "scope": 3377, + "src": "2095:18:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3342, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2095:7:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3347, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3345, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3339, + "src": "2133:5:46", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20Basic_$2559", + "typeString": "contract ERC20Basic" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ERC20Basic_$2559", + "typeString": "contract ERC20Basic" + } + ], + "id": 3344, + "name": "releasableAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3449, + "src": "2116:16:46", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20Basic_$2559_$returns$_t_uint256_$", + "typeString": "function (contract ERC20Basic) view returns (uint256)" + } + }, + "id": 3346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2116:23:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2095:44:46" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3349, "name": "unreleased", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3295, - "src": "2214:10:44", + "referencedDeclaration": 3343, + "src": "2154:10:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2167:1:46", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2154:14:46", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3348, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4882, + 4883 + ], + "referencedDeclaration": 4882, + "src": "2146:7:46", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2146:23:46", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3353, + "nodeType": "ExpressionStatement", + "src": "2146:23:46" + }, + { + "expression": { + "argumentTypes": null, + "id": 3363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3354, + "name": "released", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3270, + "src": "2176:8:46", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3356, + "indexExpression": { + "argumentTypes": null, + "id": 3355, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3339, + "src": "2185:5:46", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20Basic_$2559", + "typeString": "contract ERC20Basic" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2176:15:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3361, + "name": "unreleased", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3343, + "src": "2214:10:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5480,28 +5480,28 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3309, + "id": 3357, "name": "released", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "2194:8:44", + "referencedDeclaration": 3270, + "src": "2194:8:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3311, + "id": 3359, "indexExpression": { "argumentTypes": null, - "id": 3310, + "id": 3358, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3291, - "src": "2203:5:44", + "referencedDeclaration": 3339, + "src": "2203:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -5510,27 +5510,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2194:15:44", + "src": "2194:15:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3312, + "id": 3360, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "2194:19:44", + "referencedDeclaration": 578, + "src": "2194:19:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3314, + "id": 3362, "isConstant": false, "isLValue": false, "isPure": false, @@ -5538,21 +5538,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2194:31:44", + "src": "2194:31:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2176:49:44", + "src": "2176:49:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3316, + "id": 3364, "nodeType": "ExpressionStatement", - "src": "2176:49:44" + "src": "2176:49:46" }, { "expression": { @@ -5560,12 +5560,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3320, + "id": 3368, "name": "beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3210, - "src": "2251:11:44", + "referencedDeclaration": 3258, + "src": "2251:11:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5573,12 +5573,12 @@ }, { "argumentTypes": null, - "id": 3321, + "id": 3369, "name": "unreleased", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3295, - "src": "2264:10:44", + "referencedDeclaration": 3343, + "src": "2264:10:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5598,32 +5598,32 @@ ], "expression": { "argumentTypes": null, - "id": 3317, + "id": 3365, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3291, - "src": "2232:5:44", + "referencedDeclaration": 3339, + "src": "2232:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 3319, + "id": 3367, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "2232:18:44", + "referencedDeclaration": 2815, + "src": "2232:18:46", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 3322, + "id": 3370, "isConstant": false, "isLValue": false, "isPure": false, @@ -5631,15 +5631,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2232:43:44", + "src": "2232:43:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3323, + "id": 3371, "nodeType": "ExpressionStatement", - "src": "2232:43:44" + "src": "2232:43:46" }, { "eventCall": { @@ -5647,12 +5647,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3325, + "id": 3373, "name": "unreleased", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3295, - "src": "2296:10:44", + "referencedDeclaration": 3343, + "src": "2296:10:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5666,18 +5666,18 @@ "typeString": "uint256" } ], - "id": 3324, + "id": 3372, "name": "Released", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3206, - "src": "2287:8:44", + "referencedDeclaration": 3254, + "src": "2287:8:46", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 3326, + "id": 3374, "isConstant": false, "isLValue": false, "isPure": false, @@ -5685,20 +5685,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2287:20:44", + "src": "2287:20:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3327, + "id": 3375, "nodeType": "EmitStatement", - "src": "2282:25:44" + "src": "2282:25:46" } ] }, "documentation": "@notice Transfers vested tokens to beneficiary.\n@param token ERC20 token which is being vested", - "id": 3329, + "id": 3377, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5706,31 +5706,31 @@ "name": "release", "nodeType": "FunctionDefinition", "parameters": { - "id": 3292, + "id": 3340, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3291, + "id": 3339, "name": "token", "nodeType": "VariableDeclaration", - "scope": 3329, - "src": "2064:16:44", + "scope": 3377, + "src": "2064:16:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" }, "typeName": { "contractScope": null, - "id": 3290, + "id": 3338, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "2064:10:44", + "referencedDeclaration": 2559, + "src": "2064:10:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -5738,26 +5738,26 @@ "visibility": "internal" } ], - "src": "2063:18:44" + "src": "2063:18:46" }, "payable": false, "returnParameters": { - "id": 3293, + "id": 3341, "nodeType": "ParameterList", "parameters": [], - "src": "2089:0:44" + "src": "2089:0:46" }, - "scope": 3462, - "src": "2047:265:44", + "scope": 3510, + "src": "2047:265:46", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 3383, + "id": 3431, "nodeType": "Block", - "src": "2571:291:44", + "src": "2571:291:46", "statements": [ { "expression": { @@ -5765,12 +5765,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3337, + "id": 3385, "name": "revocable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3218, - "src": "2585:9:44", + "referencedDeclaration": 3266, + "src": "2585:9:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5784,21 +5784,21 @@ "typeString": "bool" } ], - "id": 3336, + "id": 3384, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "2577:7:44", + "referencedDeclaration": 4882, + "src": "2577:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3338, + "id": 3386, "isConstant": false, "isLValue": false, "isPure": false, @@ -5806,15 +5806,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2577:18:44", + "src": "2577:18:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3339, + "id": 3387, "nodeType": "ExpressionStatement", - "src": "2577:18:44" + "src": "2577:18:46" }, { "expression": { @@ -5822,7 +5822,7 @@ "arguments": [ { "argumentTypes": null, - "id": 3344, + "id": 3392, "isConstant": false, "isLValue": false, "isPure": false, @@ -5830,33 +5830,33 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "2609:15:44", + "src": "2609:15:46", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3341, + "id": 3389, "name": "revoked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3226, - "src": "2610:7:44", + "referencedDeclaration": 3274, + "src": "2610:7:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 3343, + "id": 3391, "indexExpression": { "argumentTypes": null, - "id": 3342, + "id": 3390, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3331, - "src": "2618:5:44", + "referencedDeclaration": 3379, + "src": "2618:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -5865,7 +5865,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2610:14:44", + "src": "2610:14:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5884,21 +5884,21 @@ "typeString": "bool" } ], - "id": 3340, + "id": 3388, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 4787, - 4788 + 4882, + 4883 ], - "referencedDeclaration": 4787, - "src": "2601:7:44", + "referencedDeclaration": 4882, + "src": "2601:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3345, + "id": 3393, "isConstant": false, "isLValue": false, "isPure": false, @@ -5906,28 +5906,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2601:24:44", + "src": "2601:24:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3346, + "id": 3394, "nodeType": "ExpressionStatement", - "src": "2601:24:44" + "src": "2601:24:46" }, { "assignments": [ - 3348 + 3396 ], "declarations": [ { "constant": false, - "id": 3348, + "id": 3396, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 3384, - "src": "2632:15:44", + "scope": 3432, + "src": "2632:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5935,10 +5935,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3347, + "id": 3395, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2632:7:44", + "src": "2632:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5948,20 +5948,20 @@ "visibility": "internal" } ], - "id": 3353, + "id": 3401, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3351, + "id": 3399, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4905, - "src": "2666:4:44", + "referencedDeclaration": 5004, + "src": "2666:4:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenVesting_$3462", + "typeIdentifier": "t_contract$_TokenVesting_$3510", "typeString": "contract TokenVesting" } } @@ -5969,38 +5969,38 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_TokenVesting_$3462", + "typeIdentifier": "t_contract$_TokenVesting_$3510", "typeString": "contract TokenVesting" } ], "expression": { "argumentTypes": null, - "id": 3349, + "id": 3397, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3331, - "src": "2650:5:44", + "referencedDeclaration": 3379, + "src": "2650:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 3350, + "id": 3398, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2493, - "src": "2650:15:44", + "referencedDeclaration": 2541, + "src": "2650:15:46", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 3352, + "id": 3400, "isConstant": false, "isLValue": false, "isPure": false, @@ -6008,27 +6008,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2650:21:44", + "src": "2650:21:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2632:39:44" + "src": "2632:39:46" }, { "assignments": [ - 3355 + 3403 ], "declarations": [ { "constant": false, - "id": 3355, + "id": 3403, "name": "unreleased", "nodeType": "VariableDeclaration", - "scope": 3384, - "src": "2678:18:44", + "scope": 3432, + "src": "2678:18:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6036,10 +6036,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3354, + "id": 3402, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2678:7:44", + "src": "2678:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6049,20 +6049,20 @@ "visibility": "internal" } ], - "id": 3359, + "id": 3407, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3357, + "id": 3405, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3331, - "src": "2716:5:44", + "referencedDeclaration": 3379, + "src": "2716:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } } @@ -6070,22 +6070,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } ], - "id": 3356, + "id": 3404, "name": "releasableAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "2699:16:44", + "referencedDeclaration": 3449, + "src": "2699:16:46", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20Basic_$2511_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20Basic_$2559_$returns$_t_uint256_$", "typeString": "function (contract ERC20Basic) view returns (uint256)" } }, - "id": 3358, + "id": 3406, "isConstant": false, "isLValue": false, "isPure": false, @@ -6093,27 +6093,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2699:23:44", + "src": "2699:23:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2678:44:44" + "src": "2678:44:46" }, { "assignments": [ - 3361 + 3409 ], "declarations": [ { "constant": false, - "id": 3361, + "id": 3409, "name": "refund", "nodeType": "VariableDeclaration", - "scope": 3384, - "src": "2728:14:44", + "scope": 3432, + "src": "2728:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6121,10 +6121,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3360, + "id": 3408, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2728:7:44", + "src": "2728:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6134,18 +6134,18 @@ "visibility": "internal" } ], - "id": 3366, + "id": 3414, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3364, + "id": 3412, "name": "unreleased", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3355, - "src": "2757:10:44", + "referencedDeclaration": 3403, + "src": "2757:10:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6161,32 +6161,32 @@ ], "expression": { "argumentTypes": null, - "id": 3362, + "id": 3410, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "2745:7:44", + "referencedDeclaration": 3396, + "src": "2745:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3363, + "id": 3411, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "2745:11:44", + "referencedDeclaration": 554, + "src": "2745:11:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3365, + "id": 3413, "isConstant": false, "isLValue": false, "isPure": false, @@ -6194,19 +6194,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2745:23:44", + "src": "2745:23:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2728:40:44" + "src": "2728:40:46" }, { "expression": { "argumentTypes": null, - "id": 3371, + "id": 3419, "isConstant": false, "isLValue": false, "isPure": false, @@ -6215,28 +6215,28 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3367, + "id": 3415, "name": "revoked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3226, - "src": "2775:7:44", + "referencedDeclaration": 3274, + "src": "2775:7:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 3369, + "id": 3417, "indexExpression": { "argumentTypes": null, - "id": 3368, + "id": 3416, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3331, - "src": "2783:5:44", + "referencedDeclaration": 3379, + "src": "2783:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -6245,7 +6245,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2775:14:44", + "src": "2775:14:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6256,14 +6256,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 3370, + "id": 3418, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2792:4:44", + "src": "2792:4:46", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6271,15 +6271,15 @@ }, "value": "true" }, - "src": "2775:21:44", + "src": "2775:21:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 3372, + "id": 3420, "nodeType": "ExpressionStatement", - "src": "2775:21:44" + "src": "2775:21:46" }, { "expression": { @@ -6287,12 +6287,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3376, + "id": 3424, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1523, - "src": "2822:5:44", + "referencedDeclaration": 1571, + "src": "2822:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6300,12 +6300,12 @@ }, { "argumentTypes": null, - "id": 3377, + "id": 3425, "name": "refund", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3361, - "src": "2829:6:44", + "referencedDeclaration": 3409, + "src": "2829:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6325,32 +6325,32 @@ ], "expression": { "argumentTypes": null, - "id": 3373, + "id": 3421, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3331, - "src": "2803:5:44", + "referencedDeclaration": 3379, + "src": "2803:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 3375, + "id": 3423, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2767, - "src": "2803:18:44", + "referencedDeclaration": 2815, + "src": "2803:18:46", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2511_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2511_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20Basic_$2559_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20Basic_$2559_$", "typeString": "function (contract ERC20Basic,address,uint256)" } }, - "id": 3378, + "id": 3426, "isConstant": false, "isLValue": false, "isPure": false, @@ -6358,15 +6358,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2803:33:44", + "src": "2803:33:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3379, + "id": 3427, "nodeType": "ExpressionStatement", - "src": "2803:33:44" + "src": "2803:33:46" }, { "eventCall": { @@ -6374,18 +6374,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 3380, + "id": 3428, "name": "Revoked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3208, - "src": "2848:7:44", + "referencedDeclaration": 3256, + "src": "2848:7:46", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 3381, + "id": 3429, "isConstant": false, "isLValue": false, "isPure": false, @@ -6393,72 +6393,72 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2848:9:44", + "src": "2848:9:46", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3382, + "id": 3430, "nodeType": "EmitStatement", - "src": "2843:14:44" + "src": "2843:14:46" } ] }, "documentation": "@notice Allows the owner to revoke the vesting. Tokens already vested\nremain in the contract, the rest are returned to the owner.\n@param token ERC20 token which is being vested", - "id": 3384, + "id": 3432, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 3334, + "id": 3382, "modifierName": { "argumentTypes": null, - "id": 3333, + "id": 3381, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1554, - "src": "2561:9:44", + "referencedDeclaration": 1602, + "src": "2561:9:46", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2561:9:44" + "src": "2561:9:46" } ], "name": "revoke", "nodeType": "FunctionDefinition", "parameters": { - "id": 3332, + "id": 3380, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3331, + "id": 3379, "name": "token", "nodeType": "VariableDeclaration", - "scope": 3384, - "src": "2536:16:44", + "scope": 3432, + "src": "2536:16:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" }, "typeName": { "contractScope": null, - "id": 3330, + "id": 3378, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "2536:10:44", + "referencedDeclaration": 2559, + "src": "2536:10:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -6466,26 +6466,26 @@ "visibility": "internal" } ], - "src": "2535:18:44" + "src": "2535:18:46" }, "payable": false, "returnParameters": { - "id": 3335, + "id": 3383, "nodeType": "ParameterList", "parameters": [], - "src": "2571:0:44" + "src": "2571:0:46" }, - "scope": 3462, - "src": "2520:342:44", + "scope": 3510, + "src": "2520:342:46", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 3400, + "id": 3448, "nodeType": "Block", - "src": "3090:58:44", + "src": "3090:58:46", "statements": [ { "expression": { @@ -6495,28 +6495,28 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3395, + "id": 3443, "name": "released", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "3127:8:44", + "referencedDeclaration": 3270, + "src": "3127:8:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3397, + "id": 3445, "indexExpression": { "argumentTypes": null, - "id": 3396, + "id": 3444, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3386, - "src": "3136:5:44", + "referencedDeclaration": 3434, + "src": "3136:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -6525,7 +6525,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3127:15:44", + "src": "3127:15:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6544,14 +6544,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3392, + "id": 3440, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3386, - "src": "3116:5:44", + "referencedDeclaration": 3434, + "src": "3116:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } } @@ -6559,22 +6559,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } ], - "id": 3391, + "id": 3439, "name": "vestedAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3461, - "src": "3103:12:44", + "referencedDeclaration": 3509, + "src": "3103:12:46", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20Basic_$2511_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_view$_t_contract$_ERC20Basic_$2559_$returns$_t_uint256_$", "typeString": "function (contract ERC20Basic) view returns (uint256)" } }, - "id": 3393, + "id": 3441, "isConstant": false, "isLValue": false, "isPure": false, @@ -6582,27 +6582,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3103:19:44", + "src": "3103:19:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3394, + "id": 3442, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "3103:23:44", + "referencedDeclaration": 554, + "src": "3103:23:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3398, + "id": 3446, "isConstant": false, "isLValue": false, "isPure": false, @@ -6610,21 +6610,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3103:40:44", + "src": "3103:40:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 3390, - "id": 3399, + "functionReturnParameters": 3438, + "id": 3447, "nodeType": "Return", - "src": "3096:47:44" + "src": "3096:47:46" } ] }, "documentation": "@dev Calculates the amount that has already vested but hasn't been released yet.\n@param token ERC20 token which is being vested", - "id": 3401, + "id": 3449, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6632,31 +6632,31 @@ "name": "releasableAmount", "nodeType": "FunctionDefinition", "parameters": { - "id": 3387, + "id": 3435, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3386, + "id": 3434, "name": "token", "nodeType": "VariableDeclaration", - "scope": 3401, - "src": "3042:16:44", + "scope": 3449, + "src": "3042:16:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" }, "typeName": { "contractScope": null, - "id": 3385, + "id": 3433, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "3042:10:44", + "referencedDeclaration": 2559, + "src": "3042:10:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -6664,20 +6664,20 @@ "visibility": "internal" } ], - "src": "3041:18:44" + "src": "3041:18:46" }, "payable": false, "returnParameters": { - "id": 3390, + "id": 3438, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3389, + "id": 3437, "name": "", "nodeType": "VariableDeclaration", - "scope": 3401, - "src": "3081:7:44", + "scope": 3449, + "src": "3081:7:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6685,10 +6685,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3388, + "id": 3436, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3081:7:44", + "src": "3081:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6698,32 +6698,32 @@ "visibility": "internal" } ], - "src": "3080:9:44" + "src": "3080:9:46" }, - "scope": 3462, - "src": "3016:132:44", + "scope": 3510, + "src": "3016:132:46", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 3460, + "id": 3508, "nodeType": "Block", - "src": "3343:367:44", + "src": "3343:367:46", "statements": [ { "assignments": [ - 3409 + 3457 ], "declarations": [ { "constant": false, - "id": 3409, + "id": 3457, "name": "currentBalance", "nodeType": "VariableDeclaration", - "scope": 3461, - "src": "3349:22:44", + "scope": 3509, + "src": "3349:22:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6731,10 +6731,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3408, + "id": 3456, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3349:7:44", + "src": "3349:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6744,20 +6744,20 @@ "visibility": "internal" } ], - "id": 3414, + "id": 3462, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3412, + "id": 3460, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4905, - "src": "3390:4:44", + "referencedDeclaration": 5004, + "src": "3390:4:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenVesting_$3462", + "typeIdentifier": "t_contract$_TokenVesting_$3510", "typeString": "contract TokenVesting" } } @@ -6765,38 +6765,38 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_TokenVesting_$3462", + "typeIdentifier": "t_contract$_TokenVesting_$3510", "typeString": "contract TokenVesting" } ], "expression": { "argumentTypes": null, - "id": 3410, + "id": 3458, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3403, - "src": "3374:5:44", + "referencedDeclaration": 3451, + "src": "3374:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, - "id": 3411, + "id": 3459, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2493, - "src": "3374:15:44", + "referencedDeclaration": 2541, + "src": "3374:15:46", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 3413, + "id": 3461, "isConstant": false, "isLValue": false, "isPure": false, @@ -6804,27 +6804,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3374:21:44", + "src": "3374:21:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3349:46:44" + "src": "3349:46:46" }, { "assignments": [ - 3416 + 3464 ], "declarations": [ { "constant": false, - "id": 3416, + "id": 3464, "name": "totalBalance", "nodeType": "VariableDeclaration", - "scope": 3461, - "src": "3401:20:44", + "scope": 3509, + "src": "3401:20:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6832,10 +6832,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3415, + "id": 3463, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3401:7:44", + "src": "3401:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6845,7 +6845,7 @@ "visibility": "internal" } ], - "id": 3423, + "id": 3471, "initialValue": { "argumentTypes": null, "arguments": [ @@ -6853,28 +6853,28 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3419, + "id": 3467, "name": "released", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "3443:8:44", + "referencedDeclaration": 3270, + "src": "3443:8:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3421, + "id": 3469, "indexExpression": { "argumentTypes": null, - "id": 3420, + "id": 3468, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3403, - "src": "3452:5:44", + "referencedDeclaration": 3451, + "src": "3452:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -6883,7 +6883,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3443:15:44", + "src": "3443:15:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6899,32 +6899,32 @@ ], "expression": { "argumentTypes": null, - "id": 3417, + "id": 3465, "name": "currentBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3409, - "src": "3424:14:44", + "referencedDeclaration": 3457, + "src": "3424:14:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3418, + "id": 3466, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "3424:18:44", + "referencedDeclaration": 578, + "src": "3424:18:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3422, + "id": 3470, "isConstant": false, "isLValue": false, "isPure": false, @@ -6932,14 +6932,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3424:35:44", + "src": "3424:35:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3401:58:44" + "src": "3401:58:46" }, { "condition": { @@ -6948,7 +6948,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3427, + "id": 3475, "isConstant": false, "isLValue": false, "isPure": false, @@ -6957,18 +6957,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3424, + "id": 3472, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "3470:5:44", + "referencedDeclaration": 4869, + "src": "3470:5:46", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 3425, + "id": 3473, "isConstant": false, "isLValue": false, "isPure": false, @@ -6976,7 +6976,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3470:15:44", + "src": "3470:15:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6986,18 +6986,18 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 3426, + "id": 3474, "name": "cliff", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3212, - "src": "3488:5:44", + "referencedDeclaration": 3260, + "src": "3488:5:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3470:23:44", + "src": "3470:23:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7010,7 +7010,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 3441, + "id": 3489, "isConstant": false, "isLValue": false, "isPure": false, @@ -7021,7 +7021,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3437, + "id": 3485, "isConstant": false, "isLValue": false, "isPure": false, @@ -7030,18 +7030,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3431, + "id": 3479, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "3528:5:44", + "referencedDeclaration": 4869, + "src": "3528:5:46", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 3432, + "id": 3480, "isConstant": false, "isLValue": false, "isPure": false, @@ -7049,7 +7049,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3528:15:44", + "src": "3528:15:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7062,12 +7062,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3435, + "id": 3483, "name": "duration", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3216, - "src": "3557:8:44", + "referencedDeclaration": 3264, + "src": "3557:8:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7083,32 +7083,32 @@ ], "expression": { "argumentTypes": null, - "id": 3433, + "id": 3481, "name": "start", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3214, - "src": "3547:5:44", + "referencedDeclaration": 3262, + "src": "3547:5:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3434, + "id": 3482, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "3547:9:44", + "referencedDeclaration": 578, + "src": "3547:9:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3436, + "id": 3484, "isConstant": false, "isLValue": false, "isPure": false, @@ -7116,13 +7116,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3547:19:44", + "src": "3547:19:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3528:38:44", + "src": "3528:38:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7134,28 +7134,28 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3438, + "id": 3486, "name": "revoked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3226, - "src": "3570:7:44", + "referencedDeclaration": 3274, + "src": "3570:7:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 3440, + "id": 3488, "indexExpression": { "argumentTypes": null, - "id": 3439, + "id": 3487, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3403, - "src": "3578:5:44", + "referencedDeclaration": 3451, + "src": "3578:5:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -7164,22 +7164,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3570:14:44", + "src": "3570:14:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "3528:56:44", + "src": "3528:56:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 3457, + "id": 3505, "nodeType": "Block", - "src": "3626:80:44", + "src": "3626:80:46", "statements": [ { "expression": { @@ -7187,12 +7187,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3454, + "id": 3502, "name": "duration", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3216, - "src": "3690:8:44", + "referencedDeclaration": 3264, + "src": "3690:8:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7214,12 +7214,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3450, + "id": 3498, "name": "start", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3214, - "src": "3678:5:44", + "referencedDeclaration": 3262, + "src": "3678:5:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7237,18 +7237,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3447, + "id": 3495, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "3658:5:44", + "referencedDeclaration": 4869, + "src": "3658:5:46", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 3448, + "id": 3496, "isConstant": false, "isLValue": false, "isPure": false, @@ -7256,27 +7256,27 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3658:15:44", + "src": "3658:15:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3449, + "id": 3497, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 511, - "src": "3658:19:44", + "referencedDeclaration": 554, + "src": "3658:19:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3451, + "id": 3499, "isConstant": false, "isLValue": false, "isPure": false, @@ -7284,7 +7284,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3658:26:44", + "src": "3658:26:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7300,32 +7300,32 @@ ], "expression": { "argumentTypes": null, - "id": 3445, + "id": 3493, "name": "totalBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3416, - "src": "3641:12:44", + "referencedDeclaration": 3464, + "src": "3641:12:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3446, + "id": 3494, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 477, - "src": "3641:16:44", + "referencedDeclaration": 520, + "src": "3641:16:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3452, + "id": 3500, "isConstant": false, "isLValue": false, "isPure": false, @@ -7333,27 +7333,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3641:44:44", + "src": "3641:44:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3453, + "id": 3501, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 491, - "src": "3641:48:44", + "referencedDeclaration": 534, + "src": "3641:48:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3455, + "id": 3503, "isConstant": false, "isLValue": false, "isPure": false, @@ -7361,69 +7361,69 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3641:58:44", + "src": "3641:58:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 3407, - "id": 3456, + "functionReturnParameters": 3455, + "id": 3504, "nodeType": "Return", - "src": "3634:65:44" + "src": "3634:65:46" } ] }, - "id": 3458, + "id": 3506, "nodeType": "IfStatement", - "src": "3524:182:44", + "src": "3524:182:46", "trueBody": { - "id": 3444, + "id": 3492, "nodeType": "Block", - "src": "3586:34:44", + "src": "3586:34:46", "statements": [ { "expression": { "argumentTypes": null, - "id": 3442, + "id": 3490, "name": "totalBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3416, - "src": "3601:12:44", + "referencedDeclaration": 3464, + "src": "3601:12:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 3407, - "id": 3443, + "functionReturnParameters": 3455, + "id": 3491, "nodeType": "Return", - "src": "3594:19:44" + "src": "3594:19:46" } ] } }, - "id": 3459, + "id": 3507, "nodeType": "IfStatement", - "src": "3466:240:44", + "src": "3466:240:46", "trueBody": { - "id": 3430, + "id": 3478, "nodeType": "Block", - "src": "3495:23:44", + "src": "3495:23:46", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 3428, + "id": 3476, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3510:1:44", + "src": "3510:1:46", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7431,10 +7431,10 @@ }, "value": "0" }, - "functionReturnParameters": 3407, - "id": 3429, + "functionReturnParameters": 3455, + "id": 3477, "nodeType": "Return", - "src": "3503:8:44" + "src": "3503:8:46" } ] } @@ -7442,7 +7442,7 @@ ] }, "documentation": "@dev Calculates the amount that has already vested.\n@param token ERC20 token which is being vested", - "id": 3461, + "id": 3509, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -7450,31 +7450,31 @@ "name": "vestedAmount", "nodeType": "FunctionDefinition", "parameters": { - "id": 3404, + "id": 3452, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3403, + "id": 3451, "name": "token", "nodeType": "VariableDeclaration", - "scope": 3461, - "src": "3295:16:44", + "scope": 3509, + "src": "3295:16:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" }, "typeName": { "contractScope": null, - "id": 3402, + "id": 3450, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2511, - "src": "3295:10:44", + "referencedDeclaration": 2559, + "src": "3295:10:46", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$2511", + "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, @@ -7482,20 +7482,20 @@ "visibility": "internal" } ], - "src": "3294:18:44" + "src": "3294:18:46" }, "payable": false, "returnParameters": { - "id": 3407, + "id": 3455, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3406, + "id": 3454, "name": "", "nodeType": "VariableDeclaration", - "scope": 3461, - "src": "3334:7:44", + "scope": 3509, + "src": "3334:7:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7503,10 +7503,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3405, + "id": 3453, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3334:7:44", + "src": "3334:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7516,26 +7516,26 @@ "visibility": "internal" } ], - "src": "3333:9:44" + "src": "3333:9:46" }, - "scope": 3462, - "src": "3273:437:44", + "scope": 3510, + "src": "3273:437:46", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 3463, - "src": "468:3244:44" + "scope": 3511, + "src": "468:3244:46" } ], - "src": "48:3665:44" + "src": "48:3665:46" }, "compiler": { "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" + "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-08-23T14:35:50.654Z" + "schemaVersion": "2.0.0", + "updatedAt": "2018-08-27T20:45:00.217Z" } \ No newline at end of file diff --git a/contracts/introspection/ERC165.sol b/contracts/introspection/ERC165.sol new file mode 100644 index 000000000..46ff10eed --- /dev/null +++ b/contracts/introspection/ERC165.sol @@ -0,0 +1,20 @@ +pragma solidity ^0.4.21; + + +/** + * @title ERC165 + * @dev https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md + */ +interface ERC165 { + + /** + * @notice Query if a contract implements an interface + * @param _interfaceId The interface identifier, as specified in ERC-165 + * @dev Interface identification is specified in ERC-165. This function + * uses less than 30,000 gas. + */ + function supportsInterface(bytes4 _interfaceId) + external + view + returns (bool); +} diff --git a/contracts/introspection/ERC165Support.sol b/contracts/introspection/ERC165Support.sol new file mode 100644 index 000000000..f6b971607 --- /dev/null +++ b/contracts/introspection/ERC165Support.sol @@ -0,0 +1,32 @@ +pragma solidity ^0.4.21; + +import "./ERC165.sol"; + +/** + * @title ERC165Support + * @dev Implements ERC165 returning true for ERC165 interface identifier + */ +contract ERC165Support is ERC165 { + + bytes4 internal constant InterfaceId_ERC165 = 0x01ffc9a7; + /** + * 0x01ffc9a7 === + * bytes4(keccak256('supportsInterface(bytes4)')) + */ + + function supportsInterface(bytes4 _interfaceId) + external + view + returns (bool) + { + return _supportsInterface(_interfaceId); + } + + function _supportsInterface(bytes4 _interfaceId) + internal + view + returns (bool) + { + return _interfaceId == InterfaceId_ERC165; + } +} diff --git a/contracts/mocks/ERC721ReceiverMock.sol b/contracts/mocks/ERC721ReceiverMock.sol index ec9f02c11..f022b3544 100644 --- a/contracts/mocks/ERC721ReceiverMock.sol +++ b/contracts/mocks/ERC721ReceiverMock.sol @@ -7,15 +7,22 @@ contract ERC721ReceiverMock is ERC721Receiver { bytes4 retval; bool reverts; - event Received(address _address, uint256 _tokenId, bytes _data, uint256 _gas); + event Received( + address _operator, + address _from, + uint256 _tokenId, + bytes _data, + uint256 _gas + ); - function ERC721ReceiverMock(bytes4 _retval, bool _reverts) public { + constructor(bytes4 _retval, bool _reverts) public { retval = _retval; reverts = _reverts; } function onERC721Received( - address _address, + address _operator, + address _from, uint256 _tokenId, bytes _data ) @@ -24,7 +31,8 @@ contract ERC721ReceiverMock is ERC721Receiver { { require(!reverts); emit Received( - _address, + _operator, + _from, _tokenId, _data, gasleft() // msg.gas was deprecated in solidityv0.4.21 diff --git a/contracts/mocks/ERC721TokenMock.sol b/contracts/mocks/ERC721TokenMock.sol index 29bfe7439..0d3fee7f6 100644 --- a/contracts/mocks/ERC721TokenMock.sol +++ b/contracts/mocks/ERC721TokenMock.sol @@ -9,7 +9,7 @@ import "../token/ERC721/ERC721Token.sol"; * and a public setter for metadata URI */ contract ERC721TokenMock is ERC721Token { - function ERC721TokenMock(string name, string symbol) public { + constructor(string name, string symbol) public { ERC721Token.initialize(name, symbol); } diff --git a/contracts/token/ERC721/ERC721.sol b/contracts/token/ERC721/ERC721.sol index db8648c32..6edf774a9 100644 --- a/contracts/token/ERC721/ERC721.sol +++ b/contracts/token/ERC721/ERC721.sol @@ -9,7 +9,14 @@ import "./ERC721Basic.sol"; */ contract ERC721Enumerable is ERC721Basic { function totalSupply() public view returns (uint256); - function tokenOfOwnerByIndex(address _owner, uint256 _index) public view returns (uint256 _tokenId); + function tokenOfOwnerByIndex( + address _owner, + uint256 _index + ) + public + view + returns (uint256 _tokenId); + function tokenByIndex(uint256 _index) public view returns (uint256); } @@ -19,8 +26,8 @@ contract ERC721Enumerable is ERC721Basic { * @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md */ contract ERC721Metadata is ERC721Basic { - function name() public view returns (string _name); - function symbol() public view returns (string _symbol); + function name() external view returns (string _name); + function symbol() external view returns (string _symbol); function tokenURI(uint256 _tokenId) public view returns (string); } diff --git a/contracts/token/ERC721/ERC721Basic.sol b/contracts/token/ERC721/ERC721Basic.sol index 93c0e2588..5d455bc38 100644 --- a/contracts/token/ERC721/ERC721Basic.sol +++ b/contracts/token/ERC721/ERC721Basic.sol @@ -1,27 +1,45 @@ pragma solidity ^0.4.21; +import "../../introspection/ERC165.sol"; + /** * @title ERC721 Non-Fungible Token Standard basic interface * @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md */ -contract ERC721Basic { - event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId); - event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId); - event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved); +contract ERC721Basic is ERC165 { + event Transfer( + address indexed _from, + address indexed _to, + uint256 indexed _tokenId + ); + event Approval( + address indexed _owner, + address indexed _approved, + uint256 indexed _tokenId + ); + event ApprovalForAll( + address indexed _owner, + address indexed _operator, + bool _approved + ); function balanceOf(address _owner) public view returns (uint256 _balance); function ownerOf(uint256 _tokenId) public view returns (address _owner); function exists(uint256 _tokenId) public view returns (bool _exists); function approve(address _to, uint256 _tokenId) public; - function getApproved(uint256 _tokenId) public view returns (address _operator); + function getApproved(uint256 _tokenId) + public view returns (address _operator); function setApprovalForAll(address _operator, bool _approved) public; - function isApprovedForAll(address _owner, address _operator) public view returns (bool); + function isApprovedForAll(address _owner, address _operator) + public view returns (bool); function transferFrom(address _from, address _to, uint256 _tokenId) public; - function safeTransferFrom(address _from, address _to, uint256 _tokenId) public; + function safeTransferFrom(address _from, address _to, uint256 _tokenId) + public; + function safeTransferFrom( address _from, address _to, diff --git a/contracts/token/ERC721/ERC721BasicToken.sol b/contracts/token/ERC721/ERC721BasicToken.sol index b7bcc8297..81d9c2f59 100644 --- a/contracts/token/ERC721/ERC721BasicToken.sol +++ b/contracts/token/ERC721/ERC721BasicToken.sol @@ -4,19 +4,41 @@ import "./ERC721Basic.sol"; import "./ERC721Receiver.sol"; import "../../math/SafeMath.sol"; import "../../AddressUtils.sol"; +import "../../introspection/ERC165Support.sol"; /** * @title ERC721 Non-Fungible Token Standard basic implementation * @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md */ -contract ERC721BasicToken is ERC721Basic { +contract ERC721BasicToken is ERC165Support, ERC721Basic { + + bytes4 private constant InterfaceId_ERC721 = 0x80ac58cd; + /* + * 0x80ac58cd === + * bytes4(keccak256('balanceOf(address)')) ^ + * bytes4(keccak256('ownerOf(uint256)')) ^ + * bytes4(keccak256('approve(address,uint256)')) ^ + * bytes4(keccak256('getApproved(uint256)')) ^ + * bytes4(keccak256('setApprovalForAll(address,bool)')) ^ + * bytes4(keccak256('isApprovedForAll(address,address)')) ^ + * bytes4(keccak256('transferFrom(address,address,uint256)')) ^ + * bytes4(keccak256('safeTransferFrom(address,address,uint256)')) ^ + * bytes4(keccak256('safeTransferFrom(address,address,uint256,bytes)')) + */ + + bytes4 private constant InterfaceId_ERC721Exists = 0x4f558e79; + /* + * 0x4f558e79 === + * bytes4(keccak256('exists(uint256)')) + */ + using SafeMath for uint256; using AddressUtils for address; - // Equals to `bytes4(keccak256("onERC721Received(address,uint256,bytes)"))` + // Equals to `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))` // which can be also obtained as `ERC721Receiver(0).onERC721Received.selector` - bytes4 constant ERC721_RECEIVED = 0xf0b9e5ba; + bytes4 private constant ERC721_RECEIVED = 0x150b7a02; // Mapping from token ID to owner mapping (uint256 => address) internal tokenOwner; @@ -48,6 +70,15 @@ contract ERC721BasicToken is ERC721Basic { _; } + function _supportsInterface(bytes4 _interfaceId) + internal + view + returns (bool) + { + return super._supportsInterface(_interfaceId) || + _interfaceId == InterfaceId_ERC721 || _interfaceId == InterfaceId_ERC721Exists; + } + /** * @dev Gets the balance of the specified address * @param _owner address to query the balance of @@ -71,7 +102,7 @@ contract ERC721BasicToken is ERC721Basic { /** * @dev Returns whether the specified token exists - * @param _tokenId uint256 ID of the token to query the existance of + * @param _tokenId uint256 ID of the token to query the existence of * @return whether the token exists */ function exists(uint256 _tokenId) public view returns (bool) { @@ -81,9 +112,9 @@ contract ERC721BasicToken is ERC721Basic { /** * @dev Approves another address to transfer the given token ID - * @dev The zero address indicates there is no approved address. - * @dev There can only be one approved address per token at a given time. - * @dev Can only be called by the token owner or an approved operator. + * 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. * @param _to address to be approved for the given token ID * @param _tokenId uint256 ID of the token to be approved */ @@ -92,16 +123,14 @@ contract ERC721BasicToken is ERC721Basic { require(_to != owner); require(msg.sender == owner || isApprovedForAll(owner, msg.sender)); - if (getApproved(_tokenId) != address(0) || _to != address(0)) { - tokenApprovals[_tokenId] = _to; - emit Approval(owner, _to, _tokenId); - } + tokenApprovals[_tokenId] = _to; + emit Approval(owner, _to, _tokenId); } /** * @dev Gets the approved address for a token ID, or zero if no address set * @param _tokenId uint256 ID of the token to query the approval of - * @return address currently approved for a the given token ID + * @return address currently approved for the given token ID */ function getApproved(uint256 _tokenId) public view returns (address) { return tokenApprovals[_tokenId]; @@ -109,7 +138,7 @@ contract ERC721BasicToken is ERC721Basic { /** * @dev Sets or unsets the approval of a given operator - * @dev An operator is allowed to transfer all tokens of the sender on their behalf + * An operator is allowed to transfer all tokens of the sender on their behalf * @param _to operator address to set the approval * @param _approved representing the status of the approval to be set */ @@ -125,19 +154,33 @@ contract ERC721BasicToken is ERC721Basic { * @param _operator operator address which you want to query the approval of * @return bool whether the given operator is approved by the given owner */ - function isApprovedForAll(address _owner, address _operator) public view returns (bool) { + function isApprovedForAll( + address _owner, + address _operator + ) + public + view + returns (bool) + { return operatorApprovals[_owner][_operator]; } /** * @dev Transfers the ownership of a given token ID to another address - * @dev Usage of this method is discouraged, use `safeTransferFrom` whenever possible - * @dev Requires the msg sender to be the owner, approved, or operator + * Usage of this method is discouraged, use `safeTransferFrom` whenever possible + * Requires the msg sender to be the owner, approved, or operator * @param _from current owner of the token * @param _to address to receive the ownership of the given token ID * @param _tokenId uint256 ID of the token to be transferred */ - function transferFrom(address _from, address _to, uint256 _tokenId) public canTransfer(_tokenId) { + function transferFrom( + address _from, + address _to, + uint256 _tokenId + ) + public + canTransfer(_tokenId) + { require(_from != address(0)); require(_to != address(0)); @@ -150,11 +193,12 @@ contract ERC721BasicToken is ERC721Basic { /** * @dev Safely transfers the ownership of a given token ID to another address - * @dev If the target address is a contract, it must implement `onERC721Received`, - * which is called upon a safe transfer, and return the magic value - * `bytes4(keccak256("onERC721Received(address,uint256,bytes)"))`; otherwise, - * the transfer is reverted. - * @dev Requires the msg sender to be the owner, approved, or operator + * If the target address is a contract, it must implement `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 * @param _from current owner of the token * @param _to address to receive the ownership of the given token ID * @param _tokenId uint256 ID of the token to be transferred @@ -173,11 +217,11 @@ contract ERC721BasicToken is ERC721Basic { /** * @dev Safely transfers the ownership of a given token ID to another address - * @dev If the target address is a contract, it must implement `onERC721Received`, - * which is called upon a safe transfer, and return the magic value - * `bytes4(keccak256("onERC721Received(address,uint256,bytes)"))`; otherwise, - * the transfer is reverted. - * @dev Requires the msg sender to be the owner, approved, or operator + * If the target address is a contract, it must implement `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 * @param _from current owner of the token * @param _to address to receive the ownership of the given token ID * @param _tokenId uint256 ID of the token to be transferred @@ -204,14 +248,28 @@ contract ERC721BasicToken is ERC721Basic { * @return bool whether the msg.sender is approved for the given token ID, * is an operator of the owner, or is the owner of the token */ - function isApprovedOrOwner(address _spender, uint256 _tokenId) internal view returns (bool) { + function isApprovedOrOwner( + address _spender, + uint256 _tokenId + ) + internal + view + returns (bool) + { address owner = ownerOf(_tokenId); - return _spender == owner || getApproved(_tokenId) == _spender || isApprovedForAll(owner, _spender); + // Disable solium check because of + // https://github.com/duaraghav8/Solium/issues/175 + // solium-disable-next-line operator-whitespace + return ( + _spender == owner || + getApproved(_tokenId) == _spender || + isApprovedForAll(owner, _spender) + ); } /** * @dev Internal function to mint a new token - * @dev Reverts if the given token ID already exists + * Reverts if the given token ID already exists * @param _to The address that will own the minted token * @param _tokenId uint256 ID of the token to be minted by the msg.sender */ @@ -223,7 +281,7 @@ contract ERC721BasicToken is ERC721Basic { /** * @dev Internal function to burn a specific token - * @dev Reverts if the token does not exist + * Reverts if the token does not exist * @param _tokenId uint256 ID of the token being burned by the msg.sender */ function _burn(address _owner, uint256 _tokenId) internal { @@ -234,7 +292,7 @@ contract ERC721BasicToken is ERC721Basic { /** * @dev Internal function to clear current approval of a given token ID - * @dev Reverts if the given address is not indeed the owner of the token + * Reverts if the given address is not indeed the owner of the token * @param _owner owner of the token * @param _tokenId uint256 ID of the token to be transferred */ @@ -242,7 +300,6 @@ contract ERC721BasicToken is ERC721Basic { require(ownerOf(_tokenId) == _owner); if (tokenApprovals[_tokenId] != address(0)) { tokenApprovals[_tokenId] = address(0); - emit Approval(_owner, address(0), _tokenId); } } @@ -270,7 +327,7 @@ contract ERC721BasicToken is ERC721Basic { /** * @dev Internal function to invoke `onERC721Received` on a target address - * @dev The call is not executed if the target address is not a contract + * The call is not executed if the target address is not a contract * @param _from address representing the previous owner of the given token ID * @param _to target address that will receive the tokens * @param _tokenId uint256 ID of the token to be transferred @@ -289,7 +346,8 @@ contract ERC721BasicToken is ERC721Basic { if (!_to.isContract()) { return true; } - bytes4 retval = ERC721Receiver(_to).onERC721Received(_from, _tokenId, _data); + bytes4 retval = ERC721Receiver(_to).onERC721Received( + msg.sender, _from, _tokenId, _data); return (retval == ERC721_RECEIVED); } } diff --git a/contracts/token/ERC721/ERC721Holder.sol b/contracts/token/ERC721/ERC721Holder.sol index d60a11bf8..b5a30b64f 100644 --- a/contracts/token/ERC721/ERC721Holder.sol +++ b/contracts/token/ERC721/ERC721Holder.sol @@ -4,7 +4,7 @@ import "./ERC721Receiver.sol"; contract ERC721Holder is ERC721Receiver { - function onERC721Received(address, uint256, bytes) public returns(bytes4) { + function onERC721Received(address, address, uint256, bytes) public returns(bytes4) { return ERC721_RECEIVED; } } diff --git a/contracts/token/ERC721/ERC721Receiver.sol b/contracts/token/ERC721/ERC721Receiver.sol index 2364b1f52..7866d9201 100644 --- a/contracts/token/ERC721/ERC721Receiver.sol +++ b/contracts/token/ERC721/ERC721Receiver.sol @@ -4,27 +4,35 @@ pragma solidity ^0.4.21; /** * @title ERC721 token receiver interface * @dev Interface for any contract that wants to support safeTransfers - * from ERC721 asset contracts. + * from ERC721 asset contracts. */ contract ERC721Receiver { /** * @dev Magic value to be returned upon successful reception of an NFT - * Equals to `bytes4(keccak256("onERC721Received(address,uint256,bytes)"))`, + * Equals to `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`, * which can be also obtained as `ERC721Receiver(0).onERC721Received.selector` */ - bytes4 constant ERC721_RECEIVED = 0xf0b9e5ba; + bytes4 internal constant ERC721_RECEIVED = 0x150b7a02; /** * @notice Handle the receipt of an NFT * @dev The ERC721 smart contract calls this function on the recipient - * after a `safetransfer`. This function MAY throw to revert and reject the - * transfer. This function MUST use 50,000 gas or less. Return of other - * than the magic value MUST result in the transaction being reverted. - * Note: the contract address is always the message sender. - * @param _from The sending address + * after a `safetransfer`. This function MAY throw to revert and reject the + * transfer. Return of other than the magic value MUST result in the + * transaction being reverted. + * Note: the contract address is always the message sender. + * @param _operator The address which called `safeTransferFrom` function + * @param _from The address which previously owned the token * @param _tokenId The NFT identifier which is being transfered * @param _data Additional data with no specified format - * @return `bytes4(keccak256("onERC721Received(address,uint256,bytes)"))` + * @return `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))` */ - function onERC721Received(address _from, uint256 _tokenId, bytes _data) public returns(bytes4); + function onERC721Received( + address _operator, + address _from, + uint256 _tokenId, + bytes _data + ) + public + returns(bytes4); } diff --git a/contracts/token/ERC721/ERC721Token.sol b/contracts/token/ERC721/ERC721Token.sol index fa704bca2..1324263e7 100644 --- a/contracts/token/ERC721/ERC721Token.sol +++ b/contracts/token/ERC721/ERC721Token.sol @@ -2,6 +2,7 @@ pragma solidity ^0.4.21; import "./ERC721.sol"; import "./ERC721BasicToken.sol"; +import "../../introspection/ERC165.sol"; import "zos-lib/contracts/migrations/Migratable.sol"; @@ -11,7 +12,24 @@ import "zos-lib/contracts/migrations/Migratable.sol"; * Moreover, it includes approve all functionality using operator terminology * @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md */ -contract ERC721Token is Migratable, ERC721, ERC721BasicToken { +contract ERC721Token is Migratable, ERC165Support, ERC721BasicToken, ERC721 { + + bytes4 private constant InterfaceId_ERC721Enumerable = 0x780e9d63; + /** + * 0x780e9d63 === + * bytes4(keccak256('totalSupply()')) ^ + * bytes4(keccak256('tokenOfOwnerByIndex(address,uint256)')) ^ + * bytes4(keccak256('tokenByIndex(uint256)')) + */ + + bytes4 private constant InterfaceId_ERC721Metadata = 0x5b5e139f; + /** + * 0x5b5e139f === + * bytes4(keccak256('name()')) ^ + * bytes4(keccak256('symbol()')) ^ + * bytes4(keccak256('tokenURI(uint256)')) + */ + // Token name string internal name_; @@ -19,7 +37,7 @@ contract ERC721Token is Migratable, ERC721, ERC721BasicToken { string internal symbol_; // Mapping from owner to list of owned token IDs - mapping (address => uint256[]) internal ownedTokens; + mapping(address => uint256[]) internal ownedTokens; // Mapping from token ID to index of the owner tokens list mapping(uint256 => uint256) internal ownedTokensIndex; @@ -41,11 +59,20 @@ contract ERC721Token is Migratable, ERC721, ERC721BasicToken { symbol_ = _symbol; } + function _supportsInterface(bytes4 _interfaceId) + internal + view + returns (bool) + { + return super._supportsInterface(_interfaceId) || + _interfaceId == InterfaceId_ERC721Enumerable || _interfaceId == InterfaceId_ERC721Metadata; + } + /** * @dev Gets the token name * @return string representing the token name */ - function name() public view returns (string) { + function name() external view returns (string) { return name_; } @@ -53,13 +80,13 @@ contract ERC721Token is Migratable, ERC721, ERC721BasicToken { * @dev Gets the token symbol * @return string representing the token symbol */ - function symbol() public view returns (string) { + function symbol() external view returns (string) { return symbol_; } /** * @dev Returns an URI for a given token ID - * @dev Throws if the token ID does not exist. May return an empty string. + * Throws if the token ID does not exist. May return an empty string. * @param _tokenId uint256 ID of the token to query */ function tokenURI(uint256 _tokenId) public view returns (string) { @@ -73,7 +100,14 @@ contract ERC721Token is Migratable, ERC721, ERC721BasicToken { * @param _index uint256 representing the index to be accessed of the requested tokens list * @return uint256 token ID at the given index of the tokens list owned by the requested address */ - function tokenOfOwnerByIndex(address _owner, uint256 _index) public view returns (uint256) { + function tokenOfOwnerByIndex( + address _owner, + uint256 _index + ) + public + view + returns (uint256) + { require(_index < balanceOf(_owner)); return ownedTokens[_owner][_index]; } @@ -88,7 +122,7 @@ contract ERC721Token is Migratable, ERC721, ERC721BasicToken { /** * @dev Gets the token ID at a given index of all the tokens in this contract - * @dev Reverts if the index is greater or equal to the total number of tokens + * Reverts if the index is greater or equal to the total number of tokens * @param _index uint256 representing the index to be accessed of the tokens list * @return uint256 token ID at the given index of the tokens list */ @@ -99,7 +133,7 @@ contract ERC721Token is Migratable, ERC721, ERC721BasicToken { /** * @dev Internal function to set the token URI for a given token - * @dev Reverts if the token ID does not exist + * Reverts if the token ID does not exist * @param _tokenId uint256 ID of the token to set its URI * @param _uri string URI to assign */ @@ -145,7 +179,7 @@ contract ERC721Token is Migratable, ERC721, ERC721BasicToken { /** * @dev Internal function to mint a new token - * @dev Reverts if the given token ID already exists + * Reverts if the given token ID already exists * @param _to address the beneficiary that will own the minted token * @param _tokenId uint256 ID of the token to be minted by the msg.sender */ @@ -158,7 +192,7 @@ contract ERC721Token is Migratable, ERC721, ERC721BasicToken { /** * @dev Internal function to burn a specific token - * @dev Reverts if the token does not exist + * Reverts if the token does not exist * @param _owner owner of the token to burn * @param _tokenId uint256 ID of the token being burned by the msg.sender */ diff --git a/test/helpers/makeInterfaceId.js b/test/helpers/makeInterfaceId.js new file mode 100644 index 000000000..e87db67b9 --- /dev/null +++ b/test/helpers/makeInterfaceId.js @@ -0,0 +1,21 @@ +import { soliditySha3 } from 'web3-utils'; + +const INTERFACE_ID_LENGTH = 4; + +export default (interfaces = []) => { + const interfaceIdBuffer = interfaces + .map(methodSignature => soliditySha3(methodSignature)) // keccak256 + .map(h => + Buffer + .from(h.substring(2), 'hex') + .slice(0, 4) // bytes4() + ) + .reduce((memo, bytes) => { + for (let i = 0; i < INTERFACE_ID_LENGTH; i++) { + memo[i] = memo[i] ^ bytes[i]; // xor + } + return memo; + }, Buffer.alloc(INTERFACE_ID_LENGTH)); + + return `0x${interfaceIdBuffer.toString('hex')}`; +}; diff --git a/test/introspection/SupportsInterface.behavior.js b/test/introspection/SupportsInterface.behavior.js new file mode 100644 index 000000000..6e49456db --- /dev/null +++ b/test/introspection/SupportsInterface.behavior.js @@ -0,0 +1,54 @@ +import makeInterfaceId from '../helpers/makeInterfaceId'; + +const INTERFACE_IDS = { + ERC165: makeInterfaceId([ + 'supportsInterface(bytes4)', + ]), + ERC721: makeInterfaceId([ + 'balanceOf(address)', + 'ownerOf(uint256)', + 'approve(address,uint256)', + 'getApproved(uint256)', + 'setApprovalForAll(address,bool)', + 'isApprovedForAll(address,address)', + 'transferFrom(address,address,uint256)', + 'safeTransferFrom(address,address,uint256)', + 'safeTransferFrom(address,address,uint256,bytes)', + ]), + ERC721Enumerable: makeInterfaceId([ + 'totalSupply()', + 'tokenOfOwnerByIndex(address,uint256)', + 'tokenByIndex(uint256)', + ]), + ERC721Metadata: makeInterfaceId([ + 'name()', + 'symbol()', + 'tokenURI(uint256)', + ]), + ERC721Exists: makeInterfaceId([ + 'exists(uint256)', + ]), +}; + +export default function (interfaces = []) { + describe('ERC165\'s supportsInterface(bytes4)', function () { + beforeEach(function () { + this.thing = this.mock || this.token; + }); + + for (let k of interfaces) { + const interfaceId = INTERFACE_IDS[k]; + describe(k, function () { + it('should use less than 30k gas', async function () { + const gasEstimate = await this.thing.supportsInterface.estimateGas(interfaceId); + gasEstimate.should.be.lte(30000); + }); + + it('is supported', async function () { + const isSupported = await this.thing.supportsInterface(interfaceId); + isSupported.should.eq(true); + }); + }); + } + }); +} diff --git a/test/token/ERC721/ERC721BasicToken.behaviour.js b/test/token/ERC721/ERC721BasicToken.behaviour.js index 82df92542..35f04af76 100644 --- a/test/token/ERC721/ERC721BasicToken.behaviour.js +++ b/test/token/ERC721/ERC721BasicToken.behaviour.js @@ -1,3 +1,4 @@ +import shouldSupportInterfaces from '../../introspection/SupportsInterface.behavior'; import assertRevert from '../../helpers/assertRevert'; import decodeLogs from '../../helpers/decodeLogs'; import sendTransaction from '../../helpers/sendTransaction'; @@ -17,30 +18,30 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { const unknownTokenId = 3; const creator = accounts[0]; const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; - const RECEIVER_MAGIC_VALUE = '0xf0b9e5ba'; + const RECEIVER_MAGIC_VALUE = '0x150b7a02'; - describe('like a ERC721BasicToken', function () { + describe('like an ERC721BasicToken', function () { beforeEach(async function () { await this.token.mint(creator, firstTokenId, { from: creator }); await this.token.mint(creator, secondTokenId, { from: creator }); }); describe('balanceOf', function () { - describe('when the given address owns some tokens', function () { + context('when the given address owns some tokens', function () { it('returns the amount of tokens owned by the given address', async function () { const balance = await this.token.balanceOf(creator); balance.should.be.bignumber.equal(2); }); }); - describe('when the given address does not own any tokens', function () { + context('when the given address does not own any tokens', function () { it('returns 0', async function () { const balance = await this.token.balanceOf(accounts[1]); balance.should.be.bignumber.equal(0); }); }); - describe('when querying the zero address', function () { + context('when querying the zero address', function () { it('throws', async function () { await assertRevert(this.token.balanceOf(0)); }); @@ -48,7 +49,7 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { }); describe('exists', function () { - describe('when the token exists', function () { + context('when the token exists', function () { const tokenId = firstTokenId; it('should return true', async function () { @@ -57,7 +58,7 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { }); }); - describe('when the token does not exist', function () { + context('when the token does not exist', function () { const tokenId = unknownTokenId; it('should return false', async function () { @@ -68,7 +69,7 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { }); describe('ownerOf', function () { - describe('when the given token ID was tracked by this token', function () { + context('when the given token ID was tracked by this token', function () { const tokenId = firstTokenId; it('returns the owner of the given token ID', async function () { @@ -77,7 +78,7 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { }); }); - describe('when the given token ID was not tracked by this token', function () { + context('when the given token ID was not tracked by this token', function () { const tokenId = unknownTokenId; it('reverts', async function () { @@ -93,7 +94,7 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { const unauthorized = accounts[4]; const tokenId = firstTokenId; const data = '0x42'; - + let logs = null; beforeEach(async function () { @@ -114,17 +115,12 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { }); if (approved) { - it('emits an approval and transfer events', async function () { - logs.length.should.be.equal(2); - logs[0].event.should.be.eq('Approval'); - logs[0].args._owner.should.be.equal(owner); - logs[0].args._approved.should.be.equal(ZERO_ADDRESS); + it('emit only a transfer event', async function () { + logs.length.should.be.equal(1); + logs[0].event.should.be.eq('Transfer'); + logs[0].args._from.should.be.equal(owner); + logs[0].args._to.should.be.equal(this.to); logs[0].args._tokenId.should.be.bignumber.equal(tokenId); - - logs[1].event.should.be.eq('Transfer'); - logs[1].args._from.should.be.equal(owner); - logs[1].args._to.should.be.equal(this.to); - logs[1].args._tokenId.should.be.bignumber.equal(tokenId); }); } else { it('emits only a transfer event', async function () { @@ -149,35 +145,35 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { const newOwnerToken = await this.token.tokenOfOwnerByIndex(this.to, 0); newOwnerToken.toNumber().should.be.equal(tokenId); - + const previousOwnerToken = await this.token.tokenOfOwnerByIndex(owner, 0); previousOwnerToken.toNumber().should.not.be.equal(tokenId); }); }; const shouldTransferTokensByUsers = function (transferFunction) { - describe('when called by the owner', function () { + context('when called by the owner', function () { beforeEach(async function () { ({ logs } = await transferFunction.call(this, owner, this.to, tokenId, { from: owner })); }); transferWasSuccessful({ owner, tokenId, approved }); }); - describe('when called by the approved individual', function () { + context('when called by the approved individual', function () { beforeEach(async function () { ({ logs } = await transferFunction.call(this, owner, this.to, tokenId, { from: approved })); }); transferWasSuccessful({ owner, tokenId, approved }); }); - describe('when called by the operator', function () { + context('when called by the operator', function () { beforeEach(async function () { ({ logs } = await transferFunction.call(this, owner, this.to, tokenId, { from: operator })); }); transferWasSuccessful({ owner, tokenId, approved }); }); - describe('when called by the owner without an approved user', function () { + context('when called by the owner without an approved user', function () { beforeEach(async function () { await this.token.approve(ZERO_ADDRESS, tokenId, { from: owner }); ({ logs } = await transferFunction.call(this, owner, this.to, tokenId, { from: operator })); @@ -185,7 +181,7 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { transferWasSuccessful({ owner, tokenId, approved: null }); }); - describe('when sent to the owner', function () { + context('when sent to the owner', function () { beforeEach(async function () { ({ logs } = await transferFunction.call(this, owner, owner, tokenId, { from: owner })); }); @@ -194,56 +190,51 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { const newOwner = await this.token.ownerOf(tokenId); newOwner.should.be.equal(owner); }); - + it('clears the approval for the token ID', async function () { const approvedAccount = await this.token.getApproved(tokenId); approvedAccount.should.be.equal(ZERO_ADDRESS); }); - - it('emits an approval and transfer events', async function () { - logs.length.should.be.equal(2); - logs[0].event.should.be.eq('Approval'); - logs[0].args._owner.should.be.equal(owner); - logs[0].args._approved.should.be.equal(ZERO_ADDRESS); + + it('emits only a transfer event', async function () { + logs.length.should.be.equal(1); + logs[0].event.should.be.eq('Transfer'); + logs[0].args._from.should.be.equal(owner); + logs[0].args._to.should.be.equal(owner); logs[0].args._tokenId.should.be.bignumber.equal(tokenId); - - logs[1].event.should.be.eq('Transfer'); - logs[1].args._from.should.be.equal(owner); - logs[1].args._to.should.be.equal(owner); - logs[1].args._tokenId.should.be.bignumber.equal(tokenId); }); - + it('keeps the owner balance', async function () { const ownerBalance = await this.token.balanceOf(owner); ownerBalance.should.be.bignumber.equal(2); }); - + it('keeps same tokens by index', async function () { if (!this.token.tokenOfOwnerByIndex) return; const tokensListed = await Promise.all(_.range(2).map(i => this.token.tokenOfOwnerByIndex(owner, i))); tokensListed.map(t => t.toNumber()).should.have.members([firstTokenId, secondTokenId]); }); }); - - describe('when the address of the previous owner is incorrect', function () { + + context('when the address of the previous owner is incorrect', function () { it('reverts', async function () { await assertRevert(transferFunction.call(this, unauthorized, this.to, tokenId, { from: owner })); }); }); - describe('when the sender is not authorized for the token id', function () { + context('when the sender is not authorized for the token id', function () { it('reverts', async function () { await assertRevert(transferFunction.call(this, owner, this.to, tokenId, { from: unauthorized })); }); }); - describe('when the given token ID does not exist', function () { + context('when the given token ID does not exist', function () { it('reverts', async function () { await assertRevert(transferFunction.call(this, owner, this.to, unknownTokenId, { from: owner })); }); }); - describe('when the address to transfer the token to is the zero address', function () { + context('when the address to transfer the token to is the zero address', function () { it('reverts', async function () { await assertRevert(transferFunction.call(this, owner, ZERO_ADDRESS, tokenId, { from: owner })); }); @@ -275,24 +266,50 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { describe('to a user account', function () { shouldTransferTokensByUsers(transferFun); }); - + describe('to a valid receiver contract', function () { beforeEach(async function () { this.receiver = await ERC721Receiver.new(RECEIVER_MAGIC_VALUE, false); this.to = this.receiver.address; }); - + shouldTransferTokensByUsers(transferFun); - + it('should call onERC721Received', async function () { const result = await transferFun.call(this, owner, this.to, tokenId, { from: owner }); - result.receipt.logs.length.should.be.equal(3); - const [log] = decodeLogs([result.receipt.logs[2]], ERC721Receiver, this.receiver.address); + result.receipt.logs.length.should.be.equal(2); + const [log] = decodeLogs([result.receipt.logs[1]], ERC721Receiver, this.receiver.address); log.event.should.be.eq('Received'); - log.args._address.should.be.equal(owner); + log.args._operator.should.be.equal(owner); + log.args._from.should.be.equal(owner); log.args._tokenId.toNumber().should.be.equal(tokenId); log.args._data.should.be.equal(data); }); + + it('should call onERC721Received from approved', async function () { + const result = await transferFun.call(this, owner, this.to, tokenId, { from: approved }); + result.receipt.logs.length.should.be.equal(2); + const [log] = decodeLogs([result.receipt.logs[1]], ERC721Receiver, this.receiver.address); + log.event.should.be.eq('Received'); + log.args._operator.should.be.equal(approved); + log.args._from.should.be.equal(owner); + log.args._tokenId.toNumber().should.be.equal(tokenId); + log.args._data.should.be.equal(data); + }); + + describe('with an invalid token id', function () { + it('reverts', async function () { + await assertRevert( + transferFun.call( + this, + owner, + this.to, + unknownTokenId, + { from: owner }, + ) + ); + }); + }); }); }; @@ -357,21 +374,18 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { logs[0].args._tokenId.should.be.bignumber.equal(tokenId); }); }; - - describe('when clearing approval', function () { - describe('when there was no prior approval', function () { + + context('when clearing approval', function () { + context('when there was no prior approval', function () { beforeEach(async function () { ({ logs } = await this.token.approve(ZERO_ADDRESS, tokenId, { from: sender })); }); itClearsApproval(); - - it('does not emit an approval event', async function () { - logs.length.should.be.equal(0); - }); + itEmitsApprovalEvent(ZERO_ADDRESS); }); - - describe('when there was a prior approval', function () { + + context('when there was a prior approval', function () { beforeEach(async function () { await this.token.approve(to, tokenId, { from: sender }); ({ logs } = await this.token.approve(ZERO_ADDRESS, tokenId, { from: sender })); @@ -382,8 +396,8 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { }); }); - describe('when approving a non-zero address', function () { - describe('when there was no prior approval', function () { + context('when approving a non-zero address', function () { + context('when there was no prior approval', function () { beforeEach(async function () { ({ logs } = await this.token.approve(to, tokenId, { from: sender })); }); @@ -392,7 +406,7 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { itEmitsApprovalEvent(to); }); - describe('when there was a prior approval to the same address', function () { + context('when there was a prior approval to the same address', function () { beforeEach(async function () { await this.token.approve(to, tokenId, { from: sender }); ({ logs } = await this.token.approve(to, tokenId, { from: sender })); @@ -402,7 +416,7 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { itEmitsApprovalEvent(to); }); - describe('when there was a prior approval to a different address', function () { + context('when there was a prior approval to a different address', function () { beforeEach(async function () { await this.token.approve(accounts[2], tokenId, { from: sender }); ({ logs } = await this.token.approve(to, tokenId, { from: sender })); @@ -413,26 +427,26 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { }); }); - describe('when the address that receives the approval is the owner', function () { + context('when the address that receives the approval is the owner', function () { it('reverts', async function () { await assertRevert(this.token.approve(sender, tokenId, { from: sender })); }); }); - - describe('when the sender does not own the given token ID', function () { + + context('when the sender does not own the given token ID', function () { it('reverts', async function () { await assertRevert(this.token.approve(to, tokenId, { from: accounts[2] })); }); }); - describe('when the sender is approved for the given token ID', function () { + context('when the sender is approved for the given token ID', function () { it('reverts', async function () { await this.token.approve(accounts[2], tokenId, { from: sender }); await assertRevert(this.token.approve(to, tokenId, { from: accounts[2] })); }); }); - describe('when the sender is an operator', function () { + context('when the sender is an operator', function () { const operator = accounts[2]; beforeEach(async function () { await this.token.setApprovalForAll(operator, true, { from: sender }); @@ -443,7 +457,7 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { itEmitsApprovalEvent(to); }); - describe('when the given token ID does not exist', function () { + context('when the given token ID does not exist', function () { it('reverts', async function () { await assertRevert(this.token.approve(to, unknownTokenId, { from: sender })); }); @@ -453,10 +467,10 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { describe('setApprovalForAll', function () { const sender = creator; - describe('when the operator willing to approve is not the owner', function () { + context('when the operator willing to approve is not the owner', function () { const operator = accounts[1]; - describe('when there is no operator approval set by the sender', function () { + context('when there is no operator approval set by the sender', function () { it('approves the operator', async function () { await this.token.setApprovalForAll(operator, true, { from: sender }); @@ -475,7 +489,7 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { }); }); - describe('when the operator was set as not approved', function () { + context('when the operator was set as not approved', function () { beforeEach(async function () { await this.token.setApprovalForAll(operator, false, { from: sender }); }); @@ -505,7 +519,7 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { }); }); - describe('when the operator was already approved', function () { + context('when the operator was already approved', function () { beforeEach(async function () { await this.token.setApprovalForAll(operator, true, { from: sender }); }); @@ -529,7 +543,7 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { }); }); - describe('when the operator is the owner', function () { + context('when the operator is the owner', function () { const operator = creator; it('reverts', async function () { @@ -537,5 +551,11 @@ export default function shouldBehaveLikeERC721BasicToken (accounts) { }); }); }); + + shouldSupportInterfaces([ + 'ERC165', + 'ERC721', + 'ERC721Exists', + ]); }); }; diff --git a/test/token/ERC721/ERC721MintBurn.behaviour.js b/test/token/ERC721/ERC721MintBurn.behaviour.js index e0a033d50..b2ab6a988 100644 --- a/test/token/ERC721/ERC721MintBurn.behaviour.js +++ b/test/token/ERC721/ERC721MintBurn.behaviour.js @@ -99,17 +99,6 @@ export default function shouldMintAndBurnERC721Token (accounts) { const approvedAccount = await this.token.getApproved(tokenId); approvedAccount.should.be.equal(ZERO_ADDRESS); }); - - it('emits an approval event', async function () { - logs.length.should.be.equal(2); - - logs[0].event.should.be.eq('Approval'); - logs[0].args._owner.should.be.equal(sender); - logs[0].args._approved.should.be.equal(ZERO_ADDRESS); - logs[0].args._tokenId.should.be.bignumber.equal(tokenId); - - logs[1].event.should.be.eq('Transfer'); - }); }); describe('when the given token ID was not tracked by this contract', function () { diff --git a/test/token/ERC721/ERC721Token.test.js b/test/token/ERC721/ERC721Token.test.js index 46e0cfc68..0f50d90e0 100644 --- a/test/token/ERC721/ERC721Token.test.js +++ b/test/token/ERC721/ERC721Token.test.js @@ -1,6 +1,7 @@ import assertRevert from '../../helpers/assertRevert'; import shouldBehaveLikeERC721BasicToken from './ERC721BasicToken.behaviour'; import shouldMintAndBurnERC721Token from './ERC721MintBurn.behaviour'; +import shouldSupportInterfaces from '../../introspection/SupportsInterface.behavior'; import _ from 'lodash'; const BigNumber = web3.BigNumber; @@ -75,7 +76,7 @@ contract('ERC721Token', function (accounts) { await assertRevert(this.token.tokenByIndex(0)); }); }); - + describe('metadata', function () { const sampleUri = 'mock://mytoken'; @@ -122,7 +123,7 @@ contract('ERC721Token', function (accounts) { describe('tokenOfOwnerByIndex', function () { const owner = creator; const another = accounts[1]; - + describe('when the given index is lower than the amount of tokens owned by the given address', function () { it('returns the token ID placed at the given index', async function () { const tokenId = await this.token.tokenOfOwnerByIndex(owner, 0); @@ -178,14 +179,14 @@ contract('ERC721Token', function (accounts) { const owner = accounts[0]; const newTokenId = 300; const anotherNewTokenId = 400; - + await this.token.burn(tokenId, { from: owner }); await this.token.mint(owner, newTokenId, { from: owner }); await this.token.mint(owner, anotherNewTokenId, { from: owner }); - + const count = await this.token.totalSupply(); count.toNumber().should.be.equal(3); - + const tokensListed = await Promise.all(_.range(3).map(i => this.token.tokenByIndex(i))); const expectedTokens = _.filter( [firstTokenId, secondTokenId, newTokenId, anotherNewTokenId], @@ -196,4 +197,12 @@ contract('ERC721Token', function (accounts) { }); }); }); + + shouldSupportInterfaces([ + 'ERC165', + 'ERC721', + 'ERC721Exists', + 'ERC721Enumerable', + 'ERC721Metadata', + ]); });